diff options
| author | ranke <ranke@5fad18fb-23f0-0310-ab10-e59a3bee62b4> | 2015-08-22 09:29:17 +0000 | 
|---|---|---|
| committer | ranke <ranke@5fad18fb-23f0-0310-ab10-e59a3bee62b4> | 2015-08-22 09:29:17 +0000 | 
| commit | ae12e32d074ba3839c1b71d500d9a0757b0d8d10 (patch) | |
| tree | ffd6800812fd3f5a2cfa277d5177ecfc77f14e92 | |
| parent | d8d6012e98fb4c7f158bcc7c173407c2b5f3e42e (diff) | |
Add static HTML documentation
git-svn-id: http://kriemhild.uft.uni-bremen.de/svn/chemCal@37 5fad18fb-23f0-0310-ab10-e59a3bee62b4
30 files changed, 9204 insertions, 173 deletions
| diff --git a/DESCRIPTION b/DESCRIPTION index 2608804..cf14423 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,9 +1,9 @@  Package: chemCal -Version: 0.1-35 -Date: 2015-07-02 +Version: 0.1-35.900 +Date: 2015-08-22  Title: Calibration functions for analytical chemistry -Author: Johannes Ranke <jranke@uni-bremen.de> -Maintainer: Johannes Ranke <jranke@uni-bremen.de> +Authors@R: c(person("Johannes", "Ranke", role = c("aut", "cre", "cph"),  +                    email = "jranke@uni-bremen.de"))  Suggests: MASS  Description: chemCal provides simple functions for plotting linear  	calibration functions and estimating standard errors for measurements diff --git a/GNUmakefile b/GNUmakefile index 803c503..a2d88be 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -55,3 +55,8 @@ check: build  check-no-vignettes: build-no-vignettes  	cd ..;\  		"$(RBIN)/R" CMD check --as-cran $(PKGNAME)_$(PKGVERS).tar.gz + +sd: +	@echo Now execute +	@echo "\n  staticdocs::build_site()\n" +	$(RBIN)/R diff --git a/inst/staticdocs/index.r b/inst/staticdocs/index.r new file mode 100644 index 0000000..4a82ad0 --- /dev/null +++ b/inst/staticdocs/index.r @@ -0,0 +1,18 @@ +sd_section( +  "Main functions", +  "Essential functionality", +  c("inverse.predict", "calplot") +) +sd_section( +  "LOD and LOQ", +  "Limit of detection and limit of quantification", +  c("lod", +    "loq") +) +sd_section( +  "Datasets", +  "Example data", +  c("din32645", +    "massart97ex1", +    "massart97ex2") +) diff --git a/inst/web/calplot.lm-2.png b/inst/web/calplot.lm-2.pngBinary files differ new file mode 100644 index 0000000..db7fe6e --- /dev/null +++ b/inst/web/calplot.lm-2.png diff --git a/inst/web/calplot.lm.html b/inst/web/calplot.lm.html new file mode 100644 index 0000000..d463ffe --- /dev/null +++ b/inst/web/calplot.lm.html @@ -0,0 +1,166 @@ +<!DOCTYPE html> +<html lang="en"> +  <head> +    <meta charset="utf-8"> +<title>calplot. chemCal 0.1-35.900</title> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="author" content=" +  Johannes Ranke  +  <a href='mailto:jranke@uni-bremen.de'>jranke@uni-bremen.de</a>  +  <a href = 'http://www.uft.uni-bremen.de/chemie/ranke'>http://www.uft.uni-bremen.de/chemie/ranke</a> +"> + +<link href="css/bootstrap.css" rel="stylesheet"> +<link href="css/bootstrap-responsive.css" rel="stylesheet"> +<link href="css/highlight.css" rel="stylesheet"> +<link href="css/staticdocs.css" rel="stylesheet"> + +<!--[if lt IE 9]> +  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> +<![endif]--> + +<script type="text/x-mathjax-config"> +  MathJax.Hub.Config({ +    tex2jax: { +      inlineMath: [ ['$','$'], ["\\(","\\)"] ], +      processEscapes: true +    } +  }); +</script> +<script type="text/javascript" +  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> +</script> +  </head> + +  <body> +    <div class="navbar"> +  <div class="navbar-inner"> +    <div class="container"> +      <a class="brand" href="#">chemCal 0.1-35.900</a> +      <div class="nav"> +        <ul class="nav"> +          <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li> +        </ul> +      </div> +    </div> +  </div> +</div> + +    <div class="container"> +      <header> +         +      </header> +       +      <h1>Plot calibration graphs from univariate linear models</h1> + +<div class="row"> +  <div class="span8"> +    <h2>Usage</h2> +    <pre><div>calplot(object, xlim = c("auto", "auto"), ylim = c("auto", "auto"), xlab = "Concentration", ylab = "Response", alpha=0.05, varfunc = NULL)</div></pre> +     +    <h2>Arguments</h2> +    <dl> +      <dt>object</dt> +      <dd> +    A univariate model object of class <code><a href='http://www.inside-r.org/r-doc/stats/lm'>lm</a></code> or  +    <code><a href='http://www.inside-r.org/r-doc/MASS/rlm'>rlm</a></code>  +    with model formula <code>y ~ x</code> or <code>y ~ x - 1</code>. +  </dd> +      <dt>xlim</dt> +      <dd> +    The limits of the plot on the x axis. +  </dd> +      <dt>ylim</dt> +      <dd> +    The limits of the plot on the y axis. +  </dd> +      <dt>xlab</dt> +      <dd> +    The label of the x axis. +  </dd> +      <dt>ylab</dt> +      <dd> +    The label of the y axis. +  </dd> +      <dt>alpha</dt> +      <dd> +    The error tolerance level for the confidence and prediction bands. Note that this  +    includes both tails of the Gaussian distribution, unlike the alpha and beta parameters +    used in <code><a href='lod.html'>lod</a></code> (see note below). +  </dd> +      <dt>varfunc</dt> +      <dd> +    The variance function for generating the weights in the model. +    Currently, this argument is ignored (see note below). +  </dd> +    </dl> +     +    <div class="Description"> +      <h2>Description</h2> + +      <p>Produce graphics of calibration data, the fitted model as well +  as confidence, and, for unweighted regression, prediction bands.</p> +   +    </div> + +    <div class="Value"> +      <h2>Value</h2> + +      <p><dl> +  A plot of the calibration data, of your fitted model as well as lines showing +  the confidence limits. Prediction limits are only shown for models from +  unweighted regression. +</dl></p> +   +    </div> + +    <div class="Note"> +      <h2>Note</h2> + +      <p>Prediction bands for models from weighted linear regression require weights +  for the data, for which responses should be predicted. Prediction intervals +  using weights e.g. from a variance function are currently not supported by +  the internally used function <code><a href='http://www.inside-r.org/r-doc/stats/predict.lm'>predict.lm</a></code>, therefore, +  <code>calplot</code> does not draw prediction bands for such models.</p> +   +      <p>It is possible to compare the <code><a href='calplot.lm.html'>calplot</a></code> prediction bands with the +  <code><a href='lod.html'>lod</a></code> values if the <code>lod()</code> alpha and beta parameters are +  half the value of the <code>calplot()</code> alpha parameter.</p> +   +      <p></p> +   +    </div> +     +    <h2 id="examples">Examples</h2> +    <pre class="examples"><div class='input'>data(massart97ex3) +m <- lm(y ~ x, data = massart97ex3) +calplot(m) +</div> +<p><img src='calplot.lm-2.png' alt='' width='540' height='400' /></p></pre> +  </div> +  <div class="span4"> +    <!-- <ul> +      <li>calplot</li><li>calplot.default</li><li>calplot.lm</li> +    </ul> +    <ul> +      <li>regression</li> +    </ul> --> +       +     +    <h2>Author</h2> +     +  Johannes Ranke  +  <a href='mailto:jranke@uni-bremen.de'>jranke@uni-bremen.de</a>  +  <a href = 'http://www.uft.uni-bremen.de/chemie/ranke'>http://www.uft.uni-bremen.de/chemie/ranke</a> + +     +  </div> +</div> +       +      <footer> +      <p class="pull-right"><a href="#">Back to top</a></p> +<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="http://twitter.github.com/bootstrap">bootstrap</a>.</p> +      </footer> +    </div> +  </body> +</html>
\ No newline at end of file diff --git a/inst/web/chemCal-package.html b/inst/web/chemCal-package.html new file mode 100644 index 0000000..823b7dc --- /dev/null +++ b/inst/web/chemCal-package.html @@ -0,0 +1,96 @@ +<!DOCTYPE html> +<html lang="en"> +  <head> +    <meta charset="utf-8"> +<title>chemCal-package. chemCal 0.1-35.900</title> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="author" content=" +  Author and Maintainer: Johannes Ranke <jranke@uni-bremen.de> +"> + +<link href="css/bootstrap.css" rel="stylesheet"> +<link href="css/bootstrap-responsive.css" rel="stylesheet"> +<link href="css/highlight.css" rel="stylesheet"> +<link href="css/staticdocs.css" rel="stylesheet"> + +<!--[if lt IE 9]> +  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> +<![endif]--> + +<script type="text/x-mathjax-config"> +  MathJax.Hub.Config({ +    tex2jax: { +      inlineMath: [ ['$','$'], ["\\(","\\)"] ], +      processEscapes: true +    } +  }); +</script> +<script type="text/javascript" +  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> +</script> +  </head> + +  <body> +    <div class="navbar"> +  <div class="navbar-inner"> +    <div class="container"> +      <a class="brand" href="#">chemCal 0.1-35.900</a> +      <div class="nav"> +        <ul class="nav"> +          <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li> +        </ul> +      </div> +    </div> +  </div> +</div> + +    <div class="container"> +      <header> +         +      </header> +       +      <h1> +  Calibration functions for analytical chemistry +</h1> + +<div class="row"> +  <div class="span8"> +         +    <div class="Description"> +      <h2>Description</h2> + +      <p>See <a href = '../DESCRIPTION'>../DESCRIPTION</a></p> +   +    </div> + +    <div class="Details"> +      <h2>Details</h2> + +      <p>There is a package vignette located in <a href = '../doc/chemCal.pdf'>../doc/chemCal.pdf</a>.</p> +   +    </div> +      </div> +  <div class="span4"> +    <!-- <ul> +      <li>chemCal-package</li> +    </ul> +    <ul> +      <li>manip</li> +    </ul> --> +       +     +    <h2>Author</h2> +     +  Author and Maintainer: Johannes Ranke <jranke@uni-bremen.de> + +     +  </div> +</div> +       +      <footer> +      <p class="pull-right"><a href="#">Back to top</a></p> +<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="http://twitter.github.com/bootstrap">bootstrap</a>.</p> +      </footer> +    </div> +  </body> +</html>
\ No newline at end of file diff --git a/inst/web/css/bootstrap-responsive.css b/inst/web/css/bootstrap-responsive.css new file mode 100644 index 0000000..06e55c0 --- /dev/null +++ b/inst/web/css/bootstrap-responsive.css @@ -0,0 +1,815 @@ +/*! + * Bootstrap Responsive v2.0.4 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +.clearfix { +  *zoom: 1; +} + +.clearfix:before, +.clearfix:after { +  display: table; +  content: ""; +} + +.clearfix:after { +  clear: both; +} + +.hide-text { +  font: 0/0 a; +  color: transparent; +  text-shadow: none; +  background-color: transparent; +  border: 0; +} + +.input-block-level { +  display: block; +  width: 100%; +  min-height: 28px; +  -webkit-box-sizing: border-box; +     -moz-box-sizing: border-box; +      -ms-box-sizing: border-box; +          box-sizing: border-box; +} + +.hidden { +  display: none; +  visibility: hidden; +} + +.visible-phone { +  display: none !important; +} + +.visible-tablet { +  display: none !important; +} + +.hidden-desktop { +  display: none !important; +} + +@media (max-width: 767px) { +  .visible-phone { +    display: inherit !important; +  } +  .hidden-phone { +    display: none !important; +  } +  .hidden-desktop { +    display: inherit !important; +  } +  .visible-desktop { +    display: none !important; +  } +} + +@media (min-width: 768px) and (max-width: 979px) { +  .visible-tablet { +    display: inherit !important; +  } +  .hidden-tablet { +    display: none !important; +  } +  .hidden-desktop { +    display: inherit !important; +  } +  .visible-desktop { +    display: none !important ; +  } +} + +@media (max-width: 480px) { +  .nav-collapse { +    -webkit-transform: translate3d(0, 0, 0); +  } +  .page-header h1 small { +    display: block; +    line-height: 18px; +  } +  input[type="checkbox"], +  input[type="radio"] { +    border: 1px solid #ccc; +  } +  .form-horizontal .control-group > label { +    float: none; +    width: auto; +    padding-top: 0; +    text-align: left; +  } +  .form-horizontal .controls { +    margin-left: 0; +  } +  .form-horizontal .control-list { +    padding-top: 0; +  } +  .form-horizontal .form-actions { +    padding-right: 10px; +    padding-left: 10px; +  } +  .modal { +    position: absolute; +    top: 10px; +    right: 10px; +    left: 10px; +    width: auto; +    margin: 0; +  } +  .modal.fade.in { +    top: auto; +  } +  .modal-header .close { +    padding: 10px; +    margin: -10px; +  } +  .carousel-caption { +    position: static; +  } +} + +@media (max-width: 767px) { +  body { +    padding-right: 20px; +    padding-left: 20px; +  } +  .navbar-fixed-top, +  .navbar-fixed-bottom { +    margin-right: -20px; +    margin-left: -20px; +  } +  .container-fluid { +    padding: 0; +  } +  .dl-horizontal dt { +    float: none; +    width: auto; +    clear: none; +    text-align: left; +  } +  .dl-horizontal dd { +    margin-left: 0; +  } +  .container { +    width: auto; +  } +  .row-fluid { +    width: 100%; +  } +  .row, +  .thumbnails { +    margin-left: 0; +  } +  [class*="span"], +  .row-fluid [class*="span"] { +    display: block; +    float: none; +    width: auto; +    margin-left: 0; +  } +  .input-large, +  .input-xlarge, +  .input-xxlarge, +  input[class*="span"], +  select[class*="span"], +  textarea[class*="span"], +  .uneditable-input { +    display: block; +    width: 100%; +    min-height: 28px; +    -webkit-box-sizing: border-box; +       -moz-box-sizing: border-box; +        -ms-box-sizing: border-box; +            box-sizing: border-box; +  } +  .input-prepend input, +  .input-append input, +  .input-prepend input[class*="span"], +  .input-append input[class*="span"] { +    display: inline-block; +    width: auto; +  } +} + +@media (min-width: 768px) and (max-width: 979px) { +  .row { +    margin-left: -20px; +    *zoom: 1; +  } +  .row:before, +  .row:after { +    display: table; +    content: ""; +  } +  .row:after { +    clear: both; +  } +  [class*="span"] { +    float: left; +    margin-left: 20px; +  } +  .container, +  .navbar-fixed-top .container, +  .navbar-fixed-bottom .container { +    width: 724px; +  } +  .span12 { +    width: 724px; +  } +  .span11 { +    width: 662px; +  } +  .span10 { +    width: 600px; +  } +  .span9 { +    width: 538px; +  } +  .span8 { +    width: 476px; +  } +  .span7 { +    width: 414px; +  } +  .span6 { +    width: 352px; +  } +  .span5 { +    width: 290px; +  } +  .span4 { +    width: 228px; +  } +  .span3 { +    width: 166px; +  } +  .span2 { +    width: 104px; +  } +  .span1 { +    width: 42px; +  } +  .offset12 { +    margin-left: 764px; +  } +  .offset11 { +    margin-left: 702px; +  } +  .offset10 { +    margin-left: 640px; +  } +  .offset9 { +    margin-left: 578px; +  } +  .offset8 { +    margin-left: 516px; +  } +  .offset7 { +    margin-left: 454px; +  } +  .offset6 { +    margin-left: 392px; +  } +  .offset5 { +    margin-left: 330px; +  } +  .offset4 { +    margin-left: 268px; +  } +  .offset3 { +    margin-left: 206px; +  } +  .offset2 { +    margin-left: 144px; +  } +  .offset1 { +    margin-left: 82px; +  } +  .row-fluid { +    width: 100%; +    *zoom: 1; +  } +  .row-fluid:before, +  .row-fluid:after { +    display: table; +    content: ""; +  } +  .row-fluid:after { +    clear: both; +  } +  .row-fluid [class*="span"] { +    display: block; +    float: left; +    width: 100%; +    min-height: 28px; +    margin-left: 2.762430939%; +    *margin-left: 2.709239449638298%; +    -webkit-box-sizing: border-box; +       -moz-box-sizing: border-box; +        -ms-box-sizing: border-box; +            box-sizing: border-box; +  } +  .row-fluid [class*="span"]:first-child { +    margin-left: 0; +  } +  .row-fluid .span12 { +    width: 99.999999993%; +    *width: 99.9468085036383%; +  } +  .row-fluid .span11 { +    width: 91.436464082%; +    *width: 91.38327259263829%; +  } +  .row-fluid .span10 { +    width: 82.87292817100001%; +    *width: 82.8197366816383%; +  } +  .row-fluid .span9 { +    width: 74.30939226%; +    *width: 74.25620077063829%; +  } +  .row-fluid .span8 { +    width: 65.74585634900001%; +    *width: 65.6926648596383%; +  } +  .row-fluid .span7 { +    width: 57.182320438000005%; +    *width: 57.129128948638304%; +  } +  .row-fluid .span6 { +    width: 48.618784527%; +    *width: 48.5655930376383%; +  } +  .row-fluid .span5 { +    width: 40.055248616%; +    *width: 40.0020571266383%; +  } +  .row-fluid .span4 { +    width: 31.491712705%; +    *width: 31.4385212156383%; +  } +  .row-fluid .span3 { +    width: 22.928176794%; +    *width: 22.874985304638297%; +  } +  .row-fluid .span2 { +    width: 14.364640883%; +    *width: 14.311449393638298%; +  } +  .row-fluid .span1 { +    width: 5.801104972%; +    *width: 5.747913482638298%; +  } +  input, +  textarea, +  .uneditable-input { +    margin-left: 0; +  } +  input.span12, +  textarea.span12, +  .uneditable-input.span12 { +    width: 714px; +  } +  input.span11, +  textarea.span11, +  .uneditable-input.span11 { +    width: 652px; +  } +  input.span10, +  textarea.span10, +  .uneditable-input.span10 { +    width: 590px; +  } +  input.span9, +  textarea.span9, +  .uneditable-input.span9 { +    width: 528px; +  } +  input.span8, +  textarea.span8, +  .uneditable-input.span8 { +    width: 466px; +  } +  input.span7, +  textarea.span7, +  .uneditable-input.span7 { +    width: 404px; +  } +  input.span6, +  textarea.span6, +  .uneditable-input.span6 { +    width: 342px; +  } +  input.span5, +  textarea.span5, +  .uneditable-input.span5 { +    width: 280px; +  } +  input.span4, +  textarea.span4, +  .uneditable-input.span4 { +    width: 218px; +  } +  input.span3, +  textarea.span3, +  .uneditable-input.span3 { +    width: 156px; +  } +  input.span2, +  textarea.span2, +  .uneditable-input.span2 { +    width: 94px; +  } +  input.span1, +  textarea.span1, +  .uneditable-input.span1 { +    width: 32px; +  } +} + +@media (min-width: 1200px) { +  .row { +    margin-left: -30px; +    *zoom: 1; +  } +  .row:before, +  .row:after { +    display: table; +    content: ""; +  } +  .row:after { +    clear: both; +  } +  [class*="span"] { +    float: left; +    margin-left: 30px; +  } +  .container, +  .navbar-fixed-top .container, +  .navbar-fixed-bottom .container { +    width: 1170px; +  } +  .span12 { +    width: 1170px; +  } +  .span11 { +    width: 1070px; +  } +  .span10 { +    width: 970px; +  } +  .span9 { +    width: 870px; +  } +  .span8 { +    width: 770px; +  } +  .span7 { +    width: 670px; +  } +  .span6 { +    width: 570px; +  } +  .span5 { +    width: 470px; +  } +  .span4 { +    width: 370px; +  } +  .span3 { +    width: 270px; +  } +  .span2 { +    width: 170px; +  } +  .span1 { +    width: 70px; +  } +  .offset12 { +    margin-left: 1230px; +  } +  .offset11 { +    margin-left: 1130px; +  } +  .offset10 { +    margin-left: 1030px; +  } +  .offset9 { +    margin-left: 930px; +  } +  .offset8 { +    margin-left: 830px; +  } +  .offset7 { +    margin-left: 730px; +  } +  .offset6 { +    margin-left: 630px; +  } +  .offset5 { +    margin-left: 530px; +  } +  .offset4 { +    margin-left: 430px; +  } +  .offset3 { +    margin-left: 330px; +  } +  .offset2 { +    margin-left: 230px; +  } +  .offset1 { +    margin-left: 130px; +  } +  .row-fluid { +    width: 100%; +    *zoom: 1; +  } +  .row-fluid:before, +  .row-fluid:after { +    display: table; +    content: ""; +  } +  .row-fluid:after { +    clear: both; +  } +  .row-fluid [class*="span"] { +    display: block; +    float: left; +    width: 100%; +    min-height: 28px; +    margin-left: 2.564102564%; +    *margin-left: 2.510911074638298%; +    -webkit-box-sizing: border-box; +       -moz-box-sizing: border-box; +        -ms-box-sizing: border-box; +            box-sizing: border-box; +  } +  .row-fluid [class*="span"]:first-child { +    margin-left: 0; +  } +  .row-fluid .span12 { +    width: 100%; +    *width: 99.94680851063829%; +  } +  .row-fluid .span11 { +    width: 91.45299145300001%; +    *width: 91.3997999636383%; +  } +  .row-fluid .span10 { +    width: 82.905982906%; +    *width: 82.8527914166383%; +  } +  .row-fluid .span9 { +    width: 74.358974359%; +    *width: 74.30578286963829%; +  } +  .row-fluid .span8 { +    width: 65.81196581200001%; +    *width: 65.7587743226383%; +  } +  .row-fluid .span7 { +    width: 57.264957265%; +    *width: 57.2117657756383%; +  } +  .row-fluid .span6 { +    width: 48.717948718%; +    *width: 48.6647572286383%; +  } +  .row-fluid .span5 { +    width: 40.170940171000005%; +    *width: 40.117748681638304%; +  } +  .row-fluid .span4 { +    width: 31.623931624%; +    *width: 31.5707401346383%; +  } +  .row-fluid .span3 { +    width: 23.076923077%; +    *width: 23.0237315876383%; +  } +  .row-fluid .span2 { +    width: 14.529914530000001%; +    *width: 14.4767230406383%; +  } +  .row-fluid .span1 { +    width: 5.982905983%; +    *width: 5.929714493638298%; +  } +  input, +  textarea, +  .uneditable-input { +    margin-left: 0; +  } +  input.span12, +  textarea.span12, +  .uneditable-input.span12 { +    width: 1160px; +  } +  input.span11, +  textarea.span11, +  .uneditable-input.span11 { +    width: 1060px; +  } +  input.span10, +  textarea.span10, +  .uneditable-input.span10 { +    width: 960px; +  } +  input.span9, +  textarea.span9, +  .uneditable-input.span9 { +    width: 860px; +  } +  input.span8, +  textarea.span8, +  .uneditable-input.span8 { +    width: 760px; +  } +  input.span7, +  textarea.span7, +  .uneditable-input.span7 { +    width: 660px; +  } +  input.span6, +  textarea.span6, +  .uneditable-input.span6 { +    width: 560px; +  } +  input.span5, +  textarea.span5, +  .uneditable-input.span5 { +    width: 460px; +  } +  input.span4, +  textarea.span4, +  .uneditable-input.span4 { +    width: 360px; +  } +  input.span3, +  textarea.span3, +  .uneditable-input.span3 { +    width: 260px; +  } +  input.span2, +  textarea.span2, +  .uneditable-input.span2 { +    width: 160px; +  } +  input.span1, +  textarea.span1, +  .uneditable-input.span1 { +    width: 60px; +  } +  .thumbnails { +    margin-left: -30px; +  } +  .thumbnails > li { +    margin-left: 30px; +  } +  .row-fluid .thumbnails { +    margin-left: 0; +  } +} + +@media (max-width: 979px) { +  body { +    padding-top: 0; +  } +  .navbar-fixed-top, +  .navbar-fixed-bottom { +    position: static; +  } +  .navbar-fixed-top { +    margin-bottom: 18px; +  } +  .navbar-fixed-bottom { +    margin-top: 18px; +  } +  .navbar-fixed-top .navbar-inner, +  .navbar-fixed-bottom .navbar-inner { +    padding: 5px; +  } +  .navbar .container { +    width: auto; +    padding: 0; +  } +  .navbar .brand { +    padding-right: 10px; +    padding-left: 10px; +    margin: 0 0 0 -5px; +  } +  .nav-collapse { +    clear: both; +  } +  .nav-collapse .nav { +    float: none; +    margin: 0 0 9px; +  } +  .nav-collapse .nav > li { +    float: none; +  } +  .nav-collapse .nav > li > a { +    margin-bottom: 2px; +  } +  .nav-collapse .nav > .divider-vertical { +    display: none; +  } +  .nav-collapse .nav .nav-header { +    color: #999999; +    text-shadow: none; +  } +  .nav-collapse .nav > li > a, +  .nav-collapse .dropdown-menu a { +    padding: 6px 15px; +    font-weight: bold; +    color: #999999; +    -webkit-border-radius: 3px; +       -moz-border-radius: 3px; +            border-radius: 3px; +  } +  .nav-collapse .btn { +    padding: 4px 10px 4px; +    font-weight: normal; +    -webkit-border-radius: 4px; +       -moz-border-radius: 4px; +            border-radius: 4px; +  } +  .nav-collapse .dropdown-menu li + li a { +    margin-bottom: 2px; +  } +  .nav-collapse .nav > li > a:hover, +  .nav-collapse .dropdown-menu a:hover { +    background-color: #222222; +  } +  .nav-collapse.in .btn-group { +    padding: 0; +    margin-top: 5px; +  } +  .nav-collapse .dropdown-menu { +    position: static; +    top: auto; +    left: auto; +    display: block; +    float: none; +    max-width: none; +    padding: 0; +    margin: 0 15px; +    background-color: transparent; +    border: none; +    -webkit-border-radius: 0; +       -moz-border-radius: 0; +            border-radius: 0; +    -webkit-box-shadow: none; +       -moz-box-shadow: none; +            box-shadow: none; +  } +  .nav-collapse .dropdown-menu:before, +  .nav-collapse .dropdown-menu:after { +    display: none; +  } +  .nav-collapse .dropdown-menu .divider { +    display: none; +  } +  .nav-collapse .navbar-form, +  .nav-collapse .navbar-search { +    float: none; +    padding: 9px 15px; +    margin: 9px 0; +    border-top: 1px solid #222222; +    border-bottom: 1px solid #222222; +    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); +       -moz-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); +  } +  .navbar .nav-collapse .nav.pull-right { +    float: none; +    margin-left: 0; +  } +  .nav-collapse, +  .nav-collapse.collapse { +    height: 0; +    overflow: hidden; +  } +  .navbar .btn-navbar { +    display: block; +  } +  .navbar-static .navbar-inner { +    padding-right: 10px; +    padding-left: 10px; +  } +} + +@media (min-width: 980px) { +  .nav-collapse.collapse { +    height: auto !important; +    overflow: visible !important; +  } +} diff --git a/inst/web/css/bootstrap-responsive.min.css b/inst/web/css/bootstrap-responsive.min.css new file mode 100644 index 0000000..1f55036 --- /dev/null +++ b/inst/web/css/bootstrap-responsive.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap Responsive v2.0.4 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}@media(max-width:767px){.visible-phone{display:inherit!important}.hidden-phone{display:none!important}.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}}@media(min-width:768px) and (max-width:979px){.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:18px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.modal{position:absolute;top:10px;right:10px;left:10px;width:auto;margin:0}.modal.fade.in{top:auto}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:auto;margin-left:0}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:20px}.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:28px;margin-left:2.762430939%;*margin-left:2.709239449638298%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:99.999999993%;*width:99.9468085036383%}.row-fluid .span11{width:91.436464082%;*width:91.38327259263829%}.row-fluid .span10{width:82.87292817100001%;*width:82.8197366816383%}.row-fluid .span9{width:74.30939226%;*width:74.25620077063829%}.row-fluid .span8{width:65.74585634900001%;*width:65.6926648596383%}.row-fluid .span7{width:57.182320438000005%;*width:57.129128948638304%}.row-fluid .span6{width:48.618784527%;*width:48.5655930376383%}.row-fluid .span5{width:40.055248616%;*width:40.0020571266383%}.row-fluid .span4{width:31.491712705%;*width:31.4385212156383%}.row-fluid .span3{width:22.928176794%;*width:22.874985304638297%}.row-fluid .span2{width:14.364640883%;*width:14.311449393638298%}.row-fluid .span1{width:5.801104972%;*width:5.747913482638298%}input,textarea,.uneditable-input{margin-left:0}input.span12,textarea.span12,.uneditable-input.span12{width:714px}input.span11,textarea.span11,.uneditable-input.span11{width:652px}input.span10,textarea.span10,.uneditable-input.span10{width:590px}input.span9,textarea.span9,.uneditable-input.span9{width:528px}input.span8,textarea.span8,.uneditable-input.span8{width:466px}input.span7,textarea.span7,.uneditable-input.span7{width:404px}input.span6,textarea.span6,.uneditable-input.span6{width:342px}input.span5,textarea.span5,.uneditable-input.span5{width:280px}input.span4,textarea.span4,.uneditable-input.span4{width:218px}input.span3,textarea.span3,.uneditable-input.span3{width:156px}input.span2,textarea.span2,.uneditable-input.span2{width:94px}input.span1,textarea.span1,.uneditable-input.span1{width:32px}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:30px}.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:28px;margin-left:2.564102564%;*margin-left:2.510911074638298%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145300001%;*width:91.3997999636383%}.row-fluid .span10{width:82.905982906%;*width:82.8527914166383%}.row-fluid .span9{width:74.358974359%;*width:74.30578286963829%}.row-fluid .span8{width:65.81196581200001%;*width:65.7587743226383%}.row-fluid .span7{width:57.264957265%;*width:57.2117657756383%}.row-fluid .span6{width:48.717948718%;*width:48.6647572286383%}.row-fluid .span5{width:40.170940171000005%;*width:40.117748681638304%}.row-fluid .span4{width:31.623931624%;*width:31.5707401346383%}.row-fluid .span3{width:23.076923077%;*width:23.0237315876383%}.row-fluid .span2{width:14.529914530000001%;*width:14.4767230406383%}.row-fluid .span1{width:5.982905983%;*width:5.929714493638298%}input,textarea,.uneditable-input{margin-left:0}input.span12,textarea.span12,.uneditable-input.span12{width:1160px}input.span11,textarea.span11,.uneditable-input.span11{width:1060px}input.span10,textarea.span10,.uneditable-input.span10{width:960px}input.span9,textarea.span9,.uneditable-input.span9{width:860px}input.span8,textarea.span8,.uneditable-input.span8{width:760px}input.span7,textarea.span7,.uneditable-input.span7{width:660px}input.span6,textarea.span6,.uneditable-input.span6{width:560px}input.span5,textarea.span5,.uneditable-input.span5{width:460px}input.span4,textarea.span4,.uneditable-input.span4{width:360px}input.span3,textarea.span3,.uneditable-input.span3{width:260px}input.span2,textarea.span2,.uneditable-input.span2{width:160px}input.span1,textarea.span1,.uneditable-input.span1{width:60px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:18px}.navbar-fixed-bottom{margin-top:18px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 9px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#999;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:6px 15px;font-weight:bold;color:#999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#222}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:block;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:9px 15px;margin:9px 0;border-top:1px solid #222;border-bottom:1px solid #222;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-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)}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}} diff --git a/inst/web/css/bootstrap.css b/inst/web/css/bootstrap.css new file mode 100644 index 0000000..bb40c85 --- /dev/null +++ b/inst/web/css/bootstrap.css @@ -0,0 +1,4983 @@ +/*! + * Bootstrap v2.0.4 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { +  display: block; +} + +audio, +canvas, +video { +  display: inline-block; +  *display: inline; +  *zoom: 1; +} + +audio:not([controls]) { +  display: none; +} + +html { +  font-size: 100%; +  -webkit-text-size-adjust: 100%; +      -ms-text-size-adjust: 100%; +} + +a:focus { +  outline: thin dotted #333; +  outline: 5px auto -webkit-focus-ring-color; +  outline-offset: -2px; +} + +a:hover, +a:active { +  outline: 0; +} + +sub, +sup { +  position: relative; +  font-size: 75%; +  line-height: 0; +  vertical-align: baseline; +} + +sup { +  top: -0.5em; +} + +sub { +  bottom: -0.25em; +} + +img { +  max-width: 100%; +  vertical-align: middle; +  border: 0; +  -ms-interpolation-mode: bicubic; +} + +#map_canvas img { +  max-width: none; +} + +button, +input, +select, +textarea { +  margin: 0; +  font-size: 100%; +  vertical-align: middle; +} + +button, +input { +  *overflow: visible; +  line-height: normal; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { +  padding: 0; +  border: 0; +} + +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { +  cursor: pointer; +  -webkit-appearance: button; +} + +input[type="search"] { +  -webkit-box-sizing: content-box; +     -moz-box-sizing: content-box; +          box-sizing: content-box; +  -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { +  -webkit-appearance: none; +} + +textarea { +  overflow: auto; +  vertical-align: top; +} + +.clearfix { +  *zoom: 1; +} + +.clearfix:before, +.clearfix:after { +  display: table; +  content: ""; +} + +.clearfix:after { +  clear: both; +} + +.hide-text { +  font: 0/0 a; +  color: transparent; +  text-shadow: none; +  background-color: transparent; +  border: 0; +} + +.input-block-level { +  display: block; +  width: 100%; +  min-height: 28px; +  -webkit-box-sizing: border-box; +     -moz-box-sizing: border-box; +      -ms-box-sizing: border-box; +          box-sizing: border-box; +} + +body { +  margin: 0; +  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +  font-size: 13px; +  line-height: 18px; +  color: #333333; +  background-color: #ffffff; +} + +a { +  color: #0088cc; +  text-decoration: none; +} + +a:hover { +  color: #005580; +  text-decoration: underline; +} + +.row { +  margin-left: -20px; +  *zoom: 1; +} + +.row:before, +.row:after { +  display: table; +  content: ""; +} + +.row:after { +  clear: both; +} + +[class*="span"] { +  float: left; +  margin-left: 20px; +} + +.container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { +  width: 940px; +} + +.span12 { +  width: 940px; +} + +.span11 { +  width: 860px; +} + +.span10 { +  width: 780px; +} + +.span9 { +  width: 700px; +} + +.span8 { +  width: 620px; +} + +.span7 { +  width: 540px; +} + +.span6 { +  width: 460px; +} + +.span5 { +  width: 380px; +} + +.span4 { +  width: 300px; +} + +.span3 { +  width: 220px; +} + +.span2 { +  width: 140px; +} + +.span1 { +  width: 60px; +} + +.offset12 { +  margin-left: 980px; +} + +.offset11 { +  margin-left: 900px; +} + +.offset10 { +  margin-left: 820px; +} + +.offset9 { +  margin-left: 740px; +} + +.offset8 { +  margin-left: 660px; +} + +.offset7 { +  margin-left: 580px; +} + +.offset6 { +  margin-left: 500px; +} + +.offset5 { +  margin-left: 420px; +} + +.offset4 { +  margin-left: 340px; +} + +.offset3 { +  margin-left: 260px; +} + +.offset2 { +  margin-left: 180px; +} + +.offset1 { +  margin-left: 100px; +} + +.row-fluid { +  width: 100%; +  *zoom: 1; +} + +.row-fluid:before, +.row-fluid:after { +  display: table; +  content: ""; +} + +.row-fluid:after { +  clear: both; +} + +.row-fluid [class*="span"] { +  display: block; +  float: left; +  width: 100%; +  min-height: 28px; +  margin-left: 2.127659574%; +  *margin-left: 2.0744680846382977%; +  -webkit-box-sizing: border-box; +     -moz-box-sizing: border-box; +      -ms-box-sizing: border-box; +          box-sizing: border-box; +} + +.row-fluid [class*="span"]:first-child { +  margin-left: 0; +} + +.row-fluid .span12 { +  width: 99.99999998999999%; +  *width: 99.94680850063828%; +} + +.row-fluid .span11 { +  width: 91.489361693%; +  *width: 91.4361702036383%; +} + +.row-fluid .span10 { +  width: 82.97872339599999%; +  *width: 82.92553190663828%; +} + +.row-fluid .span9 { +  width: 74.468085099%; +  *width: 74.4148936096383%; +} + +.row-fluid .span8 { +  width: 65.95744680199999%; +  *width: 65.90425531263828%; +} + +.row-fluid .span7 { +  width: 57.446808505%; +  *width: 57.3936170156383%; +} + +.row-fluid .span6 { +  width: 48.93617020799999%; +  *width: 48.88297871863829%; +} + +.row-fluid .span5 { +  width: 40.425531911%; +  *width: 40.3723404216383%; +} + +.row-fluid .span4 { +  width: 31.914893614%; +  *width: 31.8617021246383%; +} + +.row-fluid .span3 { +  width: 23.404255317%; +  *width: 23.3510638276383%; +} + +.row-fluid .span2 { +  width: 14.89361702%; +  *width: 14.8404255306383%; +} + +.row-fluid .span1 { +  width: 6.382978723%; +  *width: 6.329787233638298%; +} + +.container { +  margin-right: auto; +  margin-left: auto; +  *zoom: 1; +} + +.container:before, +.container:after { +  display: table; +  content: ""; +} + +.container:after { +  clear: both; +} + +.container-fluid { +  padding-right: 20px; +  padding-left: 20px; +  *zoom: 1; +} + +.container-fluid:before, +.container-fluid:after { +  display: table; +  content: ""; +} + +.container-fluid:after { +  clear: both; +} + +p { +  margin: 0 0 9px; +} + +p small { +  font-size: 11px; +  color: #999999; +} + +.lead { +  margin-bottom: 18px; +  font-size: 20px; +  font-weight: 200; +  line-height: 27px; +} + +h1, +h2, +h3, +h4, +h5, +h6 { +  margin: 0; +  font-family: inherit; +  font-weight: bold; +  color: inherit; +  text-rendering: optimizelegibility; +} + +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { +  font-weight: normal; +  color: #999999; +} + +h1 { +  font-size: 30px; +  line-height: 36px; +} + +h1 small { +  font-size: 18px; +} + +h2 { +  font-size: 24px; +  line-height: 36px; +} + +h2 small { +  font-size: 18px; +} + +h3 { +  font-size: 18px; +  line-height: 27px; +} + +h3 small { +  font-size: 14px; +} + +h4, +h5, +h6 { +  line-height: 18px; +} + +h4 { +  font-size: 14px; +} + +h4 small { +  font-size: 12px; +} + +h5 { +  font-size: 12px; +} + +h6 { +  font-size: 11px; +  color: #999999; +  text-transform: uppercase; +} + +.page-header { +  padding-bottom: 17px; +  margin: 18px 0; +  border-bottom: 1px solid #eeeeee; +} + +.page-header h1 { +  line-height: 1; +} + +ul, +ol { +  padding: 0; +  margin: 0 0 9px 25px; +} + +ul ul, +ul ol, +ol ol, +ol ul { +  margin-bottom: 0; +} + +ul { +  list-style: disc; +} + +ol { +  list-style: decimal; +} + +li { +  line-height: 18px; +} + +ul.unstyled, +ol.unstyled { +  margin-left: 0; +  list-style: none; +} + +dl { +  margin-bottom: 18px; +} + +dt, +dd { +  line-height: 18px; +} + +dt { +  font-weight: bold; +  line-height: 17px; +} + +dd { +  margin-left: 9px; +} + +.dl-horizontal dt { +  float: left; +  width: 120px; +  overflow: hidden; +  clear: left; +  text-align: right; +  text-overflow: ellipsis; +  white-space: nowrap; +} + +.dl-horizontal dd { +  margin-left: 130px; +} + +hr { +  margin: 18px 0; +  border: 0; +  border-top: 1px solid #eeeeee; +  border-bottom: 1px solid #ffffff; +} + +strong { +  font-weight: bold; +} + +em { +  font-style: italic; +} + +.muted { +  color: #999999; +} + +abbr[title] { +  cursor: help; +  border-bottom: 1px dotted #999999; +} + +abbr.initialism { +  font-size: 90%; +  text-transform: uppercase; +} + +blockquote { +  padding: 0 0 0 15px; +  margin: 0 0 18px; +  border-left: 5px solid #eeeeee; +} + +blockquote p { +  margin-bottom: 0; +  font-size: 16px; +  font-weight: 300; +  line-height: 22.5px; +} + +blockquote small { +  display: block; +  line-height: 18px; +  color: #999999; +} + +blockquote small:before { +  content: '\2014 \00A0'; +} + +blockquote.pull-right { +  float: right; +  padding-right: 15px; +  padding-left: 0; +  border-right: 5px solid #eeeeee; +  border-left: 0; +} + +blockquote.pull-right p, +blockquote.pull-right small { +  text-align: right; +} + +q:before, +q:after, +blockquote:before, +blockquote:after { +  content: ""; +} + +address { +  display: block; +  margin-bottom: 18px; +  font-style: normal; +  line-height: 18px; +} + +small { +  font-size: 100%; +} + +cite { +  font-style: normal; +} + +code, +pre { +  padding: 0 3px 2px; +  font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +  font-size: 12px; +  color: #333333; +  -webkit-border-radius: 3px; +     -moz-border-radius: 3px; +          border-radius: 3px; +} + +code { +  padding: 2px 4px; +  color: #d14; +  background-color: #f7f7f9; +  border: 1px solid #e1e1e8; +} + +pre { +  display: block; +  padding: 8.5px; +  margin: 0 0 9px; +  font-size: 12.025px; +  line-height: 18px; +  word-break: break-all; +  word-wrap: break-word; +  white-space: pre; +  white-space: pre-wrap; +  background-color: #f5f5f5; +  border: 1px solid #ccc; +  border: 1px solid rgba(0, 0, 0, 0.15); +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +} + +pre.prettyprint { +  margin-bottom: 18px; +} + +pre code { +  padding: 0; +  color: inherit; +  background-color: transparent; +  border: 0; +} + +.pre-scrollable { +  max-height: 340px; +  overflow-y: scroll; +} + +form { +  margin: 0 0 18px; +} + +fieldset { +  padding: 0; +  margin: 0; +  border: 0; +} + +legend { +  display: block; +  width: 100%; +  padding: 0; +  margin-bottom: 27px; +  font-size: 19.5px; +  line-height: 36px; +  color: #333333; +  border: 0; +  border-bottom: 1px solid #e5e5e5; +} + +legend small { +  font-size: 13.5px; +  color: #999999; +} + +label, +input, +button, +select, +textarea { +  font-size: 13px; +  font-weight: normal; +  line-height: 18px; +} + +input, +button, +select, +textarea { +  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +label { +  display: block; +  margin-bottom: 5px; +} + +select, +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { +  display: inline-block; +  height: 18px; +  padding: 4px; +  margin-bottom: 9px; +  font-size: 13px; +  line-height: 18px; +  color: #555555; +} + +input, +textarea { +  width: 210px; +} + +textarea { +  height: auto; +} + +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { +  background-color: #ffffff; +  border: 1px solid #cccccc; +  -webkit-border-radius: 3px; +     -moz-border-radius: 3px; +          border-radius: 3px; +  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +     -moz-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 linear 0.2s, box-shadow linear 0.2s; +     -moz-transition: border linear 0.2s, box-shadow linear 0.2s; +      -ms-transition: border linear 0.2s, box-shadow linear 0.2s; +       -o-transition: border linear 0.2s, box-shadow linear 0.2s; +          transition: border linear 0.2s, box-shadow linear 0.2s; +} + +textarea:focus, +input[type="text"]:focus, +input[type="password"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="date"]:focus, +input[type="month"]:focus, +input[type="time"]:focus, +input[type="week"]:focus, +input[type="number"]:focus, +input[type="email"]:focus, +input[type="url"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="color"]:focus, +.uneditable-input:focus { +  border-color: rgba(82, 168, 236, 0.8); +  outline: 0; +  outline: thin dotted \9; +  /* IE6-9 */ + +  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +} + +input[type="radio"], +input[type="checkbox"] { +  margin: 3px 0; +  *margin-top: 0; +  /* IE7 */ + +  line-height: normal; +  cursor: pointer; +} + +input[type="submit"], +input[type="reset"], +input[type="button"], +input[type="radio"], +input[type="checkbox"] { +  width: auto; +} + +.uneditable-textarea { +  width: auto; +  height: auto; +} + +select, +input[type="file"] { +  height: 28px; +  /* In IE7, the height of the select element cannot be changed by height, only font-size */ + +  *margin-top: 4px; +  /* For IE7, add top margin to align select with labels */ + +  line-height: 28px; +} + +select { +  width: 220px; +  border: 1px solid #bbb; +} + +select[multiple], +select[size] { +  height: auto; +} + +select:focus, +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; +} + +.radio, +.checkbox { +  min-height: 18px; +  padding-left: 18px; +} + +.radio input[type="radio"], +.checkbox input[type="checkbox"] { +  float: left; +  margin-left: -18px; +} + +.controls > .radio:first-child, +.controls > .checkbox:first-child { +  padding-top: 5px; +} + +.radio.inline, +.checkbox.inline { +  display: inline-block; +  padding-top: 5px; +  margin-bottom: 0; +  vertical-align: middle; +} + +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { +  margin-left: 10px; +} + +.input-mini { +  width: 60px; +} + +.input-small { +  width: 90px; +} + +.input-medium { +  width: 150px; +} + +.input-large { +  width: 210px; +} + +.input-xlarge { +  width: 270px; +} + +.input-xxlarge { +  width: 530px; +} + +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { +  float: none; +  margin-left: 0; +} + +.input-append input[class*="span"], +.input-append .uneditable-input[class*="span"], +.input-prepend input[class*="span"], +.input-prepend .uneditable-input[class*="span"], +.row-fluid .input-prepend [class*="span"], +.row-fluid .input-append [class*="span"] { +  display: inline-block; +} + +input, +textarea, +.uneditable-input { +  margin-left: 0; +} + +input.span12, +textarea.span12, +.uneditable-input.span12 { +  width: 930px; +} + +input.span11, +textarea.span11, +.uneditable-input.span11 { +  width: 850px; +} + +input.span10, +textarea.span10, +.uneditable-input.span10 { +  width: 770px; +} + +input.span9, +textarea.span9, +.uneditable-input.span9 { +  width: 690px; +} + +input.span8, +textarea.span8, +.uneditable-input.span8 { +  width: 610px; +} + +input.span7, +textarea.span7, +.uneditable-input.span7 { +  width: 530px; +} + +input.span6, +textarea.span6, +.uneditable-input.span6 { +  width: 450px; +} + +input.span5, +textarea.span5, +.uneditable-input.span5 { +  width: 370px; +} + +input.span4, +textarea.span4, +.uneditable-input.span4 { +  width: 290px; +} + +input.span3, +textarea.span3, +.uneditable-input.span3 { +  width: 210px; +} + +input.span2, +textarea.span2, +.uneditable-input.span2 { +  width: 130px; +} + +input.span1, +textarea.span1, +.uneditable-input.span1 { +  width: 50px; +} + +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { +  cursor: not-allowed; +  background-color: #eeeeee; +  border-color: #ddd; +} + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { +  background-color: transparent; +} + +.control-group.warning > label, +.control-group.warning .help-block, +.control-group.warning .help-inline { +  color: #c09853; +} + +.control-group.warning .checkbox, +.control-group.warning .radio, +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { +  color: #c09853; +  border-color: #c09853; +} + +.control-group.warning .checkbox:focus, +.control-group.warning .radio:focus, +.control-group.warning input:focus, +.control-group.warning select:focus, +.control-group.warning textarea:focus { +  border-color: #a47e3c; +  -webkit-box-shadow: 0 0 6px #dbc59e; +     -moz-box-shadow: 0 0 6px #dbc59e; +          box-shadow: 0 0 6px #dbc59e; +} + +.control-group.warning .input-prepend .add-on, +.control-group.warning .input-append .add-on { +  color: #c09853; +  background-color: #fcf8e3; +  border-color: #c09853; +} + +.control-group.error > label, +.control-group.error .help-block, +.control-group.error .help-inline { +  color: #b94a48; +} + +.control-group.error .checkbox, +.control-group.error .radio, +.control-group.error input, +.control-group.error select, +.control-group.error textarea { +  color: #b94a48; +  border-color: #b94a48; +} + +.control-group.error .checkbox:focus, +.control-group.error .radio:focus, +.control-group.error input:focus, +.control-group.error select:focus, +.control-group.error textarea:focus { +  border-color: #953b39; +  -webkit-box-shadow: 0 0 6px #d59392; +     -moz-box-shadow: 0 0 6px #d59392; +          box-shadow: 0 0 6px #d59392; +} + +.control-group.error .input-prepend .add-on, +.control-group.error .input-append .add-on { +  color: #b94a48; +  background-color: #f2dede; +  border-color: #b94a48; +} + +.control-group.success > label, +.control-group.success .help-block, +.control-group.success .help-inline { +  color: #468847; +} + +.control-group.success .checkbox, +.control-group.success .radio, +.control-group.success input, +.control-group.success select, +.control-group.success textarea { +  color: #468847; +  border-color: #468847; +} + +.control-group.success .checkbox:focus, +.control-group.success .radio:focus, +.control-group.success input:focus, +.control-group.success select:focus, +.control-group.success textarea:focus { +  border-color: #356635; +  -webkit-box-shadow: 0 0 6px #7aba7b; +     -moz-box-shadow: 0 0 6px #7aba7b; +          box-shadow: 0 0 6px #7aba7b; +} + +.control-group.success .input-prepend .add-on, +.control-group.success .input-append .add-on { +  color: #468847; +  background-color: #dff0d8; +  border-color: #468847; +} + +input:focus:required:invalid, +textarea:focus:required:invalid, +select:focus:required:invalid { +  color: #b94a48; +  border-color: #ee5f5b; +} + +input:focus:required:invalid:focus, +textarea:focus:required:invalid:focus, +select:focus:required:invalid:focus { +  border-color: #e9322d; +  -webkit-box-shadow: 0 0 6px #f8b9b7; +     -moz-box-shadow: 0 0 6px #f8b9b7; +          box-shadow: 0 0 6px #f8b9b7; +} + +.form-actions { +  padding: 17px 20px 18px; +  margin-top: 18px; +  margin-bottom: 18px; +  background-color: #f5f5f5; +  border-top: 1px solid #e5e5e5; +  *zoom: 1; +} + +.form-actions:before, +.form-actions:after { +  display: table; +  content: ""; +} + +.form-actions:after { +  clear: both; +} + +.uneditable-input { +  overflow: hidden; +  white-space: nowrap; +  cursor: not-allowed; +  background-color: #ffffff; +  border-color: #eee; +  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); +     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); +          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); +} + +:-moz-placeholder { +  color: #999999; +} + +:-ms-input-placeholder { +  color: #999999; +} + +::-webkit-input-placeholder { +  color: #999999; +} + +.help-block, +.help-inline { +  color: #555555; +} + +.help-block { +  display: block; +  margin-bottom: 9px; +} + +.help-inline { +  display: inline-block; +  *display: inline; +  padding-left: 5px; +  vertical-align: middle; +  *zoom: 1; +} + +.input-prepend, +.input-append { +  margin-bottom: 5px; +} + +.input-prepend input, +.input-append input, +.input-prepend select, +.input-append select, +.input-prepend .uneditable-input, +.input-append .uneditable-input { +  position: relative; +  margin-bottom: 0; +  *margin-left: 0; +  vertical-align: middle; +  -webkit-border-radius: 0 3px 3px 0; +     -moz-border-radius: 0 3px 3px 0; +          border-radius: 0 3px 3px 0; +} + +.input-prepend input:focus, +.input-append input:focus, +.input-prepend select:focus, +.input-append select:focus, +.input-prepend .uneditable-input:focus, +.input-append .uneditable-input:focus { +  z-index: 2; +} + +.input-prepend .uneditable-input, +.input-append .uneditable-input { +  border-left-color: #ccc; +} + +.input-prepend .add-on, +.input-append .add-on { +  display: inline-block; +  width: auto; +  height: 18px; +  min-width: 16px; +  padding: 4px 5px; +  font-weight: normal; +  line-height: 18px; +  text-align: center; +  text-shadow: 0 1px 0 #ffffff; +  vertical-align: middle; +  background-color: #eeeeee; +  border: 1px solid #ccc; +} + +.input-prepend .add-on, +.input-append .add-on, +.input-prepend .btn, +.input-append .btn { +  margin-left: -1px; +  -webkit-border-radius: 0; +     -moz-border-radius: 0; +          border-radius: 0; +} + +.input-prepend .active, +.input-append .active { +  background-color: #a9dba9; +  border-color: #46a546; +} + +.input-prepend .add-on, +.input-prepend .btn { +  margin-right: -1px; +} + +.input-prepend .add-on:first-child, +.input-prepend .btn:first-child { +  -webkit-border-radius: 3px 0 0 3px; +     -moz-border-radius: 3px 0 0 3px; +          border-radius: 3px 0 0 3px; +} + +.input-append input, +.input-append select, +.input-append .uneditable-input { +  -webkit-border-radius: 3px 0 0 3px; +     -moz-border-radius: 3px 0 0 3px; +          border-radius: 3px 0 0 3px; +} + +.input-append .uneditable-input { +  border-right-color: #ccc; +  border-left-color: #eee; +} + +.input-append .add-on:last-child, +.input-append .btn:last-child { +  -webkit-border-radius: 0 3px 3px 0; +     -moz-border-radius: 0 3px 3px 0; +          border-radius: 0 3px 3px 0; +} + +.input-prepend.input-append input, +.input-prepend.input-append select, +.input-prepend.input-append .uneditable-input { +  -webkit-border-radius: 0; +     -moz-border-radius: 0; +          border-radius: 0; +} + +.input-prepend.input-append .add-on:first-child, +.input-prepend.input-append .btn:first-child { +  margin-right: -1px; +  -webkit-border-radius: 3px 0 0 3px; +     -moz-border-radius: 3px 0 0 3px; +          border-radius: 3px 0 0 3px; +} + +.input-prepend.input-append .add-on:last-child, +.input-prepend.input-append .btn:last-child { +  margin-left: -1px; +  -webkit-border-radius: 0 3px 3px 0; +     -moz-border-radius: 0 3px 3px 0; +          border-radius: 0 3px 3px 0; +} + +.search-query { +  padding-right: 14px; +  padding-right: 4px \9; +  padding-left: 14px; +  padding-left: 4px \9; +  /* IE7-8 doesn't have border-radius, so don't indent the padding */ + +  margin-bottom: 0; +  -webkit-border-radius: 14px; +     -moz-border-radius: 14px; +          border-radius: 14px; +} + +.form-search input, +.form-inline input, +.form-horizontal input, +.form-search textarea, +.form-inline textarea, +.form-horizontal textarea, +.form-search select, +.form-inline select, +.form-horizontal select, +.form-search .help-inline, +.form-inline .help-inline, +.form-horizontal .help-inline, +.form-search .uneditable-input, +.form-inline .uneditable-input, +.form-horizontal .uneditable-input, +.form-search .input-prepend, +.form-inline .input-prepend, +.form-horizontal .input-prepend, +.form-search .input-append, +.form-inline .input-append, +.form-horizontal .input-append { +  display: inline-block; +  *display: inline; +  margin-bottom: 0; +  *zoom: 1; +} + +.form-search .hide, +.form-inline .hide, +.form-horizontal .hide { +  display: none; +} + +.form-search label, +.form-inline label { +  display: inline-block; +} + +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { +  margin-bottom: 0; +} + +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { +  padding-left: 0; +  margin-bottom: 0; +  vertical-align: middle; +} + +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { +  float: left; +  margin-right: 3px; +  margin-left: 0; +} + +.control-group { +  margin-bottom: 9px; +} + +legend + .control-group { +  margin-top: 18px; +  -webkit-margin-top-collapse: separate; +} + +.form-horizontal .control-group { +  margin-bottom: 18px; +  *zoom: 1; +} + +.form-horizontal .control-group:before, +.form-horizontal .control-group:after { +  display: table; +  content: ""; +} + +.form-horizontal .control-group:after { +  clear: both; +} + +.form-horizontal .control-label { +  float: left; +  width: 140px; +  padding-top: 5px; +  text-align: right; +} + +.form-horizontal .controls { +  *display: inline-block; +  *padding-left: 20px; +  margin-left: 160px; +  *margin-left: 0; +} + +.form-horizontal .controls:first-child { +  *padding-left: 160px; +} + +.form-horizontal .help-block { +  margin-top: 9px; +  margin-bottom: 0; +} + +.form-horizontal .form-actions { +  padding-left: 160px; +} + +table { +  max-width: 100%; +  background-color: transparent; +  border-collapse: collapse; +  border-spacing: 0; +} + +.table { +  width: 100%; +  margin-bottom: 18px; +} + +.table th, +.table td { +  padding: 8px; +  line-height: 18px; +  text-align: left; +  vertical-align: top; +  border-top: 1px solid #dddddd; +} + +.table th { +  font-weight: bold; +} + +.table thead th { +  vertical-align: bottom; +} + +.table caption + thead tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child th, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { +  border-top: 0; +} + +.table tbody + tbody { +  border-top: 2px solid #dddddd; +} + +.table-condensed th, +.table-condensed td { +  padding: 4px 5px; +} + +.table-bordered { +  border: 1px solid #dddddd; +  border-collapse: separate; +  *border-collapse: collapsed; +  border-left: 0; +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +} + +.table-bordered th, +.table-bordered td { +  border-left: 1px solid #dddddd; +} + +.table-bordered caption + thead tr:first-child th, +.table-bordered caption + tbody tr:first-child th, +.table-bordered caption + tbody tr:first-child td, +.table-bordered colgroup + thead tr:first-child th, +.table-bordered colgroup + tbody tr:first-child th, +.table-bordered colgroup + tbody tr:first-child td, +.table-bordered thead:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child td { +  border-top: 0; +} + +.table-bordered thead:first-child tr:first-child th:first-child, +.table-bordered tbody:first-child tr:first-child td:first-child { +  -webkit-border-top-left-radius: 4px; +          border-top-left-radius: 4px; +  -moz-border-radius-topleft: 4px; +} + +.table-bordered thead:first-child tr:first-child th:last-child, +.table-bordered tbody:first-child tr:first-child td:last-child { +  -webkit-border-top-right-radius: 4px; +          border-top-right-radius: 4px; +  -moz-border-radius-topright: 4px; +} + +.table-bordered thead:last-child tr:last-child th:first-child, +.table-bordered tbody:last-child tr:last-child td:first-child { +  -webkit-border-radius: 0 0 0 4px; +     -moz-border-radius: 0 0 0 4px; +          border-radius: 0 0 0 4px; +  -webkit-border-bottom-left-radius: 4px; +          border-bottom-left-radius: 4px; +  -moz-border-radius-bottomleft: 4px; +} + +.table-bordered thead:last-child tr:last-child th:last-child, +.table-bordered tbody:last-child tr:last-child td:last-child { +  -webkit-border-bottom-right-radius: 4px; +          border-bottom-right-radius: 4px; +  -moz-border-radius-bottomright: 4px; +} + +.table-striped tbody tr:nth-child(odd) td, +.table-striped tbody tr:nth-child(odd) th { +  background-color: #f9f9f9; +} + +.table tbody tr:hover td, +.table tbody tr:hover th { +  background-color: #f5f5f5; +} + +table .span1 { +  float: none; +  width: 44px; +  margin-left: 0; +} + +table .span2 { +  float: none; +  width: 124px; +  margin-left: 0; +} + +table .span3 { +  float: none; +  width: 204px; +  margin-left: 0; +} + +table .span4 { +  float: none; +  width: 284px; +  margin-left: 0; +} + +table .span5 { +  float: none; +  width: 364px; +  margin-left: 0; +} + +table .span6 { +  float: none; +  width: 444px; +  margin-left: 0; +} + +table .span7 { +  float: none; +  width: 524px; +  margin-left: 0; +} + +table .span8 { +  float: none; +  width: 604px; +  margin-left: 0; +} + +table .span9 { +  float: none; +  width: 684px; +  margin-left: 0; +} + +table .span10 { +  float: none; +  width: 764px; +  margin-left: 0; +} + +table .span11 { +  float: none; +  width: 844px; +  margin-left: 0; +} + +table .span12 { +  float: none; +  width: 924px; +  margin-left: 0; +} + +table .span13 { +  float: none; +  width: 1004px; +  margin-left: 0; +} + +table .span14 { +  float: none; +  width: 1084px; +  margin-left: 0; +} + +table .span15 { +  float: none; +  width: 1164px; +  margin-left: 0; +} + +table .span16 { +  float: none; +  width: 1244px; +  margin-left: 0; +} + +table .span17 { +  float: none; +  width: 1324px; +  margin-left: 0; +} + +table .span18 { +  float: none; +  width: 1404px; +  margin-left: 0; +} + +table .span19 { +  float: none; +  width: 1484px; +  margin-left: 0; +} + +table .span20 { +  float: none; +  width: 1564px; +  margin-left: 0; +} + +table .span21 { +  float: none; +  width: 1644px; +  margin-left: 0; +} + +table .span22 { +  float: none; +  width: 1724px; +  margin-left: 0; +} + +table .span23 { +  float: none; +  width: 1804px; +  margin-left: 0; +} + +table .span24 { +  float: none; +  width: 1884px; +  margin-left: 0; +} + +[class^="icon-"], +[class*=" icon-"] { +  display: inline-block; +  width: 14px; +  height: 14px; +  *margin-right: .3em; +  line-height: 14px; +  vertical-align: text-top; +  background-image: url("../img/glyphicons-halflings.png"); +  background-position: 14px 14px; +  background-repeat: no-repeat; +} + +[class^="icon-"]:last-child, +[class*=" icon-"]:last-child { +  *margin-left: 0; +} + +.icon-white { +  background-image: url("../img/glyphicons-halflings-white.png"); +} + +.icon-glass { +  background-position: 0      0; +} + +.icon-music { +  background-position: -24px 0; +} + +.icon-search { +  background-position: -48px 0; +} + +.icon-envelope { +  background-position: -72px 0; +} + +.icon-heart { +  background-position: -96px 0; +} + +.icon-star { +  background-position: -120px 0; +} + +.icon-star-empty { +  background-position: -144px 0; +} + +.icon-user { +  background-position: -168px 0; +} + +.icon-film { +  background-position: -192px 0; +} + +.icon-th-large { +  background-position: -216px 0; +} + +.icon-th { +  background-position: -240px 0; +} + +.icon-th-list { +  background-position: -264px 0; +} + +.icon-ok { +  background-position: -288px 0; +} + +.icon-remove { +  background-position: -312px 0; +} + +.icon-zoom-in { +  background-position: -336px 0; +} + +.icon-zoom-out { +  background-position: -360px 0; +} + +.icon-off { +  background-position: -384px 0; +} + +.icon-signal { +  background-position: -408px 0; +} + +.icon-cog { +  background-position: -432px 0; +} + +.icon-trash { +  background-position: -456px 0; +} + +.icon-home { +  background-position: 0 -24px; +} + +.icon-file { +  background-position: -24px -24px; +} + +.icon-time { +  background-position: -48px -24px; +} + +.icon-road { +  background-position: -72px -24px; +} + +.icon-download-alt { +  background-position: -96px -24px; +} + +.icon-download { +  background-position: -120px -24px; +} + +.icon-upload { +  background-position: -144px -24px; +} + +.icon-inbox { +  background-position: -168px -24px; +} + +.icon-play-circle { +  background-position: -192px -24px; +} + +.icon-repeat { +  background-position: -216px -24px; +} + +.icon-refresh { +  background-position: -240px -24px; +} + +.icon-list-alt { +  background-position: -264px -24px; +} + +.icon-lock { +  background-position: -287px -24px; +} + +.icon-flag { +  background-position: -312px -24px; +} + +.icon-headphones { +  background-position: -336px -24px; +} + +.icon-volume-off { +  background-position: -360px -24px; +} + +.icon-volume-down { +  background-position: -384px -24px; +} + +.icon-volume-up { +  background-position: -408px -24px; +} + +.icon-qrcode { +  background-position: -432px -24px; +} + +.icon-barcode { +  background-position: -456px -24px; +} + +.icon-tag { +  background-position: 0 -48px; +} + +.icon-tags { +  background-position: -25px -48px; +} + +.icon-book { +  background-position: -48px -48px; +} + +.icon-bookmark { +  background-position: -72px -48px; +} + +.icon-print { +  background-position: -96px -48px; +} + +.icon-camera { +  background-position: -120px -48px; +} + +.icon-font { +  background-position: -144px -48px; +} + +.icon-bold { +  background-position: -167px -48px; +} + +.icon-italic { +  background-position: -192px -48px; +} + +.icon-text-height { +  background-position: -216px -48px; +} + +.icon-text-width { +  background-position: -240px -48px; +} + +.icon-align-left { +  background-position: -264px -48px; +} + +.icon-align-center { +  background-position: -288px -48px; +} + +.icon-align-right { +  background-position: -312px -48px; +} + +.icon-align-justify { +  background-position: -336px -48px; +} + +.icon-list { +  background-position: -360px -48px; +} + +.icon-indent-left { +  background-position: -384px -48px; +} + +.icon-indent-right { +  background-position: -408px -48px; +} + +.icon-facetime-video { +  background-position: -432px -48px; +} + +.icon-picture { +  background-position: -456px -48px; +} + +.icon-pencil { +  background-position: 0 -72px; +} + +.icon-map-marker { +  background-position: -24px -72px; +} + +.icon-adjust { +  background-position: -48px -72px; +} + +.icon-tint { +  background-position: -72px -72px; +} + +.icon-edit { +  background-position: -96px -72px; +} + +.icon-share { +  background-position: -120px -72px; +} + +.icon-check { +  background-position: -144px -72px; +} + +.icon-move { +  background-position: -168px -72px; +} + +.icon-step-backward { +  background-position: -192px -72px; +} + +.icon-fast-backward { +  background-position: -216px -72px; +} + +.icon-backward { +  background-position: -240px -72px; +} + +.icon-play { +  background-position: -264px -72px; +} + +.icon-pause { +  background-position: -288px -72px; +} + +.icon-stop { +  background-position: -312px -72px; +} + +.icon-forward { +  background-position: -336px -72px; +} + +.icon-fast-forward { +  background-position: -360px -72px; +} + +.icon-step-forward { +  background-position: -384px -72px; +} + +.icon-eject { +  background-position: -408px -72px; +} + +.icon-chevron-left { +  background-position: -432px -72px; +} + +.icon-chevron-right { +  background-position: -456px -72px; +} + +.icon-plus-sign { +  background-position: 0 -96px; +} + +.icon-minus-sign { +  background-position: -24px -96px; +} + +.icon-remove-sign { +  background-position: -48px -96px; +} + +.icon-ok-sign { +  background-position: -72px -96px; +} + +.icon-question-sign { +  background-position: -96px -96px; +} + +.icon-info-sign { +  background-position: -120px -96px; +} + +.icon-screenshot { +  background-position: -144px -96px; +} + +.icon-remove-circle { +  background-position: -168px -96px; +} + +.icon-ok-circle { +  background-position: -192px -96px; +} + +.icon-ban-circle { +  background-position: -216px -96px; +} + +.icon-arrow-left { +  background-position: -240px -96px; +} + +.icon-arrow-right { +  background-position: -264px -96px; +} + +.icon-arrow-up { +  background-position: -289px -96px; +} + +.icon-arrow-down { +  background-position: -312px -96px; +} + +.icon-share-alt { +  background-position: -336px -96px; +} + +.icon-resize-full { +  background-position: -360px -96px; +} + +.icon-resize-small { +  background-position: -384px -96px; +} + +.icon-plus { +  background-position: -408px -96px; +} + +.icon-minus { +  background-position: -433px -96px; +} + +.icon-asterisk { +  background-position: -456px -96px; +} + +.icon-exclamation-sign { +  background-position: 0 -120px; +} + +.icon-gift { +  background-position: -24px -120px; +} + +.icon-leaf { +  background-position: -48px -120px; +} + +.icon-fire { +  background-position: -72px -120px; +} + +.icon-eye-open { +  background-position: -96px -120px; +} + +.icon-eye-close { +  background-position: -120px -120px; +} + +.icon-warning-sign { +  background-position: -144px -120px; +} + +.icon-plane { +  background-position: -168px -120px; +} + +.icon-calendar { +  background-position: -192px -120px; +} + +.icon-random { +  background-position: -216px -120px; +} + +.icon-comment { +  background-position: -240px -120px; +} + +.icon-magnet { +  background-position: -264px -120px; +} + +.icon-chevron-up { +  background-position: -288px -120px; +} + +.icon-chevron-down { +  background-position: -313px -119px; +} + +.icon-retweet { +  background-position: -336px -120px; +} + +.icon-shopping-cart { +  background-position: -360px -120px; +} + +.icon-folder-close { +  background-position: -384px -120px; +} + +.icon-folder-open { +  background-position: -408px -120px; +} + +.icon-resize-vertical { +  background-position: -432px -119px; +} + +.icon-resize-horizontal { +  background-position: -456px -118px; +} + +.icon-hdd { +  background-position: 0 -144px; +} + +.icon-bullhorn { +  background-position: -24px -144px; +} + +.icon-bell { +  background-position: -48px -144px; +} + +.icon-certificate { +  background-position: -72px -144px; +} + +.icon-thumbs-up { +  background-position: -96px -144px; +} + +.icon-thumbs-down { +  background-position: -120px -144px; +} + +.icon-hand-right { +  background-position: -144px -144px; +} + +.icon-hand-left { +  background-position: -168px -144px; +} + +.icon-hand-up { +  background-position: -192px -144px; +} + +.icon-hand-down { +  background-position: -216px -144px; +} + +.icon-circle-arrow-right { +  background-position: -240px -144px; +} + +.icon-circle-arrow-left { +  background-position: -264px -144px; +} + +.icon-circle-arrow-up { +  background-position: -288px -144px; +} + +.icon-circle-arrow-down { +  background-position: -312px -144px; +} + +.icon-globe { +  background-position: -336px -144px; +} + +.icon-wrench { +  background-position: -360px -144px; +} + +.icon-tasks { +  background-position: -384px -144px; +} + +.icon-filter { +  background-position: -408px -144px; +} + +.icon-briefcase { +  background-position: -432px -144px; +} + +.icon-fullscreen { +  background-position: -456px -144px; +} + +.dropup, +.dropdown { +  position: relative; +} + +.dropdown-toggle { +  *margin-bottom: -3px; +} + +.dropdown-toggle:active, +.open .dropdown-toggle { +  outline: 0; +} + +.caret { +  display: inline-block; +  width: 0; +  height: 0; +  vertical-align: top; +  border-top: 4px solid #000000; +  border-right: 4px solid transparent; +  border-left: 4px solid transparent; +  content: ""; +  opacity: 0.3; +  filter: alpha(opacity=30); +} + +.dropdown .caret { +  margin-top: 8px; +  margin-left: 2px; +} + +.dropdown:hover .caret, +.open .caret { +  opacity: 1; +  filter: alpha(opacity=100); +} + +.dropdown-menu { +  position: absolute; +  top: 100%; +  left: 0; +  z-index: 1000; +  display: none; +  float: left; +  min-width: 160px; +  padding: 4px 0; +  margin: 1px 0 0; +  list-style: none; +  background-color: #ffffff; +  border: 1px solid #ccc; +  border: 1px solid rgba(0, 0, 0, 0.2); +  *border-right-width: 2px; +  *border-bottom-width: 2px; +  -webkit-border-radius: 5px; +     -moz-border-radius: 5px; +          border-radius: 5px; +  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +  -webkit-background-clip: padding-box; +     -moz-background-clip: padding; +          background-clip: padding-box; +} + +.dropdown-menu.pull-right { +  right: 0; +  left: auto; +} + +.dropdown-menu .divider { +  *width: 100%; +  height: 1px; +  margin: 8px 1px; +  *margin: -5px 0 5px; +  overflow: hidden; +  background-color: #e5e5e5; +  border-bottom: 1px solid #ffffff; +} + +.dropdown-menu a { +  display: block; +  padding: 3px 15px; +  clear: both; +  font-weight: normal; +  line-height: 18px; +  color: #333333; +  white-space: nowrap; +} + +.dropdown-menu li > a:hover, +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { +  color: #ffffff; +  text-decoration: none; +  background-color: #0088cc; +} + +.open { +  *z-index: 1000; +} + +.open > .dropdown-menu { +  display: block; +} + +.pull-right > .dropdown-menu { +  right: 0; +  left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { +  border-top: 0; +  border-bottom: 4px solid #000000; +  content: "\2191"; +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { +  top: auto; +  bottom: 100%; +  margin-bottom: 1px; +} + +.typeahead { +  margin-top: 2px; +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +} + +.well { +  min-height: 20px; +  padding: 19px; +  margin-bottom: 20px; +  background-color: #f5f5f5; +  border: 1px solid #eee; +  border: 1px solid rgba(0, 0, 0, 0.05); +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +     -moz-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-large { +  padding: 24px; +  -webkit-border-radius: 6px; +     -moz-border-radius: 6px; +          border-radius: 6px; +} + +.well-small { +  padding: 9px; +  -webkit-border-radius: 3px; +     -moz-border-radius: 3px; +          border-radius: 3px; +} + +.fade { +  opacity: 0; +  -webkit-transition: opacity 0.15s linear; +     -moz-transition: opacity 0.15s linear; +      -ms-transition: opacity 0.15s linear; +       -o-transition: opacity 0.15s linear; +          transition: opacity 0.15s linear; +} + +.fade.in { +  opacity: 1; +} + +.collapse { +  position: relative; +  height: 0; +  overflow: hidden; +  -webkit-transition: height 0.35s ease; +     -moz-transition: height 0.35s ease; +      -ms-transition: height 0.35s ease; +       -o-transition: height 0.35s ease; +          transition: height 0.35s ease; +} + +.collapse.in { +  height: auto; +} + +.close { +  float: right; +  font-size: 20px; +  font-weight: bold; +  line-height: 18px; +  color: #000000; +  text-shadow: 0 1px 0 #ffffff; +  opacity: 0.2; +  filter: alpha(opacity=20); +} + +.close:hover { +  color: #000000; +  text-decoration: none; +  cursor: pointer; +  opacity: 0.4; +  filter: alpha(opacity=40); +} + +button.close { +  padding: 0; +  cursor: pointer; +  background: transparent; +  border: 0; +  -webkit-appearance: none; +} + +.btn { +  display: inline-block; +  *display: inline; +  padding: 4px 10px 4px; +  margin-bottom: 0; +  *margin-left: .3em; +  font-size: 13px; +  line-height: 18px; +  *line-height: 20px; +  color: #333333; +  text-align: center; +  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); +  vertical-align: middle; +  cursor: pointer; +  background-color: #f5f5f5; +  *background-color: #e6e6e6; +  background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); +  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); +  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); +  background-image: linear-gradient(top, #ffffff, #e6e6e6); +  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); +  background-repeat: repeat-x; +  border: 1px solid #cccccc; +  *border: 0; +  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +  border-color: #e6e6e6 #e6e6e6 #bfbfbf; +  border-bottom-color: #b3b3b3; +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); +  filter: progid:dximagetransform.microsoft.gradient(enabled=false); +  *zoom: 1; +  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn:hover, +.btn:active, +.btn.active, +.btn.disabled, +.btn[disabled] { +  background-color: #e6e6e6; +  *background-color: #d9d9d9; +} + +.btn:active, +.btn.active { +  background-color: #cccccc \9; +} + +.btn:first-child { +  *margin-left: 0; +} + +.btn:hover { +  color: #333333; +  text-decoration: none; +  background-color: #e6e6e6; +  *background-color: #d9d9d9; +  /* Buttons in IE7 don't get borders, so darken on hover */ + +  background-position: 0 -15px; +  -webkit-transition: background-position 0.1s linear; +     -moz-transition: background-position 0.1s linear; +      -ms-transition: background-position 0.1s linear; +       -o-transition: background-position 0.1s linear; +          transition: background-position 0.1s linear; +} + +.btn:focus { +  outline: thin dotted #333; +  outline: 5px auto -webkit-focus-ring-color; +  outline-offset: -2px; +} + +.btn.active, +.btn:active { +  background-color: #e6e6e6; +  background-color: #d9d9d9 \9; +  background-image: none; +  outline: 0; +  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn.disabled, +.btn[disabled] { +  cursor: default; +  background-color: #e6e6e6; +  background-image: none; +  opacity: 0.65; +  filter: alpha(opacity=65); +  -webkit-box-shadow: none; +     -moz-box-shadow: none; +          box-shadow: none; +} + +.btn-large { +  padding: 9px 14px; +  font-size: 15px; +  line-height: normal; +  -webkit-border-radius: 5px; +     -moz-border-radius: 5px; +          border-radius: 5px; +} + +.btn-large [class^="icon-"] { +  margin-top: 1px; +} + +.btn-small { +  padding: 5px 9px; +  font-size: 11px; +  line-height: 16px; +} + +.btn-small [class^="icon-"] { +  margin-top: -1px; +} + +.btn-mini { +  padding: 2px 6px; +  font-size: 11px; +  line-height: 14px; +} + +.btn-primary, +.btn-primary:hover, +.btn-warning, +.btn-warning:hover, +.btn-danger, +.btn-danger:hover, +.btn-success, +.btn-success:hover, +.btn-info, +.btn-info:hover, +.btn-inverse, +.btn-inverse:hover { +  color: #ffffff; +  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { +  color: rgba(255, 255, 255, 0.75); +} + +.btn { +  border-color: #ccc; +  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +} + +.btn-primary { +  background-color: #0074cc; +  *background-color: #0055cc; +  background-image: -ms-linear-gradient(top, #0088cc, #0055cc); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc)); +  background-image: -webkit-linear-gradient(top, #0088cc, #0055cc); +  background-image: -o-linear-gradient(top, #0088cc, #0055cc); +  background-image: -moz-linear-gradient(top, #0088cc, #0055cc); +  background-image: linear-gradient(top, #0088cc, #0055cc); +  background-repeat: repeat-x; +  border-color: #0055cc #0055cc #003580; +  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0); +  filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-primary:hover, +.btn-primary:active, +.btn-primary.active, +.btn-primary.disabled, +.btn-primary[disabled] { +  background-color: #0055cc; +  *background-color: #004ab3; +} + +.btn-primary:active, +.btn-primary.active { +  background-color: #004099 \9; +} + +.btn-warning { +  background-color: #faa732; +  *background-color: #f89406; +  background-image: -ms-linear-gradient(top, #fbb450, #f89406); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); +  background-image: -webkit-linear-gradient(top, #fbb450, #f89406); +  background-image: -o-linear-gradient(top, #fbb450, #f89406); +  background-image: -moz-linear-gradient(top, #fbb450, #f89406); +  background-image: linear-gradient(top, #fbb450, #f89406); +  background-repeat: repeat-x; +  border-color: #f89406 #f89406 #ad6704; +  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); +  filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-warning:hover, +.btn-warning:active, +.btn-warning.active, +.btn-warning.disabled, +.btn-warning[disabled] { +  background-color: #f89406; +  *background-color: #df8505; +} + +.btn-warning:active, +.btn-warning.active { +  background-color: #c67605 \9; +} + +.btn-danger { +  background-color: #da4f49; +  *background-color: #bd362f; +  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); +  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); +  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); +  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); +  background-image: linear-gradient(top, #ee5f5b, #bd362f); +  background-repeat: repeat-x; +  border-color: #bd362f #bd362f #802420; +  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0); +  filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-danger:hover, +.btn-danger:active, +.btn-danger.active, +.btn-danger.disabled, +.btn-danger[disabled] { +  background-color: #bd362f; +  *background-color: #a9302a; +} + +.btn-danger:active, +.btn-danger.active { +  background-color: #942a25 \9; +} + +.btn-success { +  background-color: #5bb75b; +  *background-color: #51a351; +  background-image: -ms-linear-gradient(top, #62c462, #51a351); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); +  background-image: -webkit-linear-gradient(top, #62c462, #51a351); +  background-image: -o-linear-gradient(top, #62c462, #51a351); +  background-image: -moz-linear-gradient(top, #62c462, #51a351); +  background-image: linear-gradient(top, #62c462, #51a351); +  background-repeat: repeat-x; +  border-color: #51a351 #51a351 #387038; +  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0); +  filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-success:hover, +.btn-success:active, +.btn-success.active, +.btn-success.disabled, +.btn-success[disabled] { +  background-color: #51a351; +  *background-color: #499249; +} + +.btn-success:active, +.btn-success.active { +  background-color: #408140 \9; +} + +.btn-info { +  background-color: #49afcd; +  *background-color: #2f96b4; +  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); +  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); +  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); +  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); +  background-image: linear-gradient(top, #5bc0de, #2f96b4); +  background-repeat: repeat-x; +  border-color: #2f96b4 #2f96b4 #1f6377; +  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0); +  filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-info:hover, +.btn-info:active, +.btn-info.active, +.btn-info.disabled, +.btn-info[disabled] { +  background-color: #2f96b4; +  *background-color: #2a85a0; +} + +.btn-info:active, +.btn-info.active { +  background-color: #24748c \9; +} + +.btn-inverse { +  background-color: #414141; +  *background-color: #222222; +  background-image: -ms-linear-gradient(top, #555555, #222222); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222)); +  background-image: -webkit-linear-gradient(top, #555555, #222222); +  background-image: -o-linear-gradient(top, #555555, #222222); +  background-image: -moz-linear-gradient(top, #555555, #222222); +  background-image: linear-gradient(top, #555555, #222222); +  background-repeat: repeat-x; +  border-color: #222222 #222222 #000000; +  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0); +  filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-inverse:hover, +.btn-inverse:active, +.btn-inverse.active, +.btn-inverse.disabled, +.btn-inverse[disabled] { +  background-color: #222222; +  *background-color: #151515; +} + +.btn-inverse:active, +.btn-inverse.active { +  background-color: #080808 \9; +} + +button.btn, +input[type="submit"].btn { +  *padding-top: 2px; +  *padding-bottom: 2px; +} + +button.btn::-moz-focus-inner, +input[type="submit"].btn::-moz-focus-inner { +  padding: 0; +  border: 0; +} + +button.btn.btn-large, +input[type="submit"].btn.btn-large { +  *padding-top: 7px; +  *padding-bottom: 7px; +} + +button.btn.btn-small, +input[type="submit"].btn.btn-small { +  *padding-top: 3px; +  *padding-bottom: 3px; +} + +button.btn.btn-mini, +input[type="submit"].btn.btn-mini { +  *padding-top: 1px; +  *padding-bottom: 1px; +} + +.btn-group { +  position: relative; +  *margin-left: .3em; +  *zoom: 1; +} + +.btn-group:before, +.btn-group:after { +  display: table; +  content: ""; +} + +.btn-group:after { +  clear: both; +} + +.btn-group:first-child { +  *margin-left: 0; +} + +.btn-group + .btn-group { +  margin-left: 5px; +} + +.btn-toolbar { +  margin-top: 9px; +  margin-bottom: 9px; +} + +.btn-toolbar .btn-group { +  display: inline-block; +  *display: inline; +  /* IE7 inline-block hack */ + +  *zoom: 1; +} + +.btn-group > .btn { +  position: relative; +  float: left; +  margin-left: -1px; +  -webkit-border-radius: 0; +     -moz-border-radius: 0; +          border-radius: 0; +} + +.btn-group > .btn:first-child { +  margin-left: 0; +  -webkit-border-bottom-left-radius: 4px; +          border-bottom-left-radius: 4px; +  -webkit-border-top-left-radius: 4px; +          border-top-left-radius: 4px; +  -moz-border-radius-bottomleft: 4px; +  -moz-border-radius-topleft: 4px; +} + +.btn-group > .btn:last-child, +.btn-group > .dropdown-toggle { +  -webkit-border-top-right-radius: 4px; +          border-top-right-radius: 4px; +  -webkit-border-bottom-right-radius: 4px; +          border-bottom-right-radius: 4px; +  -moz-border-radius-topright: 4px; +  -moz-border-radius-bottomright: 4px; +} + +.btn-group > .btn.large:first-child { +  margin-left: 0; +  -webkit-border-bottom-left-radius: 6px; +          border-bottom-left-radius: 6px; +  -webkit-border-top-left-radius: 6px; +          border-top-left-radius: 6px; +  -moz-border-radius-bottomleft: 6px; +  -moz-border-radius-topleft: 6px; +} + +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { +  -webkit-border-top-right-radius: 6px; +          border-top-right-radius: 6px; +  -webkit-border-bottom-right-radius: 6px; +          border-bottom-right-radius: 6px; +  -moz-border-radius-topright: 6px; +  -moz-border-radius-bottomright: 6px; +} + +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active { +  z-index: 2; +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { +  outline: 0; +} + +.btn-group > .dropdown-toggle { +  *padding-top: 4px; +  padding-right: 8px; +  *padding-bottom: 4px; +  padding-left: 8px; +  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +     -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +          box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group > .btn-mini.dropdown-toggle { +  padding-right: 5px; +  padding-left: 5px; +} + +.btn-group > .btn-small.dropdown-toggle { +  *padding-top: 4px; +  *padding-bottom: 4px; +} + +.btn-group > .btn-large.dropdown-toggle { +  padding-right: 12px; +  padding-left: 12px; +} + +.btn-group.open .dropdown-toggle { +  background-image: none; +  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group.open .btn.dropdown-toggle { +  background-color: #e6e6e6; +} + +.btn-group.open .btn-primary.dropdown-toggle { +  background-color: #0055cc; +} + +.btn-group.open .btn-warning.dropdown-toggle { +  background-color: #f89406; +} + +.btn-group.open .btn-danger.dropdown-toggle { +  background-color: #bd362f; +} + +.btn-group.open .btn-success.dropdown-toggle { +  background-color: #51a351; +} + +.btn-group.open .btn-info.dropdown-toggle { +  background-color: #2f96b4; +} + +.btn-group.open .btn-inverse.dropdown-toggle { +  background-color: #222222; +} + +.btn .caret { +  margin-top: 7px; +  margin-left: 0; +} + +.btn:hover .caret, +.open.btn-group .caret { +  opacity: 1; +  filter: alpha(opacity=100); +} + +.btn-mini .caret { +  margin-top: 5px; +} + +.btn-small .caret { +  margin-top: 6px; +} + +.btn-large .caret { +  margin-top: 6px; +  border-top-width: 5px; +  border-right-width: 5px; +  border-left-width: 5px; +} + +.dropup .btn-large .caret { +  border-top: 0; +  border-bottom: 5px solid #000000; +} + +.btn-primary .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret, +.btn-success .caret, +.btn-inverse .caret { +  border-top-color: #ffffff; +  border-bottom-color: #ffffff; +  opacity: 0.75; +  filter: alpha(opacity=75); +} + +.alert { +  padding: 8px 35px 8px 14px; +  margin-bottom: 18px; +  color: #c09853; +  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +  background-color: #fcf8e3; +  border: 1px solid #fbeed5; +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +} + +.alert-heading { +  color: inherit; +} + +.alert .close { +  position: relative; +  top: -2px; +  right: -21px; +  line-height: 18px; +} + +.alert-success { +  color: #468847; +  background-color: #dff0d8; +  border-color: #d6e9c6; +} + +.alert-danger, +.alert-error { +  color: #b94a48; +  background-color: #f2dede; +  border-color: #eed3d7; +} + +.alert-info { +  color: #3a87ad; +  background-color: #d9edf7; +  border-color: #bce8f1; +} + +.alert-block { +  padding-top: 14px; +  padding-bottom: 14px; +} + +.alert-block > p, +.alert-block > ul { +  margin-bottom: 0; +} + +.alert-block p + p { +  margin-top: 5px; +} + +.nav { +  margin-bottom: 18px; +  margin-left: 0; +  list-style: none; +} + +.nav > li > a { +  display: block; +} + +.nav > li > a:hover { +  text-decoration: none; +  background-color: #eeeeee; +} + +.nav > .pull-right { +  float: right; +} + +.nav .nav-header { +  display: block; +  padding: 3px 15px; +  font-size: 11px; +  font-weight: bold; +  line-height: 18px; +  color: #999999; +  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +  text-transform: uppercase; +} + +.nav li + .nav-header { +  margin-top: 9px; +} + +.nav-list { +  padding-right: 15px; +  padding-left: 15px; +  margin-bottom: 0; +} + +.nav-list > li > a, +.nav-list .nav-header { +  margin-right: -15px; +  margin-left: -15px; +  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + +.nav-list > li > a { +  padding: 3px 15px; +} + +.nav-list > .active > a, +.nav-list > .active > a:hover { +  color: #ffffff; +  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); +  background-color: #0088cc; +} + +.nav-list [class^="icon-"] { +  margin-right: 2px; +} + +.nav-list .divider { +  *width: 100%; +  height: 1px; +  margin: 8px 1px; +  *margin: -5px 0 5px; +  overflow: hidden; +  background-color: #e5e5e5; +  border-bottom: 1px solid #ffffff; +} + +.nav-tabs, +.nav-pills { +  *zoom: 1; +} + +.nav-tabs:before, +.nav-pills:before, +.nav-tabs:after, +.nav-pills:after { +  display: table; +  content: ""; +} + +.nav-tabs:after, +.nav-pills:after { +  clear: both; +} + +.nav-tabs > li, +.nav-pills > li { +  float: left; +} + +.nav-tabs > li > a, +.nav-pills > li > a { +  padding-right: 12px; +  padding-left: 12px; +  margin-right: 2px; +  line-height: 14px; +} + +.nav-tabs { +  border-bottom: 1px solid #ddd; +} + +.nav-tabs > li { +  margin-bottom: -1px; +} + +.nav-tabs > li > a { +  padding-top: 8px; +  padding-bottom: 8px; +  line-height: 18px; +  border: 1px solid transparent; +  -webkit-border-radius: 4px 4px 0 0; +     -moz-border-radius: 4px 4px 0 0; +          border-radius: 4px 4px 0 0; +} + +.nav-tabs > li > a:hover { +  border-color: #eeeeee #eeeeee #dddddd; +} + +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover { +  color: #555555; +  cursor: default; +  background-color: #ffffff; +  border: 1px solid #ddd; +  border-bottom-color: transparent; +} + +.nav-pills > li > a { +  padding-top: 8px; +  padding-bottom: 8px; +  margin-top: 2px; +  margin-bottom: 2px; +  -webkit-border-radius: 5px; +     -moz-border-radius: 5px; +          border-radius: 5px; +} + +.nav-pills > .active > a, +.nav-pills > .active > a:hover { +  color: #ffffff; +  background-color: #0088cc; +} + +.nav-stacked > li { +  float: none; +} + +.nav-stacked > li > a { +  margin-right: 0; +} + +.nav-tabs.nav-stacked { +  border-bottom: 0; +} + +.nav-tabs.nav-stacked > li > a { +  border: 1px solid #ddd; +  -webkit-border-radius: 0; +     -moz-border-radius: 0; +          border-radius: 0; +} + +.nav-tabs.nav-stacked > li:first-child > a { +  -webkit-border-radius: 4px 4px 0 0; +     -moz-border-radius: 4px 4px 0 0; +          border-radius: 4px 4px 0 0; +} + +.nav-tabs.nav-stacked > li:last-child > a { +  -webkit-border-radius: 0 0 4px 4px; +     -moz-border-radius: 0 0 4px 4px; +          border-radius: 0 0 4px 4px; +} + +.nav-tabs.nav-stacked > li > a:hover { +  z-index: 2; +  border-color: #ddd; +} + +.nav-pills.nav-stacked > li > a { +  margin-bottom: 3px; +} + +.nav-pills.nav-stacked > li:last-child > a { +  margin-bottom: 1px; +} + +.nav-tabs .dropdown-menu { +  -webkit-border-radius: 0 0 5px 5px; +     -moz-border-radius: 0 0 5px 5px; +          border-radius: 0 0 5px 5px; +} + +.nav-pills .dropdown-menu { +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +} + +.nav-tabs .dropdown-toggle .caret, +.nav-pills .dropdown-toggle .caret { +  margin-top: 6px; +  border-top-color: #0088cc; +  border-bottom-color: #0088cc; +} + +.nav-tabs .dropdown-toggle:hover .caret, +.nav-pills .dropdown-toggle:hover .caret { +  border-top-color: #005580; +  border-bottom-color: #005580; +} + +.nav-tabs .active .dropdown-toggle .caret, +.nav-pills .active .dropdown-toggle .caret { +  border-top-color: #333333; +  border-bottom-color: #333333; +} + +.nav > .dropdown.active > a:hover { +  color: #000000; +  cursor: pointer; +} + +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > li.dropdown.open.active > a:hover { +  color: #ffffff; +  background-color: #999999; +  border-color: #999999; +} + +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret { +  border-top-color: #ffffff; +  border-bottom-color: #ffffff; +  opacity: 1; +  filter: alpha(opacity=100); +} + +.tabs-stacked .open > a:hover { +  border-color: #999999; +} + +.tabbable { +  *zoom: 1; +} + +.tabbable:before, +.tabbable:after { +  display: table; +  content: ""; +} + +.tabbable:after { +  clear: both; +} + +.tab-content { +  overflow: auto; +} + +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { +  border-bottom: 0; +} + +.tab-content > .tab-pane, +.pill-content > .pill-pane { +  display: none; +} + +.tab-content > .active, +.pill-content > .active { +  display: block; +} + +.tabs-below > .nav-tabs { +  border-top: 1px solid #ddd; +} + +.tabs-below > .nav-tabs > li { +  margin-top: -1px; +  margin-bottom: 0; +} + +.tabs-below > .nav-tabs > li > a { +  -webkit-border-radius: 0 0 4px 4px; +     -moz-border-radius: 0 0 4px 4px; +          border-radius: 0 0 4px 4px; +} + +.tabs-below > .nav-tabs > li > a:hover { +  border-top-color: #ddd; +  border-bottom-color: transparent; +} + +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover { +  border-color: transparent #ddd #ddd #ddd; +} + +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { +  float: none; +} + +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { +  min-width: 74px; +  margin-right: 0; +  margin-bottom: 3px; +} + +.tabs-left > .nav-tabs { +  float: left; +  margin-right: 19px; +  border-right: 1px solid #ddd; +} + +.tabs-left > .nav-tabs > li > a { +  margin-right: -1px; +  -webkit-border-radius: 4px 0 0 4px; +     -moz-border-radius: 4px 0 0 4px; +          border-radius: 4px 0 0 4px; +} + +.tabs-left > .nav-tabs > li > a:hover { +  border-color: #eeeeee #dddddd #eeeeee #eeeeee; +} + +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover { +  border-color: #ddd transparent #ddd #ddd; +  *border-right-color: #ffffff; +} + +.tabs-right > .nav-tabs { +  float: right; +  margin-left: 19px; +  border-left: 1px solid #ddd; +} + +.tabs-right > .nav-tabs > li > a { +  margin-left: -1px; +  -webkit-border-radius: 0 4px 4px 0; +     -moz-border-radius: 0 4px 4px 0; +          border-radius: 0 4px 4px 0; +} + +.tabs-right > .nav-tabs > li > a:hover { +  border-color: #eeeeee #eeeeee #eeeeee #dddddd; +} + +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover { +  border-color: #ddd #ddd #ddd transparent; +  *border-left-color: #ffffff; +} + +.navbar { +  *position: relative; +  *z-index: 2; +  margin-bottom: 18px; +  overflow: visible; +} + +.navbar-inner { +  min-height: 40px; +  padding-right: 20px; +  padding-left: 20px; +  background-color: #2c2c2c; +  background-image: -moz-linear-gradient(top, #333333, #222222); +  background-image: -ms-linear-gradient(top, #333333, #222222); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222)); +  background-image: -webkit-linear-gradient(top, #333333, #222222); +  background-image: -o-linear-gradient(top, #333333, #222222); +  background-image: linear-gradient(top, #333333, #222222); +  background-repeat: repeat-x; +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0); +  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); +     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); +          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); +} + +.navbar .container { +  width: auto; +} + +.nav-collapse.collapse { +  height: auto; +} + +.navbar { +  color: #999999; +} + +.navbar .brand:hover { +  text-decoration: none; +} + +.navbar .brand { +  display: block; +  float: left; +  padding: 8px 20px 12px; +  margin-left: -20px; +  font-size: 20px; +  font-weight: 200; +  line-height: 1; +  color: #999999; +} + +.navbar .navbar-text { +  margin-bottom: 0; +  line-height: 40px; +} + +.navbar .navbar-link { +  color: #999999; +} + +.navbar .navbar-link:hover { +  color: #ffffff; +} + +.navbar .btn, +.navbar .btn-group { +  margin-top: 5px; +} + +.navbar .btn-group .btn { +  margin: 0; +} + +.navbar-form { +  margin-bottom: 0; +  *zoom: 1; +} + +.navbar-form:before, +.navbar-form:after { +  display: table; +  content: ""; +} + +.navbar-form:after { +  clear: both; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .radio, +.navbar-form .checkbox { +  margin-top: 5px; +} + +.navbar-form input, +.navbar-form select { +  display: inline-block; +  margin-bottom: 0; +} + +.navbar-form input[type="image"], +.navbar-form input[type="checkbox"], +.navbar-form input[type="radio"] { +  margin-top: 3px; +} + +.navbar-form .input-append, +.navbar-form .input-prepend { +  margin-top: 6px; +  white-space: nowrap; +} + +.navbar-form .input-append input, +.navbar-form .input-prepend input { +  margin-top: 0; +} + +.navbar-search { +  position: relative; +  float: left; +  margin-top: 6px; +  margin-bottom: 0; +} + +.navbar-search .search-query { +  padding: 4px 9px; +  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +  font-size: 13px; +  font-weight: normal; +  line-height: 1; +  color: #ffffff; +  background-color: #626262; +  border: 1px solid #151515; +  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); +     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); +          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); +  -webkit-transition: none; +     -moz-transition: none; +      -ms-transition: none; +       -o-transition: none; +          transition: none; +} + +.navbar-search .search-query:-moz-placeholder { +  color: #cccccc; +} + +.navbar-search .search-query:-ms-input-placeholder { +  color: #cccccc; +} + +.navbar-search .search-query::-webkit-input-placeholder { +  color: #cccccc; +} + +.navbar-search .search-query:focus, +.navbar-search .search-query.focused { +  padding: 5px 10px; +  color: #333333; +  text-shadow: 0 1px 0 #ffffff; +  background-color: #ffffff; +  border: 0; +  outline: 0; +  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); +     -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); +          box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); +} + +.navbar-fixed-top, +.navbar-fixed-bottom { +  position: fixed; +  right: 0; +  left: 0; +  z-index: 1030; +  margin-bottom: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { +  padding-right: 0; +  padding-left: 0; +  -webkit-border-radius: 0; +     -moz-border-radius: 0; +          border-radius: 0; +} + +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { +  width: 940px; +} + +.navbar-fixed-top { +  top: 0; +} + +.navbar-fixed-bottom { +  bottom: 0; +} + +.navbar .nav { +  position: relative; +  left: 0; +  display: block; +  float: left; +  margin: 0 10px 0 0; +} + +.navbar .nav.pull-right { +  float: right; +} + +.navbar .nav > li { +  display: block; +  float: left; +} + +.navbar .nav > li > a { +  float: none; +  padding: 9px 10px 11px; +  line-height: 19px; +  color: #999999; +  text-decoration: none; +  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.navbar .btn { +  display: inline-block; +  padding: 4px 10px 4px; +  margin: 5px 5px 6px; +  line-height: 18px; +} + +.navbar .btn-group { +  padding: 5px 5px 6px; +  margin: 0; +} + +.navbar .nav > li > a:hover { +  color: #ffffff; +  text-decoration: none; +  background-color: transparent; +} + +.navbar .nav .active > a, +.navbar .nav .active > a:hover { +  color: #ffffff; +  text-decoration: none; +  background-color: #222222; +} + +.navbar .divider-vertical { +  width: 1px; +  height: 40px; +  margin: 0 9px; +  overflow: hidden; +  background-color: #222222; +  border-right: 1px solid #333333; +} + +.navbar .nav.pull-right { +  margin-right: 0; +  margin-left: 10px; +} + +.navbar .btn-navbar { +  display: none; +  float: right; +  padding: 7px 10px; +  margin-right: 5px; +  margin-left: 5px; +  background-color: #2c2c2c; +  *background-color: #222222; +  background-image: -ms-linear-gradient(top, #333333, #222222); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222)); +  background-image: -webkit-linear-gradient(top, #333333, #222222); +  background-image: -o-linear-gradient(top, #333333, #222222); +  background-image: linear-gradient(top, #333333, #222222); +  background-image: -moz-linear-gradient(top, #333333, #222222); +  background-repeat: repeat-x; +  border-color: #222222 #222222 #000000; +  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0); +  filter: progid:dximagetransform.microsoft.gradient(enabled=false); +  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); +     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); +          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); +} + +.navbar .btn-navbar:hover, +.navbar .btn-navbar:active, +.navbar .btn-navbar.active, +.navbar .btn-navbar.disabled, +.navbar .btn-navbar[disabled] { +  background-color: #222222; +  *background-color: #151515; +} + +.navbar .btn-navbar:active, +.navbar .btn-navbar.active { +  background-color: #080808 \9; +} + +.navbar .btn-navbar .icon-bar { +  display: block; +  width: 18px; +  height: 2px; +  background-color: #f5f5f5; +  -webkit-border-radius: 1px; +     -moz-border-radius: 1px; +          border-radius: 1px; +  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +     -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +          box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} + +.btn-navbar .icon-bar + .icon-bar { +  margin-top: 3px; +} + +.navbar .dropdown-menu:before { +  position: absolute; +  top: -7px; +  left: 9px; +  display: inline-block; +  border-right: 7px solid transparent; +  border-bottom: 7px solid #ccc; +  border-left: 7px solid transparent; +  border-bottom-color: rgba(0, 0, 0, 0.2); +  content: ''; +} + +.navbar .dropdown-menu:after { +  position: absolute; +  top: -6px; +  left: 10px; +  display: inline-block; +  border-right: 6px solid transparent; +  border-bottom: 6px solid #ffffff; +  border-left: 6px solid transparent; +  content: ''; +} + +.navbar-fixed-bottom .dropdown-menu:before { +  top: auto; +  bottom: -7px; +  border-top: 7px solid #ccc; +  border-bottom: 0; +  border-top-color: rgba(0, 0, 0, 0.2); +} + +.navbar-fixed-bottom .dropdown-menu:after { +  top: auto; +  bottom: -6px; +  border-top: 6px solid #ffffff; +  border-bottom: 0; +} + +.navbar .nav li.dropdown .dropdown-toggle .caret, +.navbar .nav li.dropdown.open .caret { +  border-top-color: #ffffff; +  border-bottom-color: #ffffff; +} + +.navbar .nav li.dropdown.active .caret { +  opacity: 1; +  filter: alpha(opacity=100); +} + +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { +  background-color: transparent; +} + +.navbar .nav li.dropdown.active > .dropdown-toggle:hover { +  color: #ffffff; +} + +.navbar .pull-right .dropdown-menu, +.navbar .dropdown-menu.pull-right { +  right: 0; +  left: auto; +} + +.navbar .pull-right .dropdown-menu:before, +.navbar .dropdown-menu.pull-right:before { +  right: 12px; +  left: auto; +} + +.navbar .pull-right .dropdown-menu:after, +.navbar .dropdown-menu.pull-right:after { +  right: 13px; +  left: auto; +} + +.breadcrumb { +  padding: 7px 14px; +  margin: 0 0 18px; +  list-style: none; +  background-color: #fbfbfb; +  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5); +  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5)); +  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5); +  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5); +  background-image: linear-gradient(top, #ffffff, #f5f5f5); +  background-repeat: repeat-x; +  border: 1px solid #ddd; +  -webkit-border-radius: 3px; +     -moz-border-radius: 3px; +          border-radius: 3px; +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0); +  -webkit-box-shadow: inset 0 1px 0 #ffffff; +     -moz-box-shadow: inset 0 1px 0 #ffffff; +          box-shadow: inset 0 1px 0 #ffffff; +} + +.breadcrumb li { +  display: inline-block; +  *display: inline; +  text-shadow: 0 1px 0 #ffffff; +  *zoom: 1; +} + +.breadcrumb .divider { +  padding: 0 5px; +  color: #999999; +} + +.breadcrumb .active a { +  color: #333333; +} + +.pagination { +  height: 36px; +  margin: 18px 0; +} + +.pagination ul { +  display: inline-block; +  *display: inline; +  margin-bottom: 0; +  margin-left: 0; +  -webkit-border-radius: 3px; +     -moz-border-radius: 3px; +          border-radius: 3px; +  *zoom: 1; +  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +     -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.pagination li { +  display: inline; +} + +.pagination a { +  float: left; +  padding: 0 14px; +  line-height: 34px; +  text-decoration: none; +  border: 1px solid #ddd; +  border-left-width: 0; +} + +.pagination a:hover, +.pagination .active a { +  background-color: #f5f5f5; +} + +.pagination .active a { +  color: #999999; +  cursor: default; +} + +.pagination .disabled span, +.pagination .disabled a, +.pagination .disabled a:hover { +  color: #999999; +  cursor: default; +  background-color: transparent; +} + +.pagination li:first-child a { +  border-left-width: 1px; +  -webkit-border-radius: 3px 0 0 3px; +     -moz-border-radius: 3px 0 0 3px; +          border-radius: 3px 0 0 3px; +} + +.pagination li:last-child a { +  -webkit-border-radius: 0 3px 3px 0; +     -moz-border-radius: 0 3px 3px 0; +          border-radius: 0 3px 3px 0; +} + +.pagination-centered { +  text-align: center; +} + +.pagination-right { +  text-align: right; +} + +.pager { +  margin-bottom: 18px; +  margin-left: 0; +  text-align: center; +  list-style: none; +  *zoom: 1; +} + +.pager:before, +.pager:after { +  display: table; +  content: ""; +} + +.pager:after { +  clear: both; +} + +.pager li { +  display: inline; +} + +.pager a { +  display: inline-block; +  padding: 5px 14px; +  background-color: #fff; +  border: 1px solid #ddd; +  -webkit-border-radius: 15px; +     -moz-border-radius: 15px; +          border-radius: 15px; +} + +.pager a:hover { +  text-decoration: none; +  background-color: #f5f5f5; +} + +.pager .next a { +  float: right; +} + +.pager .previous a { +  float: left; +} + +.pager .disabled a, +.pager .disabled a:hover { +  color: #999999; +  cursor: default; +  background-color: #fff; +} + +.modal-open .dropdown-menu { +  z-index: 2050; +} + +.modal-open .dropdown.open { +  *z-index: 2050; +} + +.modal-open .popover { +  z-index: 2060; +} + +.modal-open .tooltip { +  z-index: 2070; +} + +.modal-backdrop { +  position: fixed; +  top: 0; +  right: 0; +  bottom: 0; +  left: 0; +  z-index: 1040; +  background-color: #000000; +} + +.modal-backdrop.fade { +  opacity: 0; +} + +.modal-backdrop, +.modal-backdrop.fade.in { +  opacity: 0.8; +  filter: alpha(opacity=80); +} + +.modal { +  position: fixed; +  top: 50%; +  left: 50%; +  z-index: 1050; +  width: 560px; +  margin: -250px 0 0 -280px; +  overflow: auto; +  background-color: #ffffff; +  border: 1px solid #999; +  border: 1px solid rgba(0, 0, 0, 0.3); +  *border: 1px solid #999; +  -webkit-border-radius: 6px; +     -moz-border-radius: 6px; +          border-radius: 6px; +  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); +     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); +          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); +  -webkit-background-clip: padding-box; +     -moz-background-clip: padding-box; +          background-clip: padding-box; +} + +.modal.fade { +  top: -25%; +  -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; +     -moz-transition: opacity 0.3s linear, top 0.3s ease-out; +      -ms-transition: opacity 0.3s linear, top 0.3s ease-out; +       -o-transition: opacity 0.3s linear, top 0.3s ease-out; +          transition: opacity 0.3s linear, top 0.3s ease-out; +} + +.modal.fade.in { +  top: 50%; +} + +.modal-header { +  padding: 9px 15px; +  border-bottom: 1px solid #eee; +} + +.modal-header .close { +  margin-top: 2px; +} + +.modal-body { +  max-height: 400px; +  padding: 15px; +  overflow-y: auto; +} + +.modal-form { +  margin-bottom: 0; +} + +.modal-footer { +  padding: 14px 15px 15px; +  margin-bottom: 0; +  text-align: right; +  background-color: #f5f5f5; +  border-top: 1px solid #ddd; +  -webkit-border-radius: 0 0 6px 6px; +     -moz-border-radius: 0 0 6px 6px; +          border-radius: 0 0 6px 6px; +  *zoom: 1; +  -webkit-box-shadow: inset 0 1px 0 #ffffff; +     -moz-box-shadow: inset 0 1px 0 #ffffff; +          box-shadow: inset 0 1px 0 #ffffff; +} + +.modal-footer:before, +.modal-footer:after { +  display: table; +  content: ""; +} + +.modal-footer:after { +  clear: both; +} + +.modal-footer .btn + .btn { +  margin-bottom: 0; +  margin-left: 5px; +} + +.modal-footer .btn-group .btn + .btn { +  margin-left: -1px; +} + +.tooltip { +  position: absolute; +  z-index: 1020; +  display: block; +  padding: 5px; +  font-size: 11px; +  opacity: 0; +  filter: alpha(opacity=0); +  visibility: visible; +} + +.tooltip.in { +  opacity: 0.8; +  filter: alpha(opacity=80); +} + +.tooltip.top { +  margin-top: -2px; +} + +.tooltip.right { +  margin-left: 2px; +} + +.tooltip.bottom { +  margin-top: 2px; +} + +.tooltip.left { +  margin-left: -2px; +} + +.tooltip.top .tooltip-arrow { +  bottom: 0; +  left: 50%; +  margin-left: -5px; +  border-top: 5px solid #000000; +  border-right: 5px solid transparent; +  border-left: 5px solid transparent; +} + +.tooltip.left .tooltip-arrow { +  top: 50%; +  right: 0; +  margin-top: -5px; +  border-top: 5px solid transparent; +  border-bottom: 5px solid transparent; +  border-left: 5px solid #000000; +} + +.tooltip.bottom .tooltip-arrow { +  top: 0; +  left: 50%; +  margin-left: -5px; +  border-right: 5px solid transparent; +  border-bottom: 5px solid #000000; +  border-left: 5px solid transparent; +} + +.tooltip.right .tooltip-arrow { +  top: 50%; +  left: 0; +  margin-top: -5px; +  border-top: 5px solid transparent; +  border-right: 5px solid #000000; +  border-bottom: 5px solid transparent; +} + +.tooltip-inner { +  max-width: 200px; +  padding: 3px 8px; +  color: #ffffff; +  text-align: center; +  text-decoration: none; +  background-color: #000000; +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +} + +.tooltip-arrow { +  position: absolute; +  width: 0; +  height: 0; +} + +.popover { +  position: absolute; +  top: 0; +  left: 0; +  z-index: 1010; +  display: none; +  padding: 5px; +} + +.popover.top { +  margin-top: -5px; +} + +.popover.right { +  margin-left: 5px; +} + +.popover.bottom { +  margin-top: 5px; +} + +.popover.left { +  margin-left: -5px; +} + +.popover.top .arrow { +  bottom: 0; +  left: 50%; +  margin-left: -5px; +  border-top: 5px solid #000000; +  border-right: 5px solid transparent; +  border-left: 5px solid transparent; +} + +.popover.right .arrow { +  top: 50%; +  left: 0; +  margin-top: -5px; +  border-top: 5px solid transparent; +  border-right: 5px solid #000000; +  border-bottom: 5px solid transparent; +} + +.popover.bottom .arrow { +  top: 0; +  left: 50%; +  margin-left: -5px; +  border-right: 5px solid transparent; +  border-bottom: 5px solid #000000; +  border-left: 5px solid transparent; +} + +.popover.left .arrow { +  top: 50%; +  right: 0; +  margin-top: -5px; +  border-top: 5px solid transparent; +  border-bottom: 5px solid transparent; +  border-left: 5px solid #000000; +} + +.popover .arrow { +  position: absolute; +  width: 0; +  height: 0; +} + +.popover-inner { +  width: 280px; +  padding: 3px; +  overflow: hidden; +  background: #000000; +  background: rgba(0, 0, 0, 0.8); +  -webkit-border-radius: 6px; +     -moz-border-radius: 6px; +          border-radius: 6px; +  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); +     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); +          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); +} + +.popover-title { +  padding: 9px 15px; +  line-height: 1; +  background-color: #f5f5f5; +  border-bottom: 1px solid #eee; +  -webkit-border-radius: 3px 3px 0 0; +     -moz-border-radius: 3px 3px 0 0; +          border-radius: 3px 3px 0 0; +} + +.popover-content { +  padding: 14px; +  background-color: #ffffff; +  -webkit-border-radius: 0 0 3px 3px; +     -moz-border-radius: 0 0 3px 3px; +          border-radius: 0 0 3px 3px; +  -webkit-background-clip: padding-box; +     -moz-background-clip: padding-box; +          background-clip: padding-box; +} + +.popover-content p, +.popover-content ul, +.popover-content ol { +  margin-bottom: 0; +} + +.thumbnails { +  margin-left: -20px; +  list-style: none; +  *zoom: 1; +} + +.thumbnails:before, +.thumbnails:after { +  display: table; +  content: ""; +} + +.thumbnails:after { +  clear: both; +} + +.row-fluid .thumbnails { +  margin-left: 0; +} + +.thumbnails > li { +  float: left; +  margin-bottom: 18px; +  margin-left: 20px; +} + +.thumbnail { +  display: block; +  padding: 4px; +  line-height: 1; +  border: 1px solid #ddd; +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075); +     -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075); +          box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075); +} + +a.thumbnail:hover { +  border-color: #0088cc; +  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +     -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +          box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +} + +.thumbnail > img { +  display: block; +  max-width: 100%; +  margin-right: auto; +  margin-left: auto; +} + +.thumbnail .caption { +  padding: 9px; +} + +.label, +.badge { +  font-size: 10.998px; +  font-weight: bold; +  line-height: 14px; +  color: #ffffff; +  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +  white-space: nowrap; +  vertical-align: baseline; +  background-color: #999999; +} + +.label { +  padding: 1px 4px 2px; +  -webkit-border-radius: 3px; +     -moz-border-radius: 3px; +          border-radius: 3px; +} + +.badge { +  padding: 1px 9px 2px; +  -webkit-border-radius: 9px; +     -moz-border-radius: 9px; +          border-radius: 9px; +} + +a.label:hover, +a.badge:hover { +  color: #ffffff; +  text-decoration: none; +  cursor: pointer; +} + +.label-important, +.badge-important { +  background-color: #b94a48; +} + +.label-important[href], +.badge-important[href] { +  background-color: #953b39; +} + +.label-warning, +.badge-warning { +  background-color: #f89406; +} + +.label-warning[href], +.badge-warning[href] { +  background-color: #c67605; +} + +.label-success, +.badge-success { +  background-color: #468847; +} + +.label-success[href], +.badge-success[href] { +  background-color: #356635; +} + +.label-info, +.badge-info { +  background-color: #3a87ad; +} + +.label-info[href], +.badge-info[href] { +  background-color: #2d6987; +} + +.label-inverse, +.badge-inverse { +  background-color: #333333; +} + +.label-inverse[href], +.badge-inverse[href] { +  background-color: #1a1a1a; +} + +@-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; +  } +} + +@-ms-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 { +  height: 18px; +  margin-bottom: 18px; +  overflow: hidden; +  background-color: #f7f7f7; +  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); +  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); +  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); +  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); +  background-image: linear-gradient(top, #f5f5f5, #f9f9f9); +  background-repeat: repeat-x; +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0); +  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +     -moz-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 { +  width: 0; +  height: 18px; +  font-size: 12px; +  color: #ffffff; +  text-align: center; +  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +  background-color: #0e90d2; +  background-image: -moz-linear-gradient(top, #149bdf, #0480be); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); +  background-image: -webkit-linear-gradient(top, #149bdf, #0480be); +  background-image: -o-linear-gradient(top, #149bdf, #0480be); +  background-image: linear-gradient(top, #149bdf, #0480be); +  background-image: -ms-linear-gradient(top, #149bdf, #0480be); +  background-repeat: repeat-x; +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0); +  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); +     -moz-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-box-sizing: border-box; +     -moz-box-sizing: border-box; +      -ms-box-sizing: border-box; +          box-sizing: border-box; +  -webkit-transition: width 0.6s ease; +     -moz-transition: width 0.6s ease; +      -ms-transition: width 0.6s ease; +       -o-transition: width 0.6s ease; +          transition: width 0.6s ease; +} + +.progress-striped .bar { +  background-color: #149bdf; +  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +  background-image: -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: -ms-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: -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: 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); +  -webkit-background-size: 40px 40px; +     -moz-background-size: 40px 40px; +       -o-background-size: 40px 40px; +          background-size: 40px 40px; +} + +.progress.active .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-danger .bar { +  background-color: #dd514c; +  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); +  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); +  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); +  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); +  background-image: linear-gradient(top, #ee5f5b, #c43c35); +  background-repeat: repeat-x; +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0); +} + +.progress-danger.progress-striped .bar { +  background-color: #ee5f5b; +  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: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-success .bar { +  background-color: #5eb95e; +  background-image: -moz-linear-gradient(top, #62c462, #57a957); +  background-image: -ms-linear-gradient(top, #62c462, #57a957); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); +  background-image: -webkit-linear-gradient(top, #62c462, #57a957); +  background-image: -o-linear-gradient(top, #62c462, #57a957); +  background-image: linear-gradient(top, #62c462, #57a957); +  background-repeat: repeat-x; +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0); +} + +.progress-success.progress-striped .bar { +  background-color: #62c462; +  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: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-info .bar { +  background-color: #4bb1cf; +  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); +  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); +  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); +  background-image: -o-linear-gradient(top, #5bc0de, #339bb9); +  background-image: linear-gradient(top, #5bc0de, #339bb9); +  background-repeat: repeat-x; +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0); +} + +.progress-info.progress-striped .bar { +  background-color: #5bc0de; +  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: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-warning .bar { +  background-color: #faa732; +  background-image: -moz-linear-gradient(top, #fbb450, #f89406); +  background-image: -ms-linear-gradient(top, #fbb450, #f89406); +  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); +  background-image: -webkit-linear-gradient(top, #fbb450, #f89406); +  background-image: -o-linear-gradient(top, #fbb450, #f89406); +  background-image: linear-gradient(top, #fbb450, #f89406); +  background-repeat: repeat-x; +  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0); +} + +.progress-warning.progress-striped .bar { +  background-color: #fbb450; +  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: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.accordion { +  margin-bottom: 18px; +} + +.accordion-group { +  margin-bottom: 2px; +  border: 1px solid #e5e5e5; +  -webkit-border-radius: 4px; +     -moz-border-radius: 4px; +          border-radius: 4px; +} + +.accordion-heading { +  border-bottom: 0; +} + +.accordion-heading .accordion-toggle { +  display: block; +  padding: 8px 15px; +} + +.accordion-toggle { +  cursor: pointer; +} + +.accordion-inner { +  padding: 9px 15px; +  border-top: 1px solid #e5e5e5; +} + +.carousel { +  position: relative; +  margin-bottom: 18px; +  line-height: 1; +} + +.carousel-inner { +  position: relative; +  width: 100%; +  overflow: hidden; +} + +.carousel .item { +  position: relative; +  display: none; +  -webkit-transition: 0.6s ease-in-out left; +     -moz-transition: 0.6s ease-in-out left; +      -ms-transition: 0.6s ease-in-out left; +       -o-transition: 0.6s ease-in-out left; +          transition: 0.6s ease-in-out left; +} + +.carousel .item > img { +  display: block; +  line-height: 1; +} + +.carousel .active, +.carousel .next, +.carousel .prev { +  display: block; +} + +.carousel .active { +  left: 0; +} + +.carousel .next, +.carousel .prev { +  position: absolute; +  top: 0; +  width: 100%; +} + +.carousel .next { +  left: 100%; +} + +.carousel .prev { +  left: -100%; +} + +.carousel .next.left, +.carousel .prev.right { +  left: 0; +} + +.carousel .active.left { +  left: -100%; +} + +.carousel .active.right { +  left: 100%; +} + +.carousel-control { +  position: absolute; +  top: 40%; +  left: 15px; +  width: 40px; +  height: 40px; +  margin-top: -20px; +  font-size: 60px; +  font-weight: 100; +  line-height: 30px; +  color: #ffffff; +  text-align: center; +  background: #222222; +  border: 3px solid #ffffff; +  -webkit-border-radius: 23px; +     -moz-border-radius: 23px; +          border-radius: 23px; +  opacity: 0.5; +  filter: alpha(opacity=50); +} + +.carousel-control.right { +  right: 15px; +  left: auto; +} + +.carousel-control:hover { +  color: #ffffff; +  text-decoration: none; +  opacity: 0.9; +  filter: alpha(opacity=90); +} + +.carousel-caption { +  position: absolute; +  right: 0; +  bottom: 0; +  left: 0; +  padding: 10px 15px 5px; +  background: #333333; +  background: rgba(0, 0, 0, 0.75); +} + +.carousel-caption h4, +.carousel-caption p { +  color: #ffffff; +} + +.hero-unit { +  padding: 60px; +  margin-bottom: 30px; +  background-color: #eeeeee; +  -webkit-border-radius: 6px; +     -moz-border-radius: 6px; +          border-radius: 6px; +} + +.hero-unit h1 { +  margin-bottom: 0; +  font-size: 60px; +  line-height: 1; +  letter-spacing: -1px; +  color: inherit; +} + +.hero-unit p { +  font-size: 18px; +  font-weight: 200; +  line-height: 27px; +  color: inherit; +} + +.pull-right { +  float: right; +} + +.pull-left { +  float: left; +} + +.hide { +  display: none; +} + +.show { +  display: block; +} + +.invisible { +  visibility: hidden; +} diff --git a/inst/web/css/bootstrap.min.css b/inst/web/css/bootstrap.min.css new file mode 100644 index 0000000..b74b454 --- /dev/null +++ b/inst/web/css/bootstrap.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap v2.0.4 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:20px}.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:28px;margin-left:2.127659574%;*margin-left:2.0744680846382977%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:99.99999998999999%;*width:99.94680850063828%}.row-fluid .span11{width:91.489361693%;*width:91.4361702036383%}.row-fluid .span10{width:82.97872339599999%;*width:82.92553190663828%}.row-fluid .span9{width:74.468085099%;*width:74.4148936096383%}.row-fluid .span8{width:65.95744680199999%;*width:65.90425531263828%}.row-fluid .span7{width:57.446808505%;*width:57.3936170156383%}.row-fluid .span6{width:48.93617020799999%;*width:48.88297871863829%}.row-fluid .span5{width:40.425531911%;*width:40.3723404216383%}.row-fluid .span4{width:31.914893614%;*width:31.8617021246383%}.row-fluid .span3{width:23.404255317%;*width:23.3510638276383%}.row-fluid .span2{width:14.89361702%;*width:14.8404255306383%}.row-fluid .span1{width:6.382978723%;*width:6.329787233638298%}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:""}.container-fluid:after{clear:both}p{margin:0 0 9px}p small{font-size:11px;color:#999}.lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px}h1,h2,h3,h4,h5,h6{margin:0;font-family:inherit;font-weight:bold;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999}h1{font-size:30px;line-height:36px}h1 small{font-size:18px}h2{font-size:24px;line-height:36px}h2 small{font-size:18px}h3{font-size:18px;line-height:27px}h3 small{font-size:14px}h4,h5,h6{line-height:18px}h4{font-size:14px}h4 small{font-size:12px}h5{font-size:12px}h6{font-size:11px;color:#999;text-transform:uppercase}.page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eee}.page-header h1{line-height:1}ul,ol{padding:0;margin:0 0 9px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}ul{list-style:disc}ol{list-style:decimal}li{line-height:18px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}dl{margin-bottom:18px}dt,dd{line-height:18px}dt{font-weight:bold;line-height:17px}dd{margin-left:9px}.dl-horizontal dt{float:left;width:120px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:130px}hr{margin:18px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}strong{font-weight:bold}em{font-style:italic}.muted{color:#999}abbr[title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px}blockquote small{display:block;line-height:18px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:18px;font-style:normal;line-height:18px}small{font-size:100%}cite{font-style:normal}code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12.025px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:18px}pre code{padding:0;color:inherit;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 18px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:13.5px;color:#999}label,input,button,select,textarea{font-size:13px;font-weight:normal;line-height:18px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555}input,textarea{width:210px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-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 linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-ms-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:3px 0;*margin-top:0;line-height:normal;cursor:pointer}input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}.uneditable-textarea{width:auto;height:auto}select,input[type="file"]{height:28px;*margin-top:4px;line-height:28px}select{width:220px;border:1px solid #bbb}select[multiple],select[size]{height:auto}select:focus,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}.radio,.checkbox{min-height:18px;padding-left:18px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}input.span12,textarea.span12,.uneditable-input.span12{width:930px}input.span11,textarea.span11,.uneditable-input.span11{width:850px}input.span10,textarea.span10,.uneditable-input.span10{width:770px}input.span9,textarea.span9,.uneditable-input.span9{width:690px}input.span8,textarea.span8,.uneditable-input.span8{width:610px}input.span7,textarea.span7,.uneditable-input.span7{width:530px}input.span6,textarea.span6,.uneditable-input.span6{width:450px}input.span5,textarea.span5,.uneditable-input.span5{width:370px}input.span4,textarea.span4,.uneditable-input.span4{width:290px}input.span3,textarea.span3,.uneditable-input.span3{width:210px}input.span2,textarea.span2,.uneditable-input.span2{width:130px}input.span1,textarea.span1,.uneditable-input.span1{width:50px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee;border-color:#ddd}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;border-color:#c09853}.control-group.warning .checkbox:focus,.control-group.warning .radio:focus,.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:0 0 6px #dbc59e;-moz-box-shadow:0 0 6px #dbc59e;box-shadow:0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;border-color:#b94a48}.control-group.error .checkbox:focus,.control-group.error .radio:focus,.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:0 0 6px #d59392;-moz-box-shadow:0 0 6px #d59392;box-shadow:0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;border-color:#468847}.control-group.success .checkbox:focus,.control-group.success .radio:focus,.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:0 0 6px #7aba7b;-moz-box-shadow:0 0 6px #7aba7b;box-shadow:0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;content:""}.form-actions:after{clear:both}.uneditable-input{overflow:hidden;white-space:nowrap;cursor:not-allowed;background-color:#fff;border-color:#eee;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}:-moz-placeholder{color:#999}:-ms-input-placeholder{color:#999}::-webkit-input-placeholder{color:#999}.help-block,.help-inline{color:#555}.help-block{display:block;margin-bottom:9px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-prepend,.input-append{margin-bottom:5px}.input-prepend input,.input-append input,.input-prepend select,.input-append select,.input-prepend .uneditable-input,.input-append .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:middle;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend input:focus,.input-append input:focus,.input-prepend select:focus,.input-append select:focus,.input-prepend .uneditable-input:focus,.input-append .uneditable-input:focus{z-index:2}.input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc}.input-prepend .add-on,.input-append .add-on{display:inline-block;width:auto;height:18px;min-width:16px;padding:4px 5px;font-weight:normal;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc}.input-prepend .add-on,.input-append .add-on,.input-prepend .btn,.input-append .btn{margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append .uneditable-input{border-right-color:#ccc;border-left-color:#eee}.input-append .add-on:last-child,.input-append .btn:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:9px}legend+.control-group{margin-top:18px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:18px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:140px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:160px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:160px}.form-horizontal .help-block{margin-top:9px;margin-bottom:0}.form-horizontal .form-actions{padding-left:160px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:18px}.table th,.table td{padding:8px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapsed;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9}.table tbody tr:hover td,.table tbody tr:hover th{background-color:#f5f5f5}table .span1{float:none;width:44px;margin-left:0}table .span2{float:none;width:124px;margin-left:0}table .span3{float:none;width:204px;margin-left:0}table .span4{float:none;width:284px;margin-left:0}table .span5{float:none;width:364px;margin-left:0}table .span6{float:none;width:444px;margin-left:0}table .span7{float:none;width:524px;margin-left:0}table .span8{float:none;width:604px;margin-left:0}table .span9{float:none;width:684px;margin-left:0}table .span10{float:none;width:764px;margin-left:0}table .span11{float:none;width:844px;margin-left:0}table .span12{float:none;width:924px;margin-left:0}table .span13{float:none;width:1004px;margin-left:0}table .span14{float:none;width:1084px;margin-left:0}table .span15{float:none;width:1164px;margin-left:0}table .span16{float:none;width:1244px;margin-left:0}table .span17{float:none;width:1324px;margin-left:0}table .span18{float:none;width:1404px;margin-left:0}table .span19{float:none;width:1484px;margin-left:0}table .span20{float:none;width:1564px;margin-left:0}table .span21{float:none;width:1644px;margin-left:0}table .span22{float:none;width:1724px;margin-left:0}table .span23{float:none;width:1804px;margin-left:0}table .span24{float:none;width:1884px;margin-left:0}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}[class^="icon-"]:last-child,[class*=" icon-"]:last-child{*margin-left:0}.icon-white{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:"";opacity:.3;filter:alpha(opacity=30)}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown:hover .caret,.open .caret{opacity:1;filter:alpha(opacity=100)}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:4px 0;margin:1px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:8px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#08c}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:"\2191"}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0,0,0,0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-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-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-ms-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-ms-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 10px 4px;margin-bottom:0;*margin-left:.3em;font-size:13px;line-height:18px;*line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-ms-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(top,#fff,#e6e6e6);background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff',endColorstr='#e6e6e6',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-ms-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:9px 14px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.btn-large [class^="icon-"]{margin-top:1px}.btn-small{padding:5px 9px;font-size:11px;line-height:16px}.btn-small [class^="icon-"]{margin-top:-1px}.btn-mini{padding:2px 6px;font-size:11px;line-height:14px}.btn-primary,.btn-primary:hover,.btn-warning,.btn-warning:hover,.btn-danger,.btn-danger:hover,.btn-success,.btn-success:hover,.btn-info,.btn-info:hover,.btn-inverse,.btn-inverse:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#ccc;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25)}.btn-primary{background-color:#0074cc;*background-color:#05c;background-image:-ms-linear-gradient(top,#08c,#05c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#05c));background-image:-webkit-linear-gradient(top,#08c,#05c);background-image:-o-linear-gradient(top,#08c,#05c);background-image:-moz-linear-gradient(top,#08c,#05c);background-image:linear-gradient(top,#08c,#05c);background-repeat:repeat-x;border-color:#05c #05c #003580;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#0088cc',endColorstr='#0055cc',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{background-color:#05c;*background-color:#004ab3}.btn-primary:active,.btn-primary.active{background-color:#004099 \9}.btn-warning{background-color:#faa732;*background-color:#f89406;background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450',endColorstr='#f89406',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{background-color:#da4f49;*background-color:#bd362f;background-image:-ms-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(top,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#bd362f',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{background-color:#5bb75b;*background-color:#51a351;background-image:-ms-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(top,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#62c462',endColorstr='#51a351',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{background-color:#49afcd;*background-color:#2f96b4;background-image:-ms-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(top,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de',endColorstr='#2f96b4',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{background-color:#414141;*background-color:#222;background-image:-ms-linear-gradient(top,#555,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#555),to(#222));background-image:-webkit-linear-gradient(top,#555,#222);background-image:-o-linear-gradient(top,#555,#222);background-image:-moz-linear-gradient(top,#555,#222);background-image:linear-gradient(top,#555,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#555555',endColorstr='#222222',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:2px;*padding-bottom:2px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-group{position:relative;*margin-left:.3em;*zoom:1}.btn-group:before,.btn-group:after{display:table;content:""}.btn-group:after{clear:both}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:9px;margin-bottom:9px}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1}.btn-group>.btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.dropdown-toggle{*padding-top:4px;padding-right:8px;*padding-bottom:4px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini.dropdown-toggle{padding-right:5px;padding-left:5px}.btn-group>.btn-small.dropdown-toggle{*padding-top:4px;*padding-bottom:4px}.btn-group>.btn-large.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#05c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:7px;margin-left:0}.btn:hover .caret,.open.btn-group .caret{opacity:1;filter:alpha(opacity=100)}.btn-mini .caret{margin-top:5px}.btn-small .caret{margin-top:6px}.btn-large .caret{margin-top:6px;border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-top:0;border-bottom:5px solid #000}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:.75;filter:alpha(opacity=75)}.alert{padding:8px 35px 8px 14px;margin-bottom:18px;color:#c09853;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert-heading{color:inherit}.alert .close{position:relative;top:-2px;right:-21px;line-height:18px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:18px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>.pull-right{float:right}.nav .nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:18px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:8px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:18px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.nav-pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-tabs .dropdown-toggle .caret,.nav-pills .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav-tabs .dropdown-toggle:hover .caret,.nav-pills .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .active .dropdown-toggle .caret,.nav-pills .active .dropdown-toggle .caret{border-top-color:#333;border-bottom-color:#333}.nav>.dropdown.active>a:hover{color:#000;cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.navbar{*position:relative;*z-index:2;margin-bottom:18px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top,#333,#222);background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#333333',endColorstr='#222222',GradientType=0);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1)}.navbar .container{width:auto}.nav-collapse.collapse{height:auto}.navbar{color:#999}.navbar .brand:hover{text-decoration:none}.navbar .brand{display:block;float:left;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#999}.navbar .navbar-text{margin-bottom:0;line-height:40px}.navbar .navbar-link{color:#999}.navbar .navbar-link:hover{color:#fff}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn{margin:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:6px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:6px;margin-bottom:0}.navbar-search .search-query{padding:4px 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;color:#fff;background-color:#626262;border:1px solid #151515;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}.navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right}.navbar .nav>li{display:block;float:left}.navbar .nav>li>a{float:none;padding:9px 10px 11px;line-height:19px;color:#999;text-decoration:none;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar .btn{display:inline-block;padding:4px 10px 4px;margin:5px 5px 6px;line-height:18px}.navbar .btn-group{padding:5px 5px 6px;margin:0}.navbar .nav>li>a:hover{color:#fff;text-decoration:none;background-color:transparent}.navbar .nav .active>a,.navbar .nav .active>a:hover{color:#fff;text-decoration:none;background-color:#222}.navbar .divider-vertical{width:1px;height:40px;margin:0 9px;overflow:hidden;background-color:#222;border-right:1px solid #333}.navbar .nav.pull-right{margin-right:0;margin-left:10px}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;background-color:#2c2c2c;*background-color:#222;background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-image:-moz-linear-gradient(top,#333,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#333333',endColorstr='#222222',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{background-color:#222;*background-color:#151515}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#080808 \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown .dropdown-toggle .caret,.navbar .nav li.dropdown.open .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar .nav li.dropdown.active .caret{opacity:1;filter:alpha(opacity=100)}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:transparent}.navbar .nav li.dropdown.active>.dropdown-toggle:hover{color:#fff}.navbar .pull-right .dropdown-menu,.navbar .dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right .dropdown-menu:before,.navbar .dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right .dropdown-menu:after,.navbar .dropdown-menu.pull-right:after{right:13px;left:auto}.breadcrumb{padding:7px 14px;margin:0 0 18px;list-style:none;background-color:#fbfbfb;background-image:-moz-linear-gradient(top,#fff,#f5f5f5);background-image:-ms-linear-gradient(top,#fff,#f5f5f5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#fff,#f5f5f5);background-image:-o-linear-gradient(top,#fff,#f5f5f5);background-image:linear-gradient(top,#fff,#f5f5f5);background-repeat:repeat-x;border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff',endColorstr='#f5f5f5',GradientType=0);-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.breadcrumb li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb .divider{padding:0 5px;color:#999}.breadcrumb .active a{color:#333}.pagination{height:36px;margin:18px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination li{display:inline}.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0}.pagination a:hover,.pagination .active a{background-color:#f5f5f5}.pagination .active a{color:#999;cursor:default}.pagination .disabled span,.pagination .disabled a,.pagination .disabled a:hover{color:#999;cursor:default;background-color:transparent}.pagination li:first-child a{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.pagination li:last-child a{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pager{margin-bottom:18px;margin-left:0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;content:""}.pager:after{clear:both}.pager li{display:inline}.pager a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next a{float:right}.pager .previous a{float:left}.pager .disabled a,.pager .disabled a:hover{color:#999;cursor:default;background-color:#fff}.modal-open .dropdown-menu{z-index:2050}.modal-open .dropdown.open{*z-index:2050}.modal-open .popover{z-index:2060}.modal-open .tooltip{z-index:2070}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:50%;left:50%;z-index:1050;width:560px;margin:-250px 0 0 -280px;overflow:auto;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-ms-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:50%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-body{max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.tooltip{position:absolute;z-index:1020;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-2px}.tooltip.right{margin-left:2px}.tooltip.bottom{margin-top:2px}.tooltip.left{margin-left:-2px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top:5px solid #000;border-right:5px solid transparent;border-left:5px solid transparent}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-right:5px solid transparent;border-bottom:5px solid #000;border-left:5px solid transparent}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-right:5px solid #000;border-bottom:5px solid transparent}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px}.popover.top{margin-top:-5px}.popover.right{margin-left:5px}.popover.bottom{margin-top:5px}.popover.left{margin-left:-5px}.popover.top .arrow{bottom:0;left:50%;margin-left:-5px;border-top:5px solid #000;border-right:5px solid transparent;border-left:5px solid transparent}.popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-right:5px solid #000;border-bottom:5px solid transparent}.popover.bottom .arrow{top:0;left:50%;margin-left:-5px;border-right:5px solid transparent;border-bottom:5px solid #000;border-left:5px solid transparent}.popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000}.popover .arrow{position:absolute;width:0;height:0}.popover-inner{width:280px;padding:3px;overflow:hidden;background:#000;background:rgba(0,0,0,0.8);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}.popover-title{padding:9px 15px;line-height:1;background-color:#f5f5f5;border-bottom:1px solid #eee;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.popover-content{padding:14px;background-color:#fff;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:18px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:0 1px 1px rgba(0,0,0,0.075);box-shadow:0 1px 1px rgba(0,0,0,0.075)}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px}.label,.badge{font-size:10.998px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{padding:1px 4px 2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding:1px 9px 2px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}@-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}}@-ms-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{height:18px;margin-bottom:18px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-ms-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(top,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#f5f5f5',endColorstr='#f9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-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{width:0;height:18px;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(top,#149bdf,#0480be);background-image:-ms-linear-gradient(top,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#149bdf',endColorstr='#0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-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-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-ms-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .bar{background-color:#149bdf;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-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:-ms-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:-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: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);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .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-danger .bar{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-ms-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(top,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35',GradientType=0)}.progress-danger.progress-striped .bar{background-color:#ee5f5b;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:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-ms-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(top,#62c462,#57a957);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#62c462',endColorstr='#57a957',GradientType=0)}.progress-success.progress-striped .bar{background-color:#62c462;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:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-ms-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(top,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de',endColorstr='#339bb9',GradientType=0)}.progress-info.progress-striped .bar{background-color:#5bc0de;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:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-ms-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450',endColorstr='#f89406',GradientType=0)}.progress-warning.progress-striped .bar{background-color:#fbb450;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:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:18px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:18px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel .item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-ms-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel .item>img{display:block;line-height:1}.carousel .active,.carousel .next,.carousel .prev{display:block}.carousel .active{left:0}.carousel .next,.carousel .prev{position:absolute;top:0;width:100%}.carousel .next{left:100%}.carousel .prev{left:-100%}.carousel .next.left,.carousel .prev.right{left:0}.carousel .active.left{left:-100%}.carousel .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:10px 15px 5px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{color:#fff}.hero-unit{padding:60px;margin-bottom:30px;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit p{font-size:18px;font-weight:200;line-height:27px;color:inherit}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden} diff --git a/inst/web/css/highlight.css b/inst/web/css/highlight.css new file mode 100644 index 0000000..4b85237 --- /dev/null +++ b/inst/web/css/highlight.css @@ -0,0 +1,28 @@ +/* Syntax highlighting ---------------------------------------------------- */ + +pre .input { +  border-left: 3px solid #ccc; +  padding-left: 0.5em; +} +pre .output { +  background-color: #eee; +} + +.number {color:rgb(21,20,181);} +.functioncall {color:#264D66 ;} +.string {color:#375D81 ;} +.keyword {font-weight:bolder ;color:black;} +.argument {color:#264D66 ;} +.comment {color: #333;} +.formalargs {color: #264D66;} +.eqformalargs {color:#264D66;} +.slot {font-style:italic;} +.symbol {color:black ;} +.prompt {color:black ;} + +pre img {  +  background-color: #fff; +  border: 1px solid #ccc; +  display: block; +  margin: 0.5em auto 0.5em auto; +} diff --git a/inst/web/css/staticdocs.css b/inst/web/css/staticdocs.css new file mode 100644 index 0000000..9fee28b --- /dev/null +++ b/inst/web/css/staticdocs.css @@ -0,0 +1,18 @@ +h2 {padding-top: 20px} + +.icon img { +  float: right; +  border: 1px solid #ccc; +} +.index .internal {display: none;} +ul.index li {margin-bottom: 0.5em; clear: both;} + +footer { +  margin-top: 45px; +  padding: 35px 0 36px; +  border-top: 1px solid #e5e5e5; +} +footer p { +  margin-bottom: 0; +  color: #555; +} diff --git a/inst/web/din32645-2.png b/inst/web/din32645-2.pngBinary files differ new file mode 100644 index 0000000..306c8cf --- /dev/null +++ b/inst/web/din32645-2.png diff --git a/inst/web/din32645.html b/inst/web/din32645.html new file mode 100644 index 0000000..115d250 --- /dev/null +++ b/inst/web/din32645.html @@ -0,0 +1,194 @@ +<!DOCTYPE html> +<html lang="en"> +  <head> +    <meta charset="utf-8"> +<title>din32645. chemCal 0.1-35.900</title> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="author" content=""> + +<link href="css/bootstrap.css" rel="stylesheet"> +<link href="css/bootstrap-responsive.css" rel="stylesheet"> +<link href="css/highlight.css" rel="stylesheet"> +<link href="css/staticdocs.css" rel="stylesheet"> + +<!--[if lt IE 9]> +  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> +<![endif]--> + +<script type="text/x-mathjax-config"> +  MathJax.Hub.Config({ +    tex2jax: { +      inlineMath: [ ['$','$'], ["\\(","\\)"] ], +      processEscapes: true +    } +  }); +</script> +<script type="text/javascript" +  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> +</script> +  </head> + +  <body> +    <div class="navbar"> +  <div class="navbar-inner"> +    <div class="container"> +      <a class="brand" href="#">chemCal 0.1-35.900</a> +      <div class="nav"> +        <ul class="nav"> +          <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li> +        </ul> +      </div> +    </div> +  </div> +</div> + +    <div class="container"> +      <header> +         +      </header> +       +      <h1>Calibration data from DIN 32645</h1> + +<div class="row"> +  <div class="span8"> +    <h2>Usage</h2> +    <pre><div>data(din32645)</div></pre> +         +    <div class="Description"> +      <h2>Description</h2> + +      <p>Sample dataset to test the package.</p> +   +    </div> + +    <div class="Format"> +      <h2>Format</h2> + +      <p>A dataframe containing 10 rows of x and y values.</p> +   +    </div> + +    <div class="References"> +      <h2>References</h2> + +      <p>DIN 32645 (equivalent to ISO 11843), Beuth Verlag, Berlin, 1994</p> +   +      <p>Dintest. Plugin for MS Excel for evaluations of calibration data. Written +  by Georg Schmitt, University of Heidelberg.  +  <a href = 'http://www.rzuser.uni-heidelberg.de/~df6/download/dintest.htm'>http://www.rzuser.uni-heidelberg.de/~df6/download/dintest.htm</a></p> +   +      <p>Currie, L. A. (1997) Nomenclature in evaluation of analytical methods including +  detection and quantification capabilities (IUPAC Recommendations 1995).  +  Analytica Chimica Acta 391, 105 - 126.</p> +   +    </div> +     +    <h2 id="examples">Examples</h2> +    <pre class="examples"><div class='input'>data(din32645) +m <- lm(y ~ x, data = din32645) +calplot(m) +</div> +<p><img src='din32645-2.png' alt='' width='540' height='400' /></p> +<div class='input'> +## Prediction of x with confidence interval +(prediction <- inverse.predict(m, 3500, alpha = 0.01)) +</div> +<div class='output'>$Prediction +[1] 0.1054792 + +$`Standard Error` +[1] 0.02215619 + +$Confidence +[1] 0.07434261 + +$`Confidence Limits` +[1] 0.03113656 0.17982178 + +</div> +<div class='input'> +# This should give 0.07434 according to test data from Dintest, which  +# was collected from Procontrol 3.1 (isomehr GmbH) in this case +round(prediction$Confidence,5) +</div> +<div class='output'>[1] 0.07434 +</div> +<div class='input'> +## Critical value: +(crit <- lod(m, alpha = 0.01, beta = 0.5)) +</div> +<div class='output'>$x +[1] 0.0698127 + +$y +       1  +3155.393  + +</div> +<div class='input'> +# According to DIN 32645, we should get 0.07 for the critical value +# (decision limit, "Nachweisgrenze") +round(crit$x, 2) +</div> +<div class='output'>[1] 0.07 +</div> +<div class='input'># and according to Dintest test data, we should get 0.0698 from +round(crit$x, 4) +</div> +<div class='output'>[1] 0.0698 +</div> +<div class='input'> +## Limit of detection (smallest detectable value given alpha and beta) +# In German, the smallest detectable value is the "Erfassungsgrenze", and we +# should get 0.14 according to DIN, which we achieve by using the method  +# described in it: +lod.din <- lod(m, alpha = 0.01, beta = 0.01, method = "din") +round(lod.din$x, 2) +</div> +<div class='output'>[1] 0.14 +</div> +<div class='input'> +## Limit of quantification +# This accords to the test data coming with the test data from Dintest again,  +# except for the last digits of the value cited for Procontrol 3.1 (0.2121) +(loq <- loq(m, alpha = 0.01)) +</div> +<div class='output'>$x +[1] 0.2119575 + +$y +       1  +4528.787  + +</div> +<div class='input'>round(loq$x,4) +</div> +<div class='output'>[1] 0.212 +</div> +<div class='input'> +# A similar value is obtained using the approximation  +# LQ = 3.04 * LC (Currie 1999, p. 120) +3.04 * lod(m,alpha = 0.01, beta = 0.5)$x +</div> +<div class='output'>[1] 0.2122306 +</div></pre> +  </div> +  <div class="span4"> +    <!-- <ul> +      <li>din32645</li> +    </ul> +    <ul> +      <li>datasets</li> +    </ul> --> +       +         +  </div> +</div> +       +      <footer> +      <p class="pull-right"><a href="#">Back to top</a></p> +<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="http://twitter.github.com/bootstrap">bootstrap</a>.</p> +      </footer> +    </div> +  </body> +</html>
\ No newline at end of file diff --git a/inst/web/img/glyphicons-halflings-white.png b/inst/web/img/glyphicons-halflings-white.pngBinary files differ new file mode 100644 index 0000000..3bf6484 --- /dev/null +++ b/inst/web/img/glyphicons-halflings-white.png diff --git a/inst/web/img/glyphicons-halflings.png b/inst/web/img/glyphicons-halflings.pngBinary files differ new file mode 100644 index 0000000..79bc568 --- /dev/null +++ b/inst/web/img/glyphicons-halflings.png diff --git a/inst/web/index.html b/inst/web/index.html new file mode 100644 index 0000000..39c6b74 --- /dev/null +++ b/inst/web/index.html @@ -0,0 +1,143 @@ +<!DOCTYPE html> +<html lang="en"> +  <head> +    <meta charset="utf-8"> +<title>Index. chemCal 0.1-35.900</title> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="author" content=""> + +<link href="css/bootstrap.css" rel="stylesheet"> +<link href="css/bootstrap-responsive.css" rel="stylesheet"> +<link href="css/highlight.css" rel="stylesheet"> +<link href="css/staticdocs.css" rel="stylesheet"> + +<!--[if lt IE 9]> +  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> +<![endif]--> + +<script type="text/x-mathjax-config"> +  MathJax.Hub.Config({ +    tex2jax: { +      inlineMath: [ ['$','$'], ["\\(","\\)"] ], +      processEscapes: true +    } +  }); +</script> +<script type="text/javascript" +  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> +</script> +  </head> + +  <body> +    <div class="navbar"> +  <div class="navbar-inner"> +    <div class="container"> +      <a class="brand" href="#">chemCal 0.1-35.900</a> +      <div class="nav"> +        <ul class="nav"> +          <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li> +        </ul> +      </div> +    </div> +  </div> +</div> + +    <div class="container"> +      <header> +         +      </header> +       +      <div class="row"> +  <div class="span8"> +    chemCal provides simple functions for plotting linear +calibration functions and estimating standard errors for measurements +according to the Handbook of Chemometrics and Qualimetrics: Part A +by Massart et al. There are also functions estimating the limit +of detection (LOD) and limit of quantification (LOQ). +The functions work on model objects from - optionally weighted - linear +regression (lm) or robust linear regression (rlm from the MASS package). + +    <h2>Help topics</h2> + +    <h3>Main functions</h3> +    <p>Essential functionality</p> + +     +    <ul class="index"> +         +      <li> +        <code><a href="inverse.predict.html">inverse.predict</a></code>(inverse.predict.lm, inverse.predict.rlm, inverse.predict.default)<br />Predict x from y for a linear calibration</li> +             +      <li> +        <code><a href="calplot.lm.html">calplot</a></code>(calplot.default, calplot.lm)<br />Plot calibration graphs from univariate linear models</li> +     +    </ul> +    <h3>LOD and LOQ</h3> +    <p>Limit of detection and limit of quantification</p> + +     +    <ul class="index"> +         +      <li> +        <code><a href="lod.html">lod</a></code>(lod.lm, lod.rlm, lod.default)<br />Estimate a limit of detection (LOD)</li> +             +      <li> +        <code><a href="loq.html">loq</a></code>(loq.lm, loq.rlm, loq.default)<br />Estimate a limit of quantification (LOQ)</li> +     +    </ul> +    <h3>Datasets</h3> +    <p>Example data</p> + +     +    <ul class="index"> +         +      <li> +        <code><a href="din32645.html">din32645</a></code><br />Calibration data from DIN 32645</li> +             +      <li> +        <code><a href="massart97ex1.html">massart97ex1</a></code><br />Calibration data from Massart et al. (1997), example 1</li> +     +    </ul> +    <h3>Other</h3> +     +     +    <ul class="index"> +         +      <li> +        <code><a href="chemCal-package.html">chemCal-package</a></code><br />  Calibration functions for analytical chemistry +</li> +             +      <li> +        <code><a href="massart97ex3.html">massart97ex3</a></code><br />Calibration data from Massart et al. (1997), example 3</li> +     +    </ul> +  </div> +   +  <div class="span3 offset1"> +    <h2>Vignettes</h2> +    <ul> +      <li><a href="vignettes/chemCal.pdf">Short manual for the chemCal package</a></li> +    </ul> +         +    <h2>Dependencies</h2> +    <ul> +       +       +      <li><strong>Suggests</strong>: MASS</li> +       +    </ul> +    <h2>Authors</h2> +    <ul> +      <li><a href="mailto:jranke@uni-bremen.de">Johannes Ranke</a> [aut, cre, cph]</li> +    </ul> + +  </div> +</div> +       +      <footer> +      <p class="pull-right"><a href="#">Back to top</a></p> +<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="http://twitter.github.com/bootstrap">bootstrap</a>.</p> +      </footer> +    </div> +  </body> +</html>
\ No newline at end of file diff --git a/inst/web/inverse.predict.html b/inst/web/inverse.predict.html new file mode 100644 index 0000000..855ee6a --- /dev/null +++ b/inst/web/inverse.predict.html @@ -0,0 +1,202 @@ +<!DOCTYPE html> +<html lang="en"> +  <head> +    <meta charset="utf-8"> +<title>inverse.predict. chemCal 0.1-35.900</title> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="author" content=""> + +<link href="css/bootstrap.css" rel="stylesheet"> +<link href="css/bootstrap-responsive.css" rel="stylesheet"> +<link href="css/highlight.css" rel="stylesheet"> +<link href="css/staticdocs.css" rel="stylesheet"> + +<!--[if lt IE 9]> +  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> +<![endif]--> + +<script type="text/x-mathjax-config"> +  MathJax.Hub.Config({ +    tex2jax: { +      inlineMath: [ ['$','$'], ["\\(","\\)"] ], +      processEscapes: true +    } +  }); +</script> +<script type="text/javascript" +  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> +</script> +  </head> + +  <body> +    <div class="navbar"> +  <div class="navbar-inner"> +    <div class="container"> +      <a class="brand" href="#">chemCal 0.1-35.900</a> +      <div class="nav"> +        <ul class="nav"> +          <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li> +        </ul> +      </div> +    </div> +  </div> +</div> + +    <div class="container"> +      <header> +         +      </header> +       +      <h1>Predict x from y for a linear calibration</h1> + +<div class="row"> +  <div class="span8"> +    <h2>Usage</h2> +    <pre><div>inverse.predict(object, newdata, ..., ws, alpha=0.05, var.s = "auto")</div></pre> +     +    <h2>Arguments</h2> +    <dl> +      <dt>object</dt> +      <dd> +    A univariate model object of class <code><a href='http://www.inside-r.org/r-doc/stats/lm'>lm</a></code> or  +    <code><a href='http://www.inside-r.org/r-doc/MASS/rlm'>rlm</a></code>  +    with model formula <code>y ~ x</code> or <code>y ~ x - 1</code>. +  </dd> +      <dt>newdata</dt> +      <dd>  +    A vector of observed y values for one sample. +  </dd> +      <dt>...</dt> +      <dd> +    Placeholder for further arguments that might be needed by  +    future implementations. +  </dd> +      <dt>ws</dt> +      <dd>  +    The weight attributed to the sample. This argument is obligatory +    if <code>object</code> has weights. +  </dd> +      <dt>alpha</dt> +      <dd> +    The error tolerance level for the confidence interval to be reported. +  </dd> +      <dt>var.s</dt> +      <dd> +    The estimated variance of the sample measurements. The default is to take +    the residual standard error from the calibration and to adjust it +    using <code>ws</code>, if applicable. This means that <code>var.s</code> +    overrides <code>ws</code>. +  </dd> +    </dl> +     +    <div class="Value"> +      <h2>Value</h2> + +      <p><dl> +  A list containing the predicted x value, its standard error and a +  confidence interval. +</dl></p> +   +    </div> + +    <div class="Description"> +      <h2>Description</h2> + +      <p>This function predicts x values using a univariate linear model that has been +  generated for the purpose of calibrating a measurement method. Prediction +  intervals are given at the specified confidence level. +  The calculation method was taken from Massart et al. (1997). In particular, +  Equations 8.26 and 8.28 were combined in order to yield a general treatment +  of inverse prediction for univariate linear models, taking into account  +  weights that have been used to create the linear model, and at the same +  time providing the possibility to specify a precision in sample measurements +  differing from the precision in standard samples used for the calibration. +  This is elaborated in the package vignette.</p> +   +    </div> + +    <div class="Note"> +      <h2>Note</h2> + +      <p>The function was validated with examples 7 and 8 from Massart et al. (1997).</p> +   +    </div> + +    <div class="References"> +      <h2>References</h2> + +      <p>Massart, L.M, Vandenginste, B.G.M., Buydens, L.M.C., De Jong, S., Lewi, P.J., +  Smeyers-Verbeke, J. (1997) Handbook of Chemometrics and Qualimetrics: Part A, +  p. 200</p> +   +    </div> +     +    <h2 id="examples">Examples</h2> +    <pre class="examples"><div class='input'># This is example 7 from Chapter 8 in Massart et al. (1997) +data(massart97ex1) +m <- lm(y ~ x, data = massart97ex1) +inverse.predict(m, 15)        #  6.1 +- 4.9 +</div> +<div class='output'>$Prediction +[1] 6.09381 + +$`Standard Error` +[1] 1.767278 + +$Confidence +[1] 4.906751 + +$`Confidence Limits` +[1]  1.187059 11.000561 + +</div> +<div class='input'>inverse.predict(m, 90)        # 43.9 +- 4.9 +</div> +<div class='output'>$Prediction +[1] 43.93983 + +$`Standard Error` +[1] 1.767747 + +$Confidence +[1] 4.908053 + +$`Confidence Limits` +[1] 39.03178 48.84788 + +</div> +<div class='input'>inverse.predict(m, rep(90,5)) # 43.9 +- 3.2 +</div> +<div class='output'>$Prediction +[1] 43.93983 + +$`Standard Error` +[1] 1.141204 + +$Confidence +[1] 3.168489 + +$`Confidence Limits` +[1] 40.77134 47.10832 + +</div></pre> +  </div> +  <div class="span4"> +    <!-- <ul> +      <li>inverse.predict</li><li>inverse.predict.lm</li><li>inverse.predict.rlm</li><li>inverse.predict.default</li> +    </ul> +    <ul> +      <li>manip</li> +    </ul> --> +       +         +  </div> +</div> +       +      <footer> +      <p class="pull-right"><a href="#">Back to top</a></p> +<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="http://twitter.github.com/bootstrap">bootstrap</a>.</p> +      </footer> +    </div> +  </body> +</html>
\ No newline at end of file diff --git a/inst/web/js/bootstrap.js b/inst/web/js/bootstrap.js new file mode 100644 index 0000000..5d6e65b --- /dev/null +++ b/inst/web/js/bootstrap.js @@ -0,0 +1,1825 @@ +/* =================================================== + * bootstrap-transition.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#transitions + * =================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + +  $(function () { + +    "use strict"; // jshint ;_; + + +    /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) +     * ======================================================= */ + +    $.support.transition = (function () { + +      var transitionEnd = (function () { + +        var el = document.createElement('bootstrap') +          , transEndEventNames = { +               'WebkitTransition' : 'webkitTransitionEnd' +            ,  'MozTransition'    : 'transitionend' +            ,  'OTransition'      : 'oTransitionEnd' +            ,  'msTransition'     : 'MSTransitionEnd' +            ,  'transition'       : 'transitionend' +            } +          , name + +        for (name in transEndEventNames){ +          if (el.style[name] !== undefined) { +            return transEndEventNames[name] +          } +        } + +      }()) + +      return transitionEnd && { +        end: transitionEnd +      } + +    })() + +  }) + +}(window.jQuery);/* ========================================================== + * bootstrap-alert.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#alerts + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + +  "use strict"; // jshint ;_; + + + /* ALERT CLASS DEFINITION +  * ====================== */ + +  var dismiss = '[data-dismiss="alert"]' +    , Alert = function (el) { +        $(el).on('click', dismiss, this.close) +      } + +  Alert.prototype.close = function (e) { +    var $this = $(this) +      , selector = $this.attr('data-target') +      , $parent + +    if (!selector) { +      selector = $this.attr('href') +      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 +    } + +    $parent = $(selector) + +    e && e.preventDefault() + +    $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) + +    $parent.trigger(e = $.Event('close')) + +    if (e.isDefaultPrevented()) return + +    $parent.removeClass('in') + +    function removeElement() { +      $parent +        .trigger('closed') +        .remove() +    } + +    $.support.transition && $parent.hasClass('fade') ? +      $parent.on($.support.transition.end, removeElement) : +      removeElement() +  } + + + /* ALERT PLUGIN DEFINITION +  * ======================= */ + +  $.fn.alert = function (option) { +    return this.each(function () { +      var $this = $(this) +        , data = $this.data('alert') +      if (!data) $this.data('alert', (data = new Alert(this))) +      if (typeof option == 'string') data[option].call($this) +    }) +  } + +  $.fn.alert.Constructor = Alert + + + /* ALERT DATA-API +  * ============== */ + +  $(function () { +    $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) +  }) + +}(window.jQuery);/* ============================================================ + * bootstrap-button.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#buttons + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + +  "use strict"; // jshint ;_; + + + /* BUTTON PUBLIC CLASS DEFINITION +  * ============================== */ + +  var Button = function (element, options) { +    this.$element = $(element) +    this.options = $.extend({}, $.fn.button.defaults, options) +  } + +  Button.prototype.setState = function (state) { +    var d = 'disabled' +      , $el = this.$element +      , data = $el.data() +      , val = $el.is('input') ? 'val' : 'html' + +    state = state + 'Text' +    data.resetText || $el.data('resetText', $el[val]()) + +    $el[val](data[state] || this.options[state]) + +    // push to event loop to allow forms to submit +    setTimeout(function () { +      state == 'loadingText' ? +        $el.addClass(d).attr(d, d) : +        $el.removeClass(d).removeAttr(d) +    }, 0) +  } + +  Button.prototype.toggle = function () { +    var $parent = this.$element.parent('[data-toggle="buttons-radio"]') + +    $parent && $parent +      .find('.active') +      .removeClass('active') + +    this.$element.toggleClass('active') +  } + + + /* BUTTON PLUGIN DEFINITION +  * ======================== */ + +  $.fn.button = function (option) { +    return this.each(function () { +      var $this = $(this) +        , data = $this.data('button') +        , options = typeof option == 'object' && option +      if (!data) $this.data('button', (data = new Button(this, options))) +      if (option == 'toggle') data.toggle() +      else if (option) data.setState(option) +    }) +  } + +  $.fn.button.defaults = { +    loadingText: 'loading...' +  } + +  $.fn.button.Constructor = Button + + + /* BUTTON DATA-API +  * =============== */ + +  $(function () { +    $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { +      var $btn = $(e.target) +      if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') +      $btn.button('toggle') +    }) +  }) + +}(window.jQuery);/* ========================================================== + * bootstrap-carousel.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#carousel + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + +  "use strict"; // jshint ;_; + + + /* CAROUSEL CLASS DEFINITION +  * ========================= */ + +  var Carousel = function (element, options) { +    this.$element = $(element) +    this.options = options +    this.options.slide && this.slide(this.options.slide) +    this.options.pause == 'hover' && this.$element +      .on('mouseenter', $.proxy(this.pause, this)) +      .on('mouseleave', $.proxy(this.cycle, this)) +  } + +  Carousel.prototype = { + +    cycle: function (e) { +      if (!e) this.paused = false +      this.options.interval +        && !this.paused +        && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) +      return this +    } + +  , to: function (pos) { +      var $active = this.$element.find('.active') +        , children = $active.parent().children() +        , activePos = children.index($active) +        , that = this + +      if (pos > (children.length - 1) || pos < 0) return + +      if (this.sliding) { +        return this.$element.one('slid', function () { +          that.to(pos) +        }) +      } + +      if (activePos == pos) { +        return this.pause().cycle() +      } + +      return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) +    } + +  , pause: function (e) { +      if (!e) this.paused = true +      clearInterval(this.interval) +      this.interval = null +      return this +    } + +  , next: function () { +      if (this.sliding) return +      return this.slide('next') +    } + +  , prev: function () { +      if (this.sliding) return +      return this.slide('prev') +    } + +  , slide: function (type, next) { +      var $active = this.$element.find('.active') +        , $next = next || $active[type]() +        , isCycling = this.interval +        , direction = type == 'next' ? 'left' : 'right' +        , fallback  = type == 'next' ? 'first' : 'last' +        , that = this +        , e = $.Event('slide') + +      this.sliding = true + +      isCycling && this.pause() + +      $next = $next.length ? $next : this.$element.find('.item')[fallback]() + +      if ($next.hasClass('active')) return + +      if ($.support.transition && this.$element.hasClass('slide')) { +        this.$element.trigger(e) +        if (e.isDefaultPrevented()) return +        $next.addClass(type) +        $next[0].offsetWidth // force reflow +        $active.addClass(direction) +        $next.addClass(direction) +        this.$element.one($.support.transition.end, function () { +          $next.removeClass([type, direction].join(' ')).addClass('active') +          $active.removeClass(['active', direction].join(' ')) +          that.sliding = false +          setTimeout(function () { that.$element.trigger('slid') }, 0) +        }) +      } else { +        this.$element.trigger(e) +        if (e.isDefaultPrevented()) return +        $active.removeClass('active') +        $next.addClass('active') +        this.sliding = false +        this.$element.trigger('slid') +      } + +      isCycling && this.cycle() + +      return this +    } + +  } + + + /* CAROUSEL PLUGIN DEFINITION +  * ========================== */ + +  $.fn.carousel = function (option) { +    return this.each(function () { +      var $this = $(this) +        , data = $this.data('carousel') +        , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) +      if (!data) $this.data('carousel', (data = new Carousel(this, options))) +      if (typeof option == 'number') data.to(option) +      else if (typeof option == 'string' || (option = options.slide)) data[option]() +      else if (options.interval) data.cycle() +    }) +  } + +  $.fn.carousel.defaults = { +    interval: 5000 +  , pause: 'hover' +  } + +  $.fn.carousel.Constructor = Carousel + + + /* CAROUSEL DATA-API +  * ================= */ + +  $(function () { +    $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { +      var $this = $(this), href +        , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 +        , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) +      $target.carousel(options) +      e.preventDefault() +    }) +  }) + +}(window.jQuery);/* ============================================================= + * bootstrap-collapse.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#collapse + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + +  "use strict"; // jshint ;_; + + + /* COLLAPSE PUBLIC CLASS DEFINITION +  * ================================ */ + +  var Collapse = function (element, options) { +    this.$element = $(element) +    this.options = $.extend({}, $.fn.collapse.defaults, options) + +    if (this.options.parent) { +      this.$parent = $(this.options.parent) +    } + +    this.options.toggle && this.toggle() +  } + +  Collapse.prototype = { + +    constructor: Collapse + +  , dimension: function () { +      var hasWidth = this.$element.hasClass('width') +      return hasWidth ? 'width' : 'height' +    } + +  , show: function () { +      var dimension +        , scroll +        , actives +        , hasData + +      if (this.transitioning) return + +      dimension = this.dimension() +      scroll = $.camelCase(['scroll', dimension].join('-')) +      actives = this.$parent && this.$parent.find('> .accordion-group > .in') + +      if (actives && actives.length) { +        hasData = actives.data('collapse') +        if (hasData && hasData.transitioning) return +        actives.collapse('hide') +        hasData || actives.data('collapse', null) +      } + +      this.$element[dimension](0) +      this.transition('addClass', $.Event('show'), 'shown') +      this.$element[dimension](this.$element[0][scroll]) +    } + +  , hide: function () { +      var dimension +      if (this.transitioning) return +      dimension = this.dimension() +      this.reset(this.$element[dimension]()) +      this.transition('removeClass', $.Event('hide'), 'hidden') +      this.$element[dimension](0) +    } + +  , reset: function (size) { +      var dimension = this.dimension() + +      this.$element +        .removeClass('collapse') +        [dimension](size || 'auto') +        [0].offsetWidth + +      this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') + +      return this +    } + +  , transition: function (method, startEvent, completeEvent) { +      var that = this +        , complete = function () { +            if (startEvent.type == 'show') that.reset() +            that.transitioning = 0 +            that.$element.trigger(completeEvent) +          } + +      this.$element.trigger(startEvent) + +      if (startEvent.isDefaultPrevented()) return + +      this.transitioning = 1 + +      this.$element[method]('in') + +      $.support.transition && this.$element.hasClass('collapse') ? +        this.$element.one($.support.transition.end, complete) : +        complete() +    } + +  , toggle: function () { +      this[this.$element.hasClass('in') ? 'hide' : 'show']() +    } + +  } + + + /* COLLAPSIBLE PLUGIN DEFINITION +  * ============================== */ + +  $.fn.collapse = function (option) { +    return this.each(function () { +      var $this = $(this) +        , data = $this.data('collapse') +        , options = typeof option == 'object' && option +      if (!data) $this.data('collapse', (data = new Collapse(this, options))) +      if (typeof option == 'string') data[option]() +    }) +  } + +  $.fn.collapse.defaults = { +    toggle: true +  } + +  $.fn.collapse.Constructor = Collapse + + + /* COLLAPSIBLE DATA-API +  * ==================== */ + +  $(function () { +    $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) { +      var $this = $(this), href +        , target = $this.attr('data-target') +          || e.preventDefault() +          || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 +        , option = $(target).data('collapse') ? 'toggle' : $this.data() +      $(target).collapse(option) +    }) +  }) + +}(window.jQuery);/* ============================================================ + * bootstrap-dropdown.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + +  "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION +  * ========================= */ + +  var toggle = '[data-toggle="dropdown"]' +    , Dropdown = function (element) { +        var $el = $(element).on('click.dropdown.data-api', this.toggle) +        $('html').on('click.dropdown.data-api', function () { +          $el.parent().removeClass('open') +        }) +      } + +  Dropdown.prototype = { + +    constructor: Dropdown + +  , toggle: function (e) { +      var $this = $(this) +        , $parent +        , selector +        , isActive + +      if ($this.is('.disabled, :disabled')) return + +      selector = $this.attr('data-target') + +      if (!selector) { +        selector = $this.attr('href') +        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 +      } + +      $parent = $(selector) +      $parent.length || ($parent = $this.parent()) + +      isActive = $parent.hasClass('open') + +      clearMenus() + +      if (!isActive) $parent.toggleClass('open') + +      return false +    } + +  } + +  function clearMenus() { +    $(toggle).parent().removeClass('open') +  } + + +  /* DROPDOWN PLUGIN DEFINITION +   * ========================== */ + +  $.fn.dropdown = function (option) { +    return this.each(function () { +      var $this = $(this) +        , data = $this.data('dropdown') +      if (!data) $this.data('dropdown', (data = new Dropdown(this))) +      if (typeof option == 'string') data[option].call($this) +    }) +  } + +  $.fn.dropdown.Constructor = Dropdown + + +  /* APPLY TO STANDARD DROPDOWN ELEMENTS +   * =================================== */ + +  $(function () { +    $('html').on('click.dropdown.data-api', clearMenus) +    $('body') +      .on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() }) +      .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) +  }) + +}(window.jQuery);/* ========================================================= + * bootstrap-modal.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#modals + * ========================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + + +!function ($) { + +  "use strict"; // jshint ;_; + + + /* MODAL CLASS DEFINITION +  * ====================== */ + +  var Modal = function (content, options) { +    this.options = options +    this.$element = $(content) +      .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) +  } + +  Modal.prototype = { + +      constructor: Modal + +    , toggle: function () { +        return this[!this.isShown ? 'show' : 'hide']() +      } + +    , show: function () { +        var that = this +          , e = $.Event('show') + +        this.$element.trigger(e) + +        if (this.isShown || e.isDefaultPrevented()) return + +        $('body').addClass('modal-open') + +        this.isShown = true + +        escape.call(this) +        backdrop.call(this, function () { +          var transition = $.support.transition && that.$element.hasClass('fade') + +          if (!that.$element.parent().length) { +            that.$element.appendTo(document.body) //don't move modals dom position +          } + +          that.$element +            .show() + +          if (transition) { +            that.$element[0].offsetWidth // force reflow +          } + +          that.$element.addClass('in') + +          transition ? +            that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : +            that.$element.trigger('shown') + +        }) +      } + +    , hide: function (e) { +        e && e.preventDefault() + +        var that = this + +        e = $.Event('hide') + +        this.$element.trigger(e) + +        if (!this.isShown || e.isDefaultPrevented()) return + +        this.isShown = false + +        $('body').removeClass('modal-open') + +        escape.call(this) + +        this.$element.removeClass('in') + +        $.support.transition && this.$element.hasClass('fade') ? +          hideWithTransition.call(this) : +          hideModal.call(this) +      } + +  } + + + /* MODAL PRIVATE METHODS +  * ===================== */ + +  function hideWithTransition() { +    var that = this +      , timeout = setTimeout(function () { +          that.$element.off($.support.transition.end) +          hideModal.call(that) +        }, 500) + +    this.$element.one($.support.transition.end, function () { +      clearTimeout(timeout) +      hideModal.call(that) +    }) +  } + +  function hideModal(that) { +    this.$element +      .hide() +      .trigger('hidden') + +    backdrop.call(this) +  } + +  function backdrop(callback) { +    var that = this +      , animate = this.$element.hasClass('fade') ? 'fade' : '' + +    if (this.isShown && this.options.backdrop) { +      var doAnimate = $.support.transition && animate + +      this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') +        .appendTo(document.body) + +      if (this.options.backdrop != 'static') { +        this.$backdrop.click($.proxy(this.hide, this)) +      } + +      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow + +      this.$backdrop.addClass('in') + +      doAnimate ? +        this.$backdrop.one($.support.transition.end, callback) : +        callback() + +    } else if (!this.isShown && this.$backdrop) { +      this.$backdrop.removeClass('in') + +      $.support.transition && this.$element.hasClass('fade')? +        this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) : +        removeBackdrop.call(this) + +    } else if (callback) { +      callback() +    } +  } + +  function removeBackdrop() { +    this.$backdrop.remove() +    this.$backdrop = null +  } + +  function escape() { +    var that = this +    if (this.isShown && this.options.keyboard) { +      $(document).on('keyup.dismiss.modal', function ( e ) { +        e.which == 27 && that.hide() +      }) +    } else if (!this.isShown) { +      $(document).off('keyup.dismiss.modal') +    } +  } + + + /* MODAL PLUGIN DEFINITION +  * ======================= */ + +  $.fn.modal = function (option) { +    return this.each(function () { +      var $this = $(this) +        , data = $this.data('modal') +        , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option) +      if (!data) $this.data('modal', (data = new Modal(this, options))) +      if (typeof option == 'string') data[option]() +      else if (options.show) data.show() +    }) +  } + +  $.fn.modal.defaults = { +      backdrop: true +    , keyboard: true +    , show: true +  } + +  $.fn.modal.Constructor = Modal + + + /* MODAL DATA-API +  * ============== */ + +  $(function () { +    $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) { +      var $this = $(this), href +        , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 +        , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data()) + +      e.preventDefault() +      $target.modal(option) +    }) +  }) + +}(window.jQuery);/* =========================================================== + * bootstrap-tooltip.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#tooltips + * Inspired by the original jQuery.tipsy by Jason Frame + * =========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + +  "use strict"; // jshint ;_; + + + /* TOOLTIP PUBLIC CLASS DEFINITION +  * =============================== */ + +  var Tooltip = function (element, options) { +    this.init('tooltip', element, options) +  } + +  Tooltip.prototype = { + +    constructor: Tooltip + +  , init: function (type, element, options) { +      var eventIn +        , eventOut + +      this.type = type +      this.$element = $(element) +      this.options = this.getOptions(options) +      this.enabled = true + +      if (this.options.trigger != 'manual') { +        eventIn  = this.options.trigger == 'hover' ? 'mouseenter' : 'focus' +        eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur' +        this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this)) +        this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this)) +      } + +      this.options.selector ? +        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : +        this.fixTitle() +    } + +  , getOptions: function (options) { +      options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data()) + +      if (options.delay && typeof options.delay == 'number') { +        options.delay = { +          show: options.delay +        , hide: options.delay +        } +      } + +      return options +    } + +  , enter: function (e) { +      var self = $(e.currentTarget)[this.type](this._options).data(this.type) + +      if (!self.options.delay || !self.options.delay.show) return self.show() + +      clearTimeout(this.timeout) +      self.hoverState = 'in' +      this.timeout = setTimeout(function() { +        if (self.hoverState == 'in') self.show() +      }, self.options.delay.show) +    } + +  , leave: function (e) { +      var self = $(e.currentTarget)[this.type](this._options).data(this.type) + +      if (this.timeout) clearTimeout(this.timeout) +      if (!self.options.delay || !self.options.delay.hide) return self.hide() + +      self.hoverState = 'out' +      this.timeout = setTimeout(function() { +        if (self.hoverState == 'out') self.hide() +      }, self.options.delay.hide) +    } + +  , show: function () { +      var $tip +        , inside +        , pos +        , actualWidth +        , actualHeight +        , placement +        , tp + +      if (this.hasContent() && this.enabled) { +        $tip = this.tip() +        this.setContent() + +        if (this.options.animation) { +          $tip.addClass('fade') +        } + +        placement = typeof this.options.placement == 'function' ? +          this.options.placement.call(this, $tip[0], this.$element[0]) : +          this.options.placement + +        inside = /in/.test(placement) + +        $tip +          .remove() +          .css({ top: 0, left: 0, display: 'block' }) +          .appendTo(inside ? this.$element : document.body) + +        pos = this.getPosition(inside) + +        actualWidth = $tip[0].offsetWidth +        actualHeight = $tip[0].offsetHeight + +        switch (inside ? placement.split(' ')[1] : placement) { +          case 'bottom': +            tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2} +            break +          case 'top': +            tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2} +            break +          case 'left': +            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth} +            break +          case 'right': +            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width} +            break +        } + +        $tip +          .css(tp) +          .addClass(placement) +          .addClass('in') +      } +    } + +  , isHTML: function(text) { +      // html string detection logic adapted from jQuery +      return typeof text != 'string' +        || ( text.charAt(0) === "<" +          && text.charAt( text.length - 1 ) === ">" +          && text.length >= 3 +        ) || /^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(text) +    } + +  , setContent: function () { +      var $tip = this.tip() +        , title = this.getTitle() + +      $tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title) +      $tip.removeClass('fade in top bottom left right') +    } + +  , hide: function () { +      var that = this +        , $tip = this.tip() + +      $tip.removeClass('in') + +      function removeWithAnimation() { +        var timeout = setTimeout(function () { +          $tip.off($.support.transition.end).remove() +        }, 500) + +        $tip.one($.support.transition.end, function () { +          clearTimeout(timeout) +          $tip.remove() +        }) +      } + +      $.support.transition && this.$tip.hasClass('fade') ? +        removeWithAnimation() : +        $tip.remove() +    } + +  , fixTitle: function () { +      var $e = this.$element +      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') { +        $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title') +      } +    } + +  , hasContent: function () { +      return this.getTitle() +    } + +  , getPosition: function (inside) { +      return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), { +        width: this.$element[0].offsetWidth +      , height: this.$element[0].offsetHeight +      }) +    } + +  , getTitle: function () { +      var title +        , $e = this.$element +        , o = this.options + +      title = $e.attr('data-original-title') +        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title) + +      return title +    } + +  , tip: function () { +      return this.$tip = this.$tip || $(this.options.template) +    } + +  , validate: function () { +      if (!this.$element[0].parentNode) { +        this.hide() +        this.$element = null +        this.options = null +      } +    } + +  , enable: function () { +      this.enabled = true +    } + +  , disable: function () { +      this.enabled = false +    } + +  , toggleEnabled: function () { +      this.enabled = !this.enabled +    } + +  , toggle: function () { +      this[this.tip().hasClass('in') ? 'hide' : 'show']() +    } + +  } + + + /* TOOLTIP PLUGIN DEFINITION +  * ========================= */ + +  $.fn.tooltip = function ( option ) { +    return this.each(function () { +      var $this = $(this) +        , data = $this.data('tooltip') +        , options = typeof option == 'object' && option +      if (!data) $this.data('tooltip', (data = new Tooltip(this, options))) +      if (typeof option == 'string') data[option]() +    }) +  } + +  $.fn.tooltip.Constructor = Tooltip + +  $.fn.tooltip.defaults = { +    animation: true +  , placement: 'top' +  , selector: false +  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' +  , trigger: 'hover' +  , title: '' +  , delay: 0 +  } + +}(window.jQuery); +/* =========================================================== + * bootstrap-popover.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#popovers + * =========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * =========================================================== */ + + +!function ($) { + +  "use strict"; // jshint ;_; + + + /* POPOVER PUBLIC CLASS DEFINITION +  * =============================== */ + +  var Popover = function ( element, options ) { +    this.init('popover', element, options) +  } + + +  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js +     ========================================== */ + +  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, { + +    constructor: Popover + +  , setContent: function () { +      var $tip = this.tip() +        , title = this.getTitle() +        , content = this.getContent() + +      $tip.find('.popover-title')[this.isHTML(title) ? 'html' : 'text'](title) +      $tip.find('.popover-content > *')[this.isHTML(content) ? 'html' : 'text'](content) + +      $tip.removeClass('fade top bottom left right in') +    } + +  , hasContent: function () { +      return this.getTitle() || this.getContent() +    } + +  , getContent: function () { +      var content +        , $e = this.$element +        , o = this.options + +      content = $e.attr('data-content') +        || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content) + +      return content +    } + +  , tip: function () { +      if (!this.$tip) { +        this.$tip = $(this.options.template) +      } +      return this.$tip +    } + +  }) + + + /* POPOVER PLUGIN DEFINITION +  * ======================= */ + +  $.fn.popover = function (option) { +    return this.each(function () { +      var $this = $(this) +        , data = $this.data('popover') +        , options = typeof option == 'object' && option +      if (!data) $this.data('popover', (data = new Popover(this, options))) +      if (typeof option == 'string') data[option]() +    }) +  } + +  $.fn.popover.Constructor = Popover + +  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, { +    placement: 'right' +  , content: '' +  , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>' +  }) + +}(window.jQuery);/* ============================================================= + * bootstrap-scrollspy.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#scrollspy + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================== */ + + +!function ($) { + +  "use strict"; // jshint ;_; + + +  /* SCROLLSPY CLASS DEFINITION +   * ========================== */ + +  function ScrollSpy( element, options) { +    var process = $.proxy(this.process, this) +      , $element = $(element).is('body') ? $(window) : $(element) +      , href +    this.options = $.extend({}, $.fn.scrollspy.defaults, options) +    this.$scrollElement = $element.on('scroll.scroll.data-api', process) +    this.selector = (this.options.target +      || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 +      || '') + ' .nav li > a' +    this.$body = $('body') +    this.refresh() +    this.process() +  } + +  ScrollSpy.prototype = { + +      constructor: ScrollSpy + +    , refresh: function () { +        var self = this +          , $targets + +        this.offsets = $([]) +        this.targets = $([]) + +        $targets = this.$body +          .find(this.selector) +          .map(function () { +            var $el = $(this) +              , href = $el.data('target') || $el.attr('href') +              , $href = /^#\w/.test(href) && $(href) +            return ( $href +              && href.length +              && [[ $href.position().top, href ]] ) || null +          }) +          .sort(function (a, b) { return a[0] - b[0] }) +          .each(function () { +            self.offsets.push(this[0]) +            self.targets.push(this[1]) +          }) +      } + +    , process: function () { +        var scrollTop = this.$scrollElement.scrollTop() + this.options.offset +          , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight +          , maxScroll = scrollHeight - this.$scrollElement.height() +          , offsets = this.offsets +          , targets = this.targets +          , activeTarget = this.activeTarget +          , i + +        if (scrollTop >= maxScroll) { +          return activeTarget != (i = targets.last()[0]) +            && this.activate ( i ) +        } + +        for (i = offsets.length; i--;) { +          activeTarget != targets[i] +            && scrollTop >= offsets[i] +            && (!offsets[i + 1] || scrollTop <= offsets[i + 1]) +            && this.activate( targets[i] ) +        } +      } + +    , activate: function (target) { +        var active +          , selector + +        this.activeTarget = target + +        $(this.selector) +          .parent('.active') +          .removeClass('active') + +        selector = this.selector +          + '[data-target="' + target + '"],' +          + this.selector + '[href="' + target + '"]' + +        active = $(selector) +          .parent('li') +          .addClass('active') + +        if (active.parent('.dropdown-menu'))  { +          active = active.closest('li.dropdown').addClass('active') +        } + +        active.trigger('activate') +      } + +  } + + + /* SCROLLSPY PLUGIN DEFINITION +  * =========================== */ + +  $.fn.scrollspy = function ( option ) { +    return this.each(function () { +      var $this = $(this) +        , data = $this.data('scrollspy') +        , options = typeof option == 'object' && option +      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options))) +      if (typeof option == 'string') data[option]() +    }) +  } + +  $.fn.scrollspy.Constructor = ScrollSpy + +  $.fn.scrollspy.defaults = { +    offset: 10 +  } + + + /* SCROLLSPY DATA-API +  * ================== */ + +  $(function () { +    $('[data-spy="scroll"]').each(function () { +      var $spy = $(this) +      $spy.scrollspy($spy.data()) +    }) +  }) + +}(window.jQuery);/* ======================================================== + * bootstrap-tab.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#tabs + * ======================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================== */ + + +!function ($) { + +  "use strict"; // jshint ;_; + + + /* TAB CLASS DEFINITION +  * ==================== */ + +  var Tab = function ( element ) { +    this.element = $(element) +  } + +  Tab.prototype = { + +    constructor: Tab + +  , show: function () { +      var $this = this.element +        , $ul = $this.closest('ul:not(.dropdown-menu)') +        , selector = $this.attr('data-target') +        , previous +        , $target +        , e + +      if (!selector) { +        selector = $this.attr('href') +        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 +      } + +      if ( $this.parent('li').hasClass('active') ) return + +      previous = $ul.find('.active a').last()[0] + +      e = $.Event('show', { +        relatedTarget: previous +      }) + +      $this.trigger(e) + +      if (e.isDefaultPrevented()) return + +      $target = $(selector) + +      this.activate($this.parent('li'), $ul) +      this.activate($target, $target.parent(), function () { +        $this.trigger({ +          type: 'shown' +        , relatedTarget: previous +        }) +      }) +    } + +  , activate: function ( element, container, callback) { +      var $active = container.find('> .active') +        , transition = callback +            && $.support.transition +            && $active.hasClass('fade') + +      function next() { +        $active +          .removeClass('active') +          .find('> .dropdown-menu > .active') +          .removeClass('active') + +        element.addClass('active') + +        if (transition) { +          element[0].offsetWidth // reflow for transition +          element.addClass('in') +        } else { +          element.removeClass('fade') +        } + +        if ( element.parent('.dropdown-menu') ) { +          element.closest('li.dropdown').addClass('active') +        } + +        callback && callback() +      } + +      transition ? +        $active.one($.support.transition.end, next) : +        next() + +      $active.removeClass('in') +    } +  } + + + /* TAB PLUGIN DEFINITION +  * ===================== */ + +  $.fn.tab = function ( option ) { +    return this.each(function () { +      var $this = $(this) +        , data = $this.data('tab') +      if (!data) $this.data('tab', (data = new Tab(this))) +      if (typeof option == 'string') data[option]() +    }) +  } + +  $.fn.tab.Constructor = Tab + + + /* TAB DATA-API +  * ============ */ + +  $(function () { +    $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { +      e.preventDefault() +      $(this).tab('show') +    }) +  }) + +}(window.jQuery);/* ============================================================= + * bootstrap-typeahead.js v2.0.4 + * http://twitter.github.com/bootstrap/javascript.html#typeahead + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function($){ + +  "use strict"; // jshint ;_; + + + /* TYPEAHEAD PUBLIC CLASS DEFINITION +  * ================================= */ + +  var Typeahead = function (element, options) { +    this.$element = $(element) +    this.options = $.extend({}, $.fn.typeahead.defaults, options) +    this.matcher = this.options.matcher || this.matcher +    this.sorter = this.options.sorter || this.sorter +    this.highlighter = this.options.highlighter || this.highlighter +    this.updater = this.options.updater || this.updater +    this.$menu = $(this.options.menu).appendTo('body') +    this.source = this.options.source +    this.shown = false +    this.listen() +  } + +  Typeahead.prototype = { + +    constructor: Typeahead + +  , select: function () { +      var val = this.$menu.find('.active').attr('data-value') +      this.$element +        .val(this.updater(val)) +        .change() +      return this.hide() +    } + +  , updater: function (item) { +      return item +    } + +  , show: function () { +      var pos = $.extend({}, this.$element.offset(), { +        height: this.$element[0].offsetHeight +      }) + +      this.$menu.css({ +        top: pos.top + pos.height +      , left: pos.left +      }) + +      this.$menu.show() +      this.shown = true +      return this +    } + +  , hide: function () { +      this.$menu.hide() +      this.shown = false +      return this +    } + +  , lookup: function (event) { +      var that = this +        , items +        , q + +      this.query = this.$element.val() + +      if (!this.query) { +        return this.shown ? this.hide() : this +      } + +      items = $.grep(this.source, function (item) { +        return that.matcher(item) +      }) + +      items = this.sorter(items) + +      if (!items.length) { +        return this.shown ? this.hide() : this +      } + +      return this.render(items.slice(0, this.options.items)).show() +    } + +  , matcher: function (item) { +      return ~item.toLowerCase().indexOf(this.query.toLowerCase()) +    } + +  , sorter: function (items) { +      var beginswith = [] +        , caseSensitive = [] +        , caseInsensitive = [] +        , item + +      while (item = items.shift()) { +        if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item) +        else if (~item.indexOf(this.query)) caseSensitive.push(item) +        else caseInsensitive.push(item) +      } + +      return beginswith.concat(caseSensitive, caseInsensitive) +    } + +  , highlighter: function (item) { +      var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&') +      return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) { +        return '<strong>' + match + '</strong>' +      }) +    } + +  , render: function (items) { +      var that = this + +      items = $(items).map(function (i, item) { +        i = $(that.options.item).attr('data-value', item) +        i.find('a').html(that.highlighter(item)) +        return i[0] +      }) + +      items.first().addClass('active') +      this.$menu.html(items) +      return this +    } + +  , next: function (event) { +      var active = this.$menu.find('.active').removeClass('active') +        , next = active.next() + +      if (!next.length) { +        next = $(this.$menu.find('li')[0]) +      } + +      next.addClass('active') +    } + +  , prev: function (event) { +      var active = this.$menu.find('.active').removeClass('active') +        , prev = active.prev() + +      if (!prev.length) { +        prev = this.$menu.find('li').last() +      } + +      prev.addClass('active') +    } + +  , listen: function () { +      this.$element +        .on('blur',     $.proxy(this.blur, this)) +        .on('keypress', $.proxy(this.keypress, this)) +        .on('keyup',    $.proxy(this.keyup, this)) + +      if ($.browser.webkit || $.browser.msie) { +        this.$element.on('keydown', $.proxy(this.keypress, this)) +      } + +      this.$menu +        .on('click', $.proxy(this.click, this)) +        .on('mouseenter', 'li', $.proxy(this.mouseenter, this)) +    } + +  , keyup: function (e) { +      switch(e.keyCode) { +        case 40: // down arrow +        case 38: // up arrow +          break + +        case 9: // tab +        case 13: // enter +          if (!this.shown) return +          this.select() +          break + +        case 27: // escape +          if (!this.shown) return +          this.hide() +          break + +        default: +          this.lookup() +      } + +      e.stopPropagation() +      e.preventDefault() +  } + +  , keypress: function (e) { +      if (!this.shown) return + +      switch(e.keyCode) { +        case 9: // tab +        case 13: // enter +        case 27: // escape +          e.preventDefault() +          break + +        case 38: // up arrow +          if (e.type != 'keydown') break +          e.preventDefault() +          this.prev() +          break + +        case 40: // down arrow +          if (e.type != 'keydown') break +          e.preventDefault() +          this.next() +          break +      } + +      e.stopPropagation() +    } + +  , blur: function (e) { +      var that = this +      setTimeout(function () { that.hide() }, 150) +    } + +  , click: function (e) { +      e.stopPropagation() +      e.preventDefault() +      this.select() +    } + +  , mouseenter: function (e) { +      this.$menu.find('.active').removeClass('active') +      $(e.currentTarget).addClass('active') +    } + +  } + + +  /* TYPEAHEAD PLUGIN DEFINITION +   * =========================== */ + +  $.fn.typeahead = function (option) { +    return this.each(function () { +      var $this = $(this) +        , data = $this.data('typeahead') +        , options = typeof option == 'object' && option +      if (!data) $this.data('typeahead', (data = new Typeahead(this, options))) +      if (typeof option == 'string') data[option]() +    }) +  } + +  $.fn.typeahead.defaults = { +    source: [] +  , items: 8 +  , menu: '<ul class="typeahead dropdown-menu"></ul>' +  , item: '<li><a href="#"></a></li>' +  } + +  $.fn.typeahead.Constructor = Typeahead + + + /* TYPEAHEAD DATA-API +  * ================== */ + +  $(function () { +    $('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { +      var $this = $(this) +      if ($this.data('typeahead')) return +      e.preventDefault() +      $this.typeahead($this.data()) +    }) +  }) + +}(window.jQuery);
\ No newline at end of file diff --git a/inst/web/js/bootstrap.min.js b/inst/web/js/bootstrap.min.js new file mode 100644 index 0000000..1435698 --- /dev/null +++ b/inst/web/js/bootstrap.min.js @@ -0,0 +1,6 @@ +/*! +* Bootstrap.js by @fat & @mdo +* Copyright 2012 Twitter, Inc. +* http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +!function(a){a(function(){"use strict",a.support.transition=function(){var a=function(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd",transition:"transitionend"},c;for(c in b)if(a.style[c]!==undefined)return b[c]}();return a&&{end:a}}()})}(window.jQuery),!function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed").remove()}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.on(a.support.transition.end,f):f()},a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a(function(){a("body").on("click.alert.data-api",b,c.prototype.close)})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.parent('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")},a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&&c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a(function(){a("body").on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=c,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.prototype={cycle:function(b){return b||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},to:function(b){var c=this.$element.find(".active"),d=c.parent().children(),e=d.index(c),f=this;if(b>d.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){f.to(b)}):e==b?this.pause().cycle():this.slide(b>e?"next":"prev",a(d[b]))},pause:function(a){return a||(this.paused=!0),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this,j=a.Event("slide");this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h]();if(e.hasClass("active"))return;if(a.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(j);if(j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})}else{this.$element.trigger(j);if(j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}},a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=a.extend({},a.fn.carousel.defaults,typeof c=="object"&&c);e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):typeof c=="string"||(c=f.slide)?e[c]():f.interval&&e.cycle()})},a.fn.carousel.defaults={interval:5e3,pause:"hover"},a.fn.carousel.Constructor=b,a(function(){a("body").on("click.carousel.data-api","[data-slide]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=!e.data("modal")&&a.extend({},e.data(),c.data());e.carousel(f),b.preventDefault()})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b,c,d,e;if(this.transitioning)return;b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find("> .accordion-group > .in");if(d&&d.length){e=d.data("collapse");if(e&&e.transitioning)return;d.collapse("hide"),e||d.data("collapse",null)}this.$element[b](0),this.transition("addClass",a.Event("show"),"shown"),this.$element[b](this.$element[0][c])},hide:function(){var b;if(this.transitioning)return;b=this.dimension(),this.reset(this.$element[b]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[b](0)},reset:function(a){var b=this.dimension();return this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element[a!==null?"addClass":"removeClass"]("collapse"),this},transition:function(b,c,d){var e=this,f=function(){c.type=="show"&&e.reset(),e.transitioning=0,e.$element.trigger(d)};this.$element.trigger(c);if(c.isDefaultPrevented())return;this.transitioning=1,this.$element[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=typeof c=="object"&&c;e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();a(e).collapse(f)})})}(window.jQuery),!function(a){function d(){a(b).parent().removeClass("open")}"use strict";var b='[data-toggle="dropdown"]',c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),e,f,g;if(c.is(".disabled, :disabled"))return;return f=c.attr("data-target"),f||(f=c.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,"")),e=a(f),e.length||(e=c.parent()),g=e.hasClass("open"),d(),g||e.toggleClass("open"),!1}},a.fn.dropdown=function(b){return this.each(function(){var d=a(this),e=d.data("dropdown");e||d.data("dropdown",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.dropdown.Constructor=c,a(function(){a("html").on("click.dropdown.data-api",d),a("body").on("click.dropdown",".dropdown form",function(a){a.stopPropagation()}).on("click.dropdown.data-api",b,c.prototype.toggle)})}(window.jQuery),!function(a){function c(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),d.call(b)},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),d.call(b)})}function d(a){this.$element.hide().trigger("hidden"),e.call(this)}function e(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(a.proxy(this.hide,this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),e?this.$backdrop.one(a.support.transition.end,b):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,a.proxy(f,this)):f.call(this)):b&&b()}function f(){this.$backdrop.remove(),this.$backdrop=null}function g(){var b=this;this.isShown&&this.options.keyboard?a(document).on("keyup.dismiss.modal",function(a){a.which==27&&b.hide()}):this.isShown||a(document).off("keyup.dismiss.modal")}"use strict";var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this))};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this,c=a.Event("show");this.$element.trigger(c);if(this.isShown||c.isDefaultPrevented())return;a("body").addClass("modal-open"),this.isShown=!0,g.call(this),e.call(this,function(){var c=a.support.transition&&b.$element.hasClass("fade");b.$element.parent().length||b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in"),c?b.$element.one(a.support.transition.end,function(){b.$element.trigger("shown")}):b.$element.trigger("shown")})},hide:function(b){b&&b.preventDefault();var e=this;b=a.Event("hide"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,a("body").removeClass("modal-open"),g.call(this),this.$element.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?c.call(this):d.call(this)}},a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("modal"),f=a.extend({},a.fn.modal.defaults,d.data(),typeof c=="object"&&c);e||d.data("modal",e=new b(this,f)),typeof c=="string"?e[c]():f.show&&e.show()})},a.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},a.fn.modal.Constructor=b,a(function(){a("body").on("click.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({},e.data(),c.data());b.preventDefault(),e.modal(f)})})}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger!="manual"&&(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&&this.enabled){a=this.tip(),this.setContent(),this.options.animation&&a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.css(g).addClass(f).addClass("in")}},isHTML:function(a){return typeof a!="string"||a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3||/^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(a)},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.isHTML(b)?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).remove()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.remove()})}var b=this,c=this.tip();c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d():c.remove()},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0}}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.isHTML(b)?"html":"text"](b),a.find(".popover-content > *")[this.isHTML(c)?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(window.jQuery),!function(a){function b(b,c){var d=a.proxy(this.process,this),e=a(b).is("body")?a(window):a(b),f;this.options=a.extend({},a.fn.scrollspy.defaults,c),this.$scrollElement=e.on("scroll.scroll.data-api",d),this.selector=(this.options.target||(f=a(b).attr("href"))&&f.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=a("body"),this.refresh(),this.process()}"use strict",b.prototype={constructor:b,refresh:function(){var b=this,c;this.offsets=a([]),this.targets=a([]),c=this.$body.find(this.selector).map(function(){var b=a(this),c=b.data("target")||b.attr("href"),d=/^#\w/.test(c)&&a(c);return d&&c.length&&[[d.position().top,c]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},process:function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,c=b-this.$scrollElement.height(),d=this.offsets,e=this.targets,f=this.activeTarget,g;if(a>=c)return f!=(g=e.last()[0])&&this.activate(g);for(g=d.length;g--;)f!=e[g]&&a>=d[g]&&(!d[g+1]||a<=d[g+1])&&this.activate(e[g])},activate:function(b){var c,d;this.activeTarget=b,a(this.selector).parent(".active").removeClass("active"),d=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',c=a(d).parent("li").addClass("active"),c.parent(".dropdown-menu")&&(c=c.closest("li.dropdown").addClass("active")),c.trigger("activate")}},a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("scrollspy"),f=typeof c=="object"&&c;e||d.data("scrollspy",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.defaults={offset:10},a(function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),!function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype={constructor:b,show:function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target"),e,f,g;d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;e=c.find(".active a").last()[0],g=a.Event("show",{relatedTarget:e}),b.trigger(g);if(g.isDefaultPrevented())return;f=a(d),this.activate(b.parent("li"),c),this.activate(f,f.parent(),function(){b.trigger({type:"shown",relatedTarget:e})})},activate:function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g):g(),e.removeClass("in")}},a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("tab");e||d.data("tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a(function(){a("body").on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=a(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(a)).change(),this.hide()},updater:function(a){return a},show:function(){var b=a.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:b.top+b.height,left:b.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){var c=this,d,e;return this.query=this.$element.val(),this.query?(d=a.grep(this.source,function(a){return c.matcher(a)}),d=this.sorter(d),d.length?this.render(d.slice(0,this.options.items)).show():this.shown?this.hide():this):this.shown?this.hide():this},matcher:function(a){return~a.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(a){var b=[],c=[],d=[],e;while(e=a.shift())e.toLowerCase().indexOf(this.query.toLowerCase())?~e.indexOf(this.query)?c.push(e):d.push(e):b.push(e);return b.concat(c,d)},highlighter:function(a){var b=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return a.replace(new RegExp("("+b+")","ig"),function(a,b){return"<strong>"+b+"</strong>"})},render:function(b){var c=this;return b=a(b).map(function(b,d){return b=a(c.options.item).attr("data-value",d),b.find("a").html(c.highlighter(d)),b[0]}),b.first().addClass("active"),this.$menu.html(b),this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),(a.browser.webkit||a.browser.msie)&&this.$element.on("keydown",a.proxy(this.keypress,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this))},keyup:function(a){switch(a.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}a.stopPropagation(),a.preventDefault()},keypress:function(a){if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:if(a.type!="keydown")break;a.preventDefault(),this.prev();break;case 40:if(a.type!="keydown")break;a.preventDefault(),this.next()}a.stopPropagation()},blur:function(a){var b=this;setTimeout(function(){b.hide()},150)},click:function(a){a.stopPropagation(),a.preventDefault(),this.select()},mouseenter:function(b){this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")}},a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&&c;e||d.data("typeahead",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>'},a.fn.typeahead.Constructor=b,a(function(){a("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);if(c.data("typeahead"))return;b.preventDefault(),c.typeahead(c.data())})})}(window.jQuery);
\ No newline at end of file diff --git a/inst/web/lod.html b/inst/web/lod.html new file mode 100644 index 0000000..e679821 --- /dev/null +++ b/inst/web/lod.html @@ -0,0 +1,198 @@ +<!DOCTYPE html> +<html lang="en"> +  <head> +    <meta charset="utf-8"> +<title>lod. chemCal 0.1-35.900</title> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="author" content=""> + +<link href="css/bootstrap.css" rel="stylesheet"> +<link href="css/bootstrap-responsive.css" rel="stylesheet"> +<link href="css/highlight.css" rel="stylesheet"> +<link href="css/staticdocs.css" rel="stylesheet"> + +<!--[if lt IE 9]> +  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> +<![endif]--> + +<script type="text/x-mathjax-config"> +  MathJax.Hub.Config({ +    tex2jax: { +      inlineMath: [ ['$','$'], ["\\(","\\)"] ], +      processEscapes: true +    } +  }); +</script> +<script type="text/javascript" +  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> +</script> +  </head> + +  <body> +    <div class="navbar"> +  <div class="navbar-inner"> +    <div class="container"> +      <a class="brand" href="#">chemCal 0.1-35.900</a> +      <div class="nav"> +        <ul class="nav"> +          <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li> +        </ul> +      </div> +    </div> +  </div> +</div> + +    <div class="container"> +      <header> +         +      </header> +       +      <h1>Estimate a limit of detection (LOD)</h1> + +<div class="row"> +  <div class="span8"> +    <h2>Usage</h2> +    <pre><div>lod(object, ..., alpha = 0.05, beta = 0.05, method = "default", tol = "default")</div></pre> +     +    <h2>Arguments</h2> +    <dl> +      <dt>object</dt> +      <dd> +    A univariate model object of class <code><a href='http://www.inside-r.org/r-doc/stats/lm'>lm</a></code> or  +    <code><a href='http://www.inside-r.org/r-doc/MASS/rlm'>rlm</a></code>  +    with model formula <code>y ~ x</code> or <code>y ~ x - 1</code>,  +    optionally from a weighted regression. +  </dd> +      <dt>...</dt> +      <dd> +    Placeholder for further arguments that might be needed by  +    future implementations. +  </dd> +      <dt>alpha</dt> +      <dd> +    The error tolerance for the decision limit (critical value). +  </dd> +      <dt>beta</dt> +      <dd> +    The error tolerance beta for the detection limit. +  </dd> +      <dt>method</dt> +      <dd> +    The “default” method uses a prediction interval at the LOD +    for the estimation of the LOD, which obviously requires +    iteration. This is described for example in Massart, p. 432 ff. +    The “din” method uses the prediction interval at +    x = 0 as an approximation. +  </dd> +      <dt>tol</dt> +      <dd> +    When the “default” method is used, the default tolerance +    for the LOD on the x scale is the value of the smallest non-zero standard +    divided by 1000. Can be set to a numeric value to override this. +  </dd> +    </dl> +     +    <div class="Value"> +      <h2>Value</h2> + +      <p><dl> +  A list containig the corresponding x and y values of the estimated limit of +  detection of a model used for calibration.   +</dl></p> +   +    </div> + +    <div class="Description"> +      <h2>Description</h2> + +      <p>The decision limit (German: Nachweisgrenze) is defined as the signal or +  analyte concentration that is significantly different from the blank signal +  with a first order error alpha (one-sided significance test). +  The detection limit, or more precise, the minimum detectable value  +  (German: Erfassungsgrenze), is then defined as the signal or analyte +  concentration where the probability that the signal is not detected although +  the analyte is present (type II or false negative error), is beta (also a +  one-sided significance test).</p> +   +    </div> + +    <div class="Note"> +      <h2>Note</h2> + +      <p>- The default values for alpha and beta are the ones recommended by IUPAC. +  - The estimation of the LOD in terms of the analyte amount/concentration +    xD from the LOD in the signal domain SD is done by simply inverting the +    calibration function (i.e. assuming a known calibration function). +  - The calculation of a LOD from weighted calibration models requires +    a weights argument for the internally used <code><a href='http://www.inside-r.org/r-doc/stats/predict.lm'>predict.lm</a></code> +    function, which is currently not supported in R.</p> +   +    </div> + +    <div class="References"> +      <h2>References</h2> + +      <p>Massart, L.M, Vandenginste, B.G.M., Buydens, L.M.C., De Jong, S., Lewi, P.J.,  +  Smeyers-Verbeke, J. (1997) Handbook of Chemometrics and Qualimetrics: Part A, +  Chapter 13.7.8</p> +   +      <p>J. Inczedy, T. Lengyel, and A.M. Ure (2002) International Union of Pure and +  Applied Chemistry Compendium of Analytical Nomenclature: Definitive Rules. +  Web edition.</p> +   +      <p>Currie, L. A. (1997) Nomenclature in evaluation of analytical methods including +  detection and quantification capabilities (IUPAC Recommendations 1995).  +  Analytica Chimica Acta 391, 105 - 126.</p> +   +    </div> +     +    <h2 id="examples">Examples</h2> +    <pre class="examples"><div class='input'>data(din32645) +m <- lm(y ~ x, data = din32645) +lod(m)  +</div> +<div class='output'>$x +[1] 0.08655484 + +$y +       1  +3317.154  + +</div> +<div class='input'> +# The critical value (decision limit, German Nachweisgrenze) can be obtained +# by using beta = 0.5: +lod(m, alpha = 0.01, beta = 0.5) +</div> +<div class='output'>$x +[1] 0.0698127 + +$y +       1  +3155.393  + +</div></pre> +  </div> +  <div class="span4"> +    <!-- <ul> +      <li>lod</li><li>lod.lm</li><li>lod.rlm</li><li>lod.default</li> +    </ul> +    <ul> +      <li>manip</li> +    </ul> --> +       +    <h2>See also</h2> +     +  Examples for <code><a href='din32645.html'>din32645</a></code>   + +         +  </div> +</div> +       +      <footer> +      <p class="pull-right"><a href="#">Back to top</a></p> +<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="http://twitter.github.com/bootstrap">bootstrap</a>.</p> +      </footer> +    </div> +  </body> +</html>
\ No newline at end of file diff --git a/inst/web/loq.html b/inst/web/loq.html new file mode 100644 index 0000000..dd03523 --- /dev/null +++ b/inst/web/loq.html @@ -0,0 +1,189 @@ +<!DOCTYPE html> +<html lang="en"> +  <head> +    <meta charset="utf-8"> +<title>loq. chemCal 0.1-35.900</title> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="author" content=""> + +<link href="css/bootstrap.css" rel="stylesheet"> +<link href="css/bootstrap-responsive.css" rel="stylesheet"> +<link href="css/highlight.css" rel="stylesheet"> +<link href="css/staticdocs.css" rel="stylesheet"> + +<!--[if lt IE 9]> +  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> +<![endif]--> + +<script type="text/x-mathjax-config"> +  MathJax.Hub.Config({ +    tex2jax: { +      inlineMath: [ ['$','$'], ["\\(","\\)"] ], +      processEscapes: true +    } +  }); +</script> +<script type="text/javascript" +  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> +</script> +  </head> + +  <body> +    <div class="navbar"> +  <div class="navbar-inner"> +    <div class="container"> +      <a class="brand" href="#">chemCal 0.1-35.900</a> +      <div class="nav"> +        <ul class="nav"> +          <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li> +        </ul> +      </div> +    </div> +  </div> +</div> + +    <div class="container"> +      <header> +         +      </header> +       +      <h1>Estimate a limit of quantification (LOQ)</h1> + +<div class="row"> +  <div class="span8"> +    <h2>Usage</h2> +    <pre><div>loq(object, ..., alpha = 0.05, k = 3, n = 1, w.loq = "auto", var.loq = "auto", tol = "default")</div></pre> +     +    <h2>Arguments</h2> +    <dl> +      <dt>object</dt> +      <dd> +    A univariate model object of class <code><a href='http://www.inside-r.org/r-doc/stats/lm'>lm</a></code> or  +    <code><a href='http://www.inside-r.org/r-doc/MASS/rlm'>rlm</a></code>  +    with model formula <code>y ~ x</code> or <code>y ~ x - 1</code>,  +    optionally from a weighted regression. If weights are specified +    in the model, either <code>w.loq</code> or <code>var.loq</code> have to  +    be specified. +  </dd> +      <dt>alpha</dt> +      <dd> +    The error tolerance for the prediction of x values in the calculation. +  </dd> +      <dt>...</dt> +      <dd> +    Placeholder for further arguments that might be needed by  +    future implementations. +  </dd> +      <dt>k</dt> +      <dd>  +    The inverse of the maximum relative error tolerated at the +    desired LOQ. +  </dd> +      <dt>n</dt> +      <dd> +    The number of replicate measurements for which the LOQ should be +    specified. +  </dd> +      <dt>w.loq</dt> +      <dd> +    The weight that should be attributed to the LOQ. Defaults +    to one for unweighted regression, and to the mean of the weights +    for weighted regression. See <code><a href='massart97ex3.html'>massart97ex3</a></code> for  +    an example how to take advantage of knowledge about the  +    variance function. +  </dd> +      <dt>var.loq</dt> +      <dd> +    The approximate variance at the LOQ. The default value is  +    calculated from the model. +  </dd> +      <dt>tol</dt> +      <dd> +    The default tolerance for the LOQ on the x scale is the value of the +    smallest non-zero standard divided by 1000. Can be set to a  +    numeric value to override this. +  </dd> +    </dl> +     +    <div class="Value"> +      <h2>Value</h2> + +      <p><dl> +  The estimated limit of quantification for a model used for calibration. +</dl></p> +   +    </div> + +    <div class="Description"> +      <h2>Description</h2> + +      <p>The limit of quantification is the x value, where the relative error +  of the quantification given the calibration model reaches a prespecified +  value 1/k. Thus, it is the solution of the equation +    $$L = k c(L)$$ +  where c(L) is half of the length of the confidence interval at the limit L +  (DIN 32645, equivalent to ISO 11843). c(L) is internally estimated by +  <code><a href='inverse.predict.html'>inverse.predict</a></code>, and L is obtained by iteration.</p> +   +    </div> + +    <div class="Note"> +      <h2>Note</h2> + +      <p>- IUPAC recommends to base the LOQ on the standard deviation of the signal +    where x = 0.  +  - The calculation of a LOQ based on weighted regression is non-standard +    and therefore not tested. Feedback is welcome.</p> +   +    </div> +     +    <h2 id="examples">Examples</h2> +    <pre class="examples"><div class='input'>data(massart97ex3) +attach(massart97ex3) +m <- lm(y ~ x) +loq(m) +</div> +<div class='output'>$x +[1] 13.97764 + +$y +      1  +30.6235  + +</div> +<div class='input'> +# We can get better by using replicate measurements +loq(m, n = 3) +</div> +<div class='output'>$x +[1] 9.971963 + +$y +       1  +22.68539  + +</div></pre> +  </div> +  <div class="span4"> +    <!-- <ul> +      <li>loq</li><li>loq.lm</li><li>loq.rlm</li><li>loq.default</li> +    </ul> +    <ul> +      <li>manip</li> +    </ul> --> +       +    <h2>See also</h2> +     +  Examples for <code><a href='din32645.html'>din32645</a></code>   + +         +  </div> +</div> +       +      <footer> +      <p class="pull-right"><a href="#">Back to top</a></p> +<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="http://twitter.github.com/bootstrap">bootstrap</a>.</p> +      </footer> +    </div> +  </body> +</html>
\ No newline at end of file diff --git a/inst/web/massart97ex1.html b/inst/web/massart97ex1.html new file mode 100644 index 0000000..d64dbe3 --- /dev/null +++ b/inst/web/massart97ex1.html @@ -0,0 +1,98 @@ +<!DOCTYPE html> +<html lang="en"> +  <head> +    <meta charset="utf-8"> +<title>massart97ex1. chemCal 0.1-35.900</title> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="author" content=""> + +<link href="css/bootstrap.css" rel="stylesheet"> +<link href="css/bootstrap-responsive.css" rel="stylesheet"> +<link href="css/highlight.css" rel="stylesheet"> +<link href="css/staticdocs.css" rel="stylesheet"> + +<!--[if lt IE 9]> +  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> +<![endif]--> + +<script type="text/x-mathjax-config"> +  MathJax.Hub.Config({ +    tex2jax: { +      inlineMath: [ ['$','$'], ["\\(","\\)"] ], +      processEscapes: true +    } +  }); +</script> +<script type="text/javascript" +  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> +</script> +  </head> + +  <body> +    <div class="navbar"> +  <div class="navbar-inner"> +    <div class="container"> +      <a class="brand" href="#">chemCal 0.1-35.900</a> +      <div class="nav"> +        <ul class="nav"> +          <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li> +        </ul> +      </div> +    </div> +  </div> +</div> + +    <div class="container"> +      <header> +         +      </header> +       +      <h1>Calibration data from Massart et al. (1997), example 1</h1> + +<div class="row"> +  <div class="span8"> +    <h2>Usage</h2> +    <pre><div>data(massart97ex1)</div></pre> +         +    <div class="Description"> +      <h2>Description</h2> + +      <p>Sample dataset from p. 175 to test the package.</p> +   +    </div> + +    <div class="Format"> +      <h2>Format</h2> + +      <p>A dataframe containing 6 observations of x and y data.</p> +   +    </div> + +    <div class="Source"> +      <h2>Source</h2> + +      <p>Massart, L.M, Vandenginste, B.G.M., Buydens, L.M.C., De Jong, S., Lewi, P.J., +  Smeyers-Verbeke, J. (1997) Handbook of Chemometrics and Qualimetrics: Part A, +  Chapter 8.</p> +   +    </div> +      </div> +  <div class="span4"> +    <!-- <ul> +      <li>massart97ex1</li> +    </ul> +    <ul> +      <li>datasets</li> +    </ul> --> +       +         +  </div> +</div> +       +      <footer> +      <p class="pull-right"><a href="#">Back to top</a></p> +<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="http://twitter.github.com/bootstrap">bootstrap</a>.</p> +      </footer> +    </div> +  </body> +</html>
\ No newline at end of file diff --git a/inst/web/massart97ex3-5.png b/inst/web/massart97ex3-5.pngBinary files differ new file mode 100644 index 0000000..fb6c1df --- /dev/null +++ b/inst/web/massart97ex3-5.png diff --git a/inst/web/massart97ex3.html b/inst/web/massart97ex3.html new file mode 100644 index 0000000..9f94ed8 --- /dev/null +++ b/inst/web/massart97ex3.html @@ -0,0 +1,198 @@ +<!DOCTYPE html> +<html lang="en"> +  <head> +    <meta charset="utf-8"> +<title>massart97ex3. chemCal 0.1-35.900</title> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<meta name="author" content=""> + +<link href="css/bootstrap.css" rel="stylesheet"> +<link href="css/bootstrap-responsive.css" rel="stylesheet"> +<link href="css/highlight.css" rel="stylesheet"> +<link href="css/staticdocs.css" rel="stylesheet"> + +<!--[if lt IE 9]> +  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> +<![endif]--> + +<script type="text/x-mathjax-config"> +  MathJax.Hub.Config({ +    tex2jax: { +      inlineMath: [ ['$','$'], ["\\(","\\)"] ], +      processEscapes: true +    } +  }); +</script> +<script type="text/javascript" +  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> +</script> +  </head> + +  <body> +    <div class="navbar"> +  <div class="navbar-inner"> +    <div class="container"> +      <a class="brand" href="#">chemCal 0.1-35.900</a> +      <div class="nav"> +        <ul class="nav"> +          <li><a href="index.html"><i class="icon-home icon-white"></i> Index</a></li> +        </ul> +      </div> +    </div> +  </div> +</div> + +    <div class="container"> +      <header> +         +      </header> +       +      <h1>Calibration data from Massart et al. (1997), example 3</h1> + +<div class="row"> +  <div class="span8"> +    <h2>Usage</h2> +    <pre><div>data(massart97ex3)</div></pre> +         +    <div class="Description"> +      <h2>Description</h2> + +      <p>Sample dataset from p. 188 to test the package.</p> +   +    </div> + +    <div class="Format"> +      <h2>Format</h2> + +      <p>A dataframe containing 6 levels of x values with 5 +  observations of y for each level.</p> +   +    </div> + +    <div class="Source"> +      <h2>Source</h2> + +      <p>Massart, L.M, Vandenginste, B.G.M., Buydens, L.M.C., De Jong, S., Lewi, P.J., +  Smeyers-Verbeke, J. (1997) Handbook of Chemometrics and Qualimetrics: Part A, +  Chapter 8.</p> +   +    </div> +     +    <h2 id="examples">Examples</h2> +    <pre class="examples"><div class='input'>data(massart97ex3) +attach(massart97ex3) +</div> +<strong class='message'>Die folgenden Objekte sind maskiert von massart97ex3 (pos = 3): + +    x, y +</strong> +<div class='input'>yx <- split(y, x) +ybar <- sapply(yx, mean) +s <- round(sapply(yx, sd), digits = 2) +w <- round(1 / (s^2), digits = 3) +weights <- w[factor(x)] +m <- lm(y ~ x, w = weights) +calplot(m) +</div> +<strong class='warning'>Warning message: +Assuming constant prediction variance even though model fit is weighted +</strong> +<p><img src='massart97ex3-5.png' alt='' width='540' height='400' /></p> +<div class='input'> +# The following concords with the book p. 200 +inverse.predict(m, 15, ws = 1.67)  # 5.9 +- 2.5 +</div> +<div class='output'>$Prediction +[1] 5.865367 + +$`Standard Error` +[1] 0.8926109 + +$Confidence +[1] 2.478285 + +$`Confidence Limits` +[1] 3.387082 8.343652 + +</div> +<div class='input'>inverse.predict(m, 90, ws = 0.145) # 44.1 +- 7.9 +</div> +<div class='output'>$Prediction +[1] 44.06025 + +$`Standard Error` +[1] 2.829162 + +$Confidence +[1] 7.855012 + +$`Confidence Limits` +[1] 36.20523 51.91526 + +</div> +<div class='input'> +# The LOD is only calculated for models from unweighted regression +# with this version of chemCal +m0 <- lm(y ~ x)  +lod(m0) +</div> +<div class='output'>$x +[1] 5.407085 + +$y +       1  +13.63911  + +</div> +<div class='input'> +# Limit of quantification from unweighted regression +loq(m0) +</div> +<div class='output'>$x +[1] 13.97764 + +$y +      1  +30.6235  + +</div> +<div class='input'> +# For calculating the limit of quantification from a model from weighted +# regression, we need to supply weights, internally used for inverse.predict +# If we are not using a variance function, we can use the weight from +# the above example as a first approximation (x = 15 is close to our +# loq approx 14 from above). +loq(m, w.loq = 1.67) +</div> +<div class='output'>$x +[1] 7.346195 + +$y +       1  +17.90777  + +</div> +<div class='input'># The weight for the loq should therefore be derived at x = 7.3 instead +# of 15, but the graphical procedure of Massart (p. 201) to derive the  +# variances on which the weights are based is quite inaccurate anyway.  +</div></pre> +  </div> +  <div class="span4"> +    <!-- <ul> +      <li>massart97ex3</li> +    </ul> +    <ul> +      <li>datasets</li> +    </ul> --> +       +         +  </div> +</div> +       +      <footer> +      <p class="pull-right"><a href="#">Back to top</a></p> +<p>Built by <a href="https://github.com/hadley/staticdocs">staticdocs</a>. Styled with <a href="http://twitter.github.com/bootstrap">bootstrap</a>.</p> +      </footer> +    </div> +  </body> +</html>
\ No newline at end of file diff --git a/inst/web/vignettes/chemCal.pdf b/inst/web/vignettes/chemCal.pdfBinary files differ new file mode 100644 index 0000000..90934e8 --- /dev/null +++ b/inst/web/vignettes/chemCal.pdf diff --git a/vignettes/chemCal-001.pdf b/vignettes/chemCal-001.pdfBinary files differ deleted file mode 100644 index ef9e332..0000000 --- a/vignettes/chemCal-001.pdf +++ /dev/null diff --git a/vignettes/chemCal-002.pdf b/vignettes/chemCal-002.pdfBinary files differ deleted file mode 100644 index 2b56f14..0000000 --- a/vignettes/chemCal-002.pdf +++ /dev/null diff --git a/vignettes/chemCal.pdf b/vignettes/chemCal.pdfBinary files differ index 935b160..90934e8 100644 --- a/vignettes/chemCal.pdf +++ b/vignettes/chemCal.pdf diff --git a/vignettes/chemCal.tex b/vignettes/chemCal.tex deleted file mode 100644 index 6326126..0000000 --- a/vignettes/chemCal.tex +++ /dev/null @@ -1,169 +0,0 @@ -\documentclass[a4paper]{article} -%\VignetteIndexEntry{Short manual for the chemCal package} -\usepackage{hyperref} - -\title{Basic calibration functions for analytical chemistry} -\author{Johannes Ranke} - -\usepackage{Sweave} -\begin{document} -\maketitle - -The \texttt{chemCal} package was first designed in the course of a lecture and lab -course on "analytics of organic trace contaminants" at the University of Bremen -from October to December 2004. In the fall 2005, an email exchange with  -Ron Wehrens led to the belief that it would be desirable to implement the -inverse prediction method given in \cite{massart97} since it also covers the -case of weighted regression. Studies of the IUPAC orange book and of DIN 32645 -as well as publications by Currie and the Analytical Method Committee of the  -Royal Society of Chemistry and a nice paper by Castillo and Castells provided -further understanding of the matter. - -At the moment, the package consists of four functions, working on univariate -linear models of class \texttt{lm} or \texttt{rlm}, plus to datasets for -validation. - -A \href{http://bugs.r-project.org/bugzilla3/show_bug.cgi?id=8877}{bug -report (PR\#8877)} and the following e-mail exchange on the r-devel mailing list about -prediction intervals from weighted regression entailed some further studies -on this subject. However, I did not encounter any proof or explanation of the -formula cited below yet, so I can't really confirm that Massart's method is correct. - -When calibrating an analytical method, the first task is to generate a suitable -model. If we want to use the \texttt{chemCal} functions, we will have to restrict -ourselves to univariate, possibly weighted, linear regression so far. - -Once such a model has been created, the calibration can be graphically -shown by using the \texttt{calplot} function: - -\begin{Schunk} -\begin{Sinput} -> library(chemCal) -> data(massart97ex3) -> m0 <- lm(y ~ x, data = massart97ex3) -> calplot(m0) -\end{Sinput} -\end{Schunk} -\includegraphics{chemCal-001} - -As we can see, the scatter increases with increasing x. This is also -illustrated by one of the diagnostic plots for linear models  -provided by R:  - -\begin{Schunk} -\begin{Sinput} -> plot(m0,which=3) -\end{Sinput} -\end{Schunk} -\includegraphics{chemCal-002} - -Therefore, in Example 8 in \cite{massart97} weighted regression -is proposed which can be reproduced by - -\begin{Schunk} -\begin{Sinput} -> attach(massart97ex3) -> yx <- split(y, x) -> ybar <- sapply(yx, mean) -> s <- round(sapply(yx, sd), digits = 2) -> w <- round(1 / (s^2), digits = 3) -> weights <- w[factor(x)] -> m <- lm(y ~ x, w = weights) -\end{Sinput} -\end{Schunk} - -If we now want to predict a new x value from measured y values, -we use the \texttt{inverse.predict} function: - -\begin{Schunk} -\begin{Sinput} -> inverse.predict(m, 15, ws=1.67) -\end{Sinput} -\begin{Soutput} -$Prediction -[1] 5.865367 - -$`Standard Error` -[1] 0.8926109 - -$Confidence -[1] 2.478285 - -$`Confidence Limits` -[1] 3.387082 8.343652 -\end{Soutput} -\begin{Sinput} -> inverse.predict(m, 90, ws = 0.145) -\end{Sinput} -\begin{Soutput} -$Prediction -[1] 44.06025 - -$`Standard Error` -[1] 2.829162 - -$Confidence -[1] 7.855012 - -$`Confidence Limits` -[1] 36.20523 51.91526 -\end{Soutput} -\end{Schunk} - -The weight \texttt{ws} assigned to the measured y value has to be  -given by the user in the case of weighted regression, or alternatively, -the approximate variance \texttt{var.s} at this location. - -\section*{Theory for \texttt{inverse.predict}} -Equation 8.28 in \cite{massart97} gives a general equation for predicting the -standard error $s_{\hat{x_s}}$ for an x value predicted from measurements of y -according to the linear calibration function $ y = b_0 + b_1 \cdot x$: - -\begin{equation} -s_{\hat{x_s}} = \frac{s_e}{b_1} \sqrt{\frac{1}{w_s m} + \frac{1}{\sum{w_i}} + -    \frac{(\bar{y_s} - \bar{y_w})^2 \sum{w_i}} -        {{b_1}^2 \left( \sum{w_i} \sum{w_i {x_i}^2} -  -            {\left( \sum{ w_i x_i } \right)}^2 \right) }} -\end{equation} - -with - -\begin{equation} -s_e = \sqrt{ \frac{\sum w_i (y_i - \hat{y_i})^2}{n - 2}} -\end{equation} - -where $w_i$ is the weight for calibration standard $i$, $y_i$ is the mean $y$ -value (!) observed for standard $i$, $\hat{y_i}$ is the estimated value for -standard $i$, $n$ is the number calibration standards, $w_s$ is the weight -attributed to the sample $s$, $m$ is the number of replicate measurements of -sample $s$, $\bar{y_s}$ is the mean response for the sample,  -$\bar{y_w} = \frac{\sum{w_i y_i}}{\sum{w_i}}$ is the weighted mean of responses -$y_i$, and $x_i$ is the given $x$ value for standard $i$. - -The weight $w_s$ for the sample should be estimated or calculated in accordance -to the weights used in the linear regression.  - -I adjusted the above equation in order to be able to take a different -precisions in standards and samples into account. In analogy to Equation 8.26 -from \cite{massart97} we get - -\begin{equation} -s_{\hat{x_s}} = \frac{1}{b_1} \sqrt{\frac{{s_s}^2}{w_s m} +  -    {s_e}^2 \left( \frac{1}{\sum{w_i}} + -        \frac{(\bar{y_s} - \bar{y_w})^2 \sum{w_i}} -            {{b_1}^2 \left( \sum{w_i} \sum{w_i {x_i}^2} - {\left( \sum{ w_i x_i } \right)}^2 \right) } \right) } -\end{equation} - -where I interpret $\frac{{s_s}^2}{w_s}$ as an estimator of the variance at location -$\hat{x_s}$, which can be replaced by a user-specified value using the argument -\texttt{var.s} of the function \texttt{inverse.predict}. - -\begin{thebibliography}{1} -\bibitem{massart97} -Massart, L.M, Vandenginste, B.G.M., Buydens, L.M.C., De Jong, S., Lewi, P.J., -Smeyers-Verbeke, J.  -\newblock Handbook of Chemometrics and Qualimetrics: Part A, -\newblock Elsevier, Amsterdam, 1997 -\end{thebibliography} - -\end{document} | 
