From dd784546da1de531daff08e9c293d34fbe89dc21 Mon Sep 17 00:00:00 2001 From: Carel van Niekerk <vniekerk.carel@gmail.com> Date: Tue, 21 Apr 2020 16:17:13 +0200 Subject: [PATCH] Add master pydial page --- .gitlab-ci.yml | 3 +- Docs/index.rst | 26 +- Page/benchmarks/_static/ajax-loader.gif | Bin 0 -> 673 bytes Page/benchmarks/_static/alabaster.css | 693 + Page/benchmarks/_static/basic.css | 611 + Page/benchmarks/_static/comment-bright.png | Bin 0 -> 3500 bytes Page/benchmarks/_static/comment-close.png | Bin 0 -> 3578 bytes Page/benchmarks/_static/comment.png | Bin 0 -> 3445 bytes Page/benchmarks/_static/custom.css | 1 + Page/benchmarks/_static/doctools.js | 287 + Page/benchmarks/_static/down-pressed.png | Bin 0 -> 347 bytes Page/benchmarks/_static/down.png | Bin 0 -> 347 bytes Page/benchmarks/_static/file.png | Bin 0 -> 358 bytes Page/benchmarks/_static/jquery-1.11.1.js | 10308 +++++++++++++ Page/benchmarks/_static/jquery.js | 4 + Page/benchmarks/_static/minus.png | Bin 0 -> 173 bytes Page/benchmarks/_static/plus.png | Bin 0 -> 173 bytes Page/benchmarks/_static/pygments.css | 65 + Page/benchmarks/_static/searchtools.js | 651 + Page/benchmarks/_static/underscore-1.3.1.js | 999 ++ Page/benchmarks/_static/underscore.js | 31 + Page/benchmarks/_static/up-pressed.png | Bin 0 -> 345 bytes Page/benchmarks/_static/up.png | Bin 0 -> 345 bytes Page/benchmarks/_static/websupport.js | 808 + Page/benchmarks/index.html | 125 + Page/index.html | 138 + Page/tutorials/Deep RL Policies.html | 11919 +++++++++++++++ Page/tutorials/Deep RL Policies.ipynb | 149 + Page/tutorials/Deep+RL+Policies.html | 149 + Page/tutorials/How to add a new domain.html | 11934 +++++++++++++++ Page/tutorials/How to add a new domain.ipynb | 164 + .../tutorials/How to add your own module.html | 12097 +++++++++++++++ .../How to add your own module.ipynb | 310 + Page/tutorials/Introduction to PyDial.html | 12426 ++++++++++++++++ Page/tutorials/Introduction to PyDial.ipynb | 582 + Page/tutorials/Introduction+to+PyDial.html | 12412 +++++++++++++++ .../Natural Language Generation Module.html | 12194 +++++++++++++++ .../Natural Language Generation Module.ipynb | 393 + .../Natural+Language+Generation+Module.html | 12192 +++++++++++++++ Page/tutorials/Policy module.html | 12159 +++++++++++++++ Page/tutorials/Policy module.ipynb | 379 + Page/tutorials/Policy+module.html | 12150 +++++++++++++++ Page/tutorials/README | 18 + .../Spoken Language Understanding.html | 11979 +++++++++++++++ .../Spoken Language Understanding.ipynb | 199 + .../Spoken+Language+Understanding.html | 11961 +++++++++++++++ Page/tutorials/createOntoCamRes.png | Bin 0 -> 40433 bytes Page/tutorials/encoder.png | Bin 0 -> 79404 bytes Page/tutorials/error250.png | Bin 0 -> 46092 bytes Page/tutorials/lstm.png | Bin 0 -> 249570 bytes Page/tutorials/pydial.png | Bin 0 -> 87284 bytes Page/tutorials/pydial_policy.png | Bin 0 -> 93408 bytes Page/tutorials/rnn.png | Bin 0 -> 152676 bytes Page/tutorials/tutorial_eval_plot.png | Bin 0 -> 67398 bytes Page/tutorials/tutorial_train_plot.png | Bin 0 -> 57229 bytes conf.py | 4 +- 56 files changed, 150507 insertions(+), 13 deletions(-) create mode 100644 Page/benchmarks/_static/ajax-loader.gif create mode 100644 Page/benchmarks/_static/alabaster.css create mode 100644 Page/benchmarks/_static/basic.css create mode 100644 Page/benchmarks/_static/comment-bright.png create mode 100644 Page/benchmarks/_static/comment-close.png create mode 100644 Page/benchmarks/_static/comment.png create mode 100644 Page/benchmarks/_static/custom.css create mode 100644 Page/benchmarks/_static/doctools.js create mode 100644 Page/benchmarks/_static/down-pressed.png create mode 100644 Page/benchmarks/_static/down.png create mode 100644 Page/benchmarks/_static/file.png create mode 100644 Page/benchmarks/_static/jquery-1.11.1.js create mode 100644 Page/benchmarks/_static/jquery.js create mode 100644 Page/benchmarks/_static/minus.png create mode 100644 Page/benchmarks/_static/plus.png create mode 100644 Page/benchmarks/_static/pygments.css create mode 100644 Page/benchmarks/_static/searchtools.js create mode 100644 Page/benchmarks/_static/underscore-1.3.1.js create mode 100644 Page/benchmarks/_static/underscore.js create mode 100644 Page/benchmarks/_static/up-pressed.png create mode 100644 Page/benchmarks/_static/up.png create mode 100644 Page/benchmarks/_static/websupport.js create mode 100644 Page/benchmarks/index.html create mode 100644 Page/index.html create mode 100644 Page/tutorials/Deep RL Policies.html create mode 100644 Page/tutorials/Deep RL Policies.ipynb create mode 100644 Page/tutorials/Deep+RL+Policies.html create mode 100644 Page/tutorials/How to add a new domain.html create mode 100644 Page/tutorials/How to add a new domain.ipynb create mode 100644 Page/tutorials/How to add your own module.html create mode 100644 Page/tutorials/How to add your own module.ipynb create mode 100644 Page/tutorials/Introduction to PyDial.html create mode 100644 Page/tutorials/Introduction to PyDial.ipynb create mode 100644 Page/tutorials/Introduction+to+PyDial.html create mode 100644 Page/tutorials/Natural Language Generation Module.html create mode 100644 Page/tutorials/Natural Language Generation Module.ipynb create mode 100644 Page/tutorials/Natural+Language+Generation+Module.html create mode 100644 Page/tutorials/Policy module.html create mode 100644 Page/tutorials/Policy module.ipynb create mode 100644 Page/tutorials/Policy+module.html create mode 100644 Page/tutorials/README create mode 100644 Page/tutorials/Spoken Language Understanding.html create mode 100644 Page/tutorials/Spoken Language Understanding.ipynb create mode 100644 Page/tutorials/Spoken+Language+Understanding.html create mode 100644 Page/tutorials/createOntoCamRes.png create mode 100644 Page/tutorials/encoder.png create mode 100644 Page/tutorials/error250.png create mode 100644 Page/tutorials/lstm.png create mode 100644 Page/tutorials/pydial.png create mode 100644 Page/tutorials/pydial_policy.png create mode 100644 Page/tutorials/rnn.png create mode 100644 Page/tutorials/tutorial_eval_plot.png create mode 100644 Page/tutorials/tutorial_train_plot.png diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d3858e2..a1b2b18 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,6 @@ test: stage: test script: - pip install -r requirements.txt - - cp -r Docs/* . - sphinx-build -b html . public only: - branches @@ -15,8 +14,8 @@ pages: stage: deploy script: - pip install -r requirements.txt - - cp -r Docs/* . - sphinx-build -b html . public + - cp Page/* public/ - cp Docs/hhu-logo.png public/_static/hhu-logo.png artifacts: paths: diff --git a/Docs/index.rst b/Docs/index.rst index 6cdbf2b..2472a00 100644 --- a/Docs/index.rst +++ b/Docs/index.rst @@ -8,10 +8,19 @@ PyDial3: the Python Statistical Dialog System -Code +Tutorials ==================== -- `Download the Code <https://gitlab.cs.uni-duesseldorf.de/general/dsml/pydial3-public>`_ +- To get familiar with usage of PyDial, you can use the following tutorials: + +- `Introduction to PyDial <../tutorials/Introduction%20to%20PyDial.html>`_ +- `Policy module <../tutorials/Policy%20module.html>`_ +- `Spoken Language Understanding <../tutorials/Spoken%20Language%20Understanding.html>`_ +- `Natural Language Generation <../tutorials/Natural%20Language%20Generation%20Module.html>`_ +- `How to add your own module <../tutorials/How%20to%20add%20your%20own%20module.html>`_ +- `How to add a new domain <../tutorials/How%20to%20add%20a%20new%20domain.html>`_ +- `Deep Reinforcement Learning Policies <../tutorials/Deep%20RL%20Policies.html>`_ + System Documentation ==================== @@ -24,7 +33,7 @@ System Documentation BeliefTracking Policy NLGeneration - Evaluation + Evaluation TopicTracking -------------------- @@ -33,12 +42,12 @@ System Documentation :maxdepth: 1 CEDM - + -------------------- .. toctree:: :maxdepth: 2 - + Systems Simulation @@ -46,16 +55,16 @@ System Documentation .. toctree:: :maxdepth: 2 - + Ontology Tests Utilities - + -------------------- .. toctree:: :maxdepth: 1 - + Acknowledgements Indices and tables @@ -64,4 +73,3 @@ Indices and tables * :ref:`genindex` * :ref:`modindex` * :ref:`search` - diff --git a/Page/benchmarks/_static/ajax-loader.gif b/Page/benchmarks/_static/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..61faf8cab23993bd3e1560bff0668bd628642330 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&6%4J(nYONL^}d<gjw$|=axO|uEJ;mK zD9<d(P)N*5tjNhvOwr5COUq|a{K>+=#lXOz_@CR)H6+;CF~HSG&w!bcfq_AXfq{Vm zWH<w}F~_bu{|rufW(y~CSaC?sVfUMn#_77z@X#)inFqJ&B^)_actJN>!t(Aic1sB! zcCYN`9t=>U8IjE~0h#01qo^R=!n1qBvo4oHr@)W|LrH}MAJ=H96*V$jOYgr;lwfaA zxGwRi%~^7js*08n)F38ggUmQ~87XU@ay&8N%#<*Fw$@}BzAut~A3dECXRI!e`M`B% z^In-_E3}y+--`cXY(C6yv@%6%{(csyQOw9j8FTDPQq?|X)Hd<WoUr)T?q!^<iaaca zF71gjf~(w`He8fvP6~?sY%6bIp(E9QVo8yu56o{Y$mSSv>?%^%_IjQo@<HOWPa}_7 z+2Mqkq>w4CEj#5hBAqnPpK=gjmV0R<e^?D{PS7NnF|5eO7<24WI5fdh{Bg<iJ-6l= zNFJAYps44xZSJY?HH!>+*tkWC6L)Vg{XUhk(O?5-=kEErnqDw-*pSUJ0tNL4PQjaV zLStt!zPnXeFg2m$ZsMG~CevCS-HsZFOh}l$jggn-kb}T%!-hlG&P{|F!;WE$!70zx zsZLksXkM4&;5e+%cf62~#n52osSWD_Bn~A?u!r4R%A`=5B+)c4T5tjbgEc7OfH45| CAl1tN literal 0 HcmV?d00001 diff --git a/Page/benchmarks/_static/alabaster.css b/Page/benchmarks/_static/alabaster.css new file mode 100644 index 0000000..4c450fc --- /dev/null +++ b/Page/benchmarks/_static/alabaster.css @@ -0,0 +1,693 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif; + font-size: 17px; + background-color: #fff; + color: #000; + margin: 0; + padding: 0; +} + + +div.document { + width: 940px; + margin: 30px auto 0 auto; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 220px; +} + +div.sphinxsidebar { + width: 220px; + font-size: 14px; + line-height: 1.5; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.body { + background-color: #fff; + color: #3E4349; + padding: 0 30px 0 30px; +} + +div.body > .section { + text-align: left; +} + +div.footer { + width: 940px; + margin: 20px auto 30px auto; + font-size: 14px; + color: #888; + text-align: right; +} + +div.footer a { + color: #888; +} + +p.caption { + font-family: inherit; + font-size: inherit; +} + + +div.relations { + display: none; +} + + +div.sphinxsidebar a { + color: #444; + text-decoration: none; + border-bottom: 1px dotted #999; +} + +div.sphinxsidebar a:hover { + border-bottom: 1px solid #999; +} + +div.sphinxsidebarwrapper { + padding: 18px 10px; +} + +div.sphinxsidebarwrapper p.logo { + padding: 0; + margin: -10px 0 0 0px; + text-align: center; +} + +div.sphinxsidebarwrapper h1.logo { + margin-top: -10px; + text-align: center; + margin-bottom: 5px; + text-align: left; +} + +div.sphinxsidebarwrapper h1.logo-name { + margin-top: 0px; +} + +div.sphinxsidebarwrapper p.blurb { + margin-top: 0; + font-style: normal; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: 'Garamond', 'Georgia', serif; + color: #444; + font-size: 24px; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +div.sphinxsidebar h4 { + font-size: 20px; +} + +div.sphinxsidebar h3 a { + color: #444; +} + +div.sphinxsidebar p.logo a, +div.sphinxsidebar h3 a, +div.sphinxsidebar p.logo a:hover, +div.sphinxsidebar h3 a:hover { + border: none; +} + +div.sphinxsidebar p { + color: #555; + margin: 10px 0; +} + +div.sphinxsidebar ul { + margin: 10px 0; + padding: 0; + color: #000; +} + +div.sphinxsidebar ul li.toctree-l1 > a { + font-size: 120%; +} + +div.sphinxsidebar ul li.toctree-l2 > a { + font-size: 110%; +} + +div.sphinxsidebar input { + border: 1px solid #CCC; + font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif; + font-size: 1em; +} + +div.sphinxsidebar hr { + border: none; + height: 1px; + color: #AAA; + background: #AAA; + + text-align: left; + margin-left: 0; + width: 50%; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #004B6B; + text-decoration: underline; +} + +a:hover { + color: #6D4100; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: 'Garamond', 'Georgia', serif; + font-weight: normal; + margin: 30px 0px 10px 0px; + padding: 0; +} + +div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } +div.body h2 { font-size: 180%; } +div.body h3 { font-size: 150%; } +div.body h4 { font-size: 130%; } +div.body h5 { font-size: 100%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #DDD; + padding: 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + color: #444; + background: #EAEAEA; +} + +div.body p, div.body dd, div.body li { + line-height: 1.4em; +} + +div.admonition { + margin: 20px 0px; + padding: 10px 30px; + background-color: #EEE; + border: 1px solid #CCC; +} + +div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { + background-color: ; + border-bottom: 1px solid #fafafa; +} + +dd div.admonition { + margin-left: -60px; + padding-left: 60px; +} + +div.admonition p.admonition-title { + font-family: 'Garamond', 'Georgia', serif; + font-weight: normal; + font-size: 24px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; +} + +div.admonition p.last { + margin-bottom: 0; +} + +div.highlight { + background-color: #fff; +} + +dt:target, .highlight { + background: #FAF3E8; +} + +div.warning { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.danger { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.error { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.caution { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.attention { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.important { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.note { + background-color: #87CEFA; + border: 1px solid #CCC; +} + +div.tip { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.hint { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.seealso { + background-color: #FFFACD; + border: 1px solid #CCC; +} + +div.topic { + background-color: #EEE; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre, tt, code { + font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 0.9em; +} + +.hll { + background-color: #FFC; + margin: 0 -12px; + padding: 0 12px; + display: block; +} + +img.screenshot { +} + +tt.descname, tt.descclassname, code.descname, code.descclassname { + font-size: 0.95em; +} + +tt.descname, code.descname { + padding-right: 0.08em; +} + +img.screenshot { + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils { + border: 1px solid #888; + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils td, table.docutils th { + border: 1px solid #888; + padding: 0.25em 0.7em; +} + +table.field-list, table.footnote { + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +table.footnote { + margin: 15px 0; + width: 100%; + border: 1px solid #EEE; + background: #FDFDFD; + font-size: 0.9em; +} + +table.footnote + table.footnote { + margin-top: -15px; + border-top: none; +} + +table.field-list th { + padding: 0 0.8em 0 0; +} + +table.field-list td { + padding: 0; +} + +table.field-list p { + margin-bottom: 0.8em; +} + +table.footnote td.label { + width: .1px; + padding: 0.3em 0 0.3em 0.5em; +} + +table.footnote td { + padding: 0.3em 0.5em; +} + +dl { + margin: 0; + padding: 0; +} + +dl dd { + margin-left: 30px; +} + +blockquote { + margin: 0 0 0 30px; + padding: 0; +} + +ul, ol { + /* Matches the 30px from the narrow-screen "li > ul" selector below */ + margin: 10px 0 10px 30px; + padding: 0; +} + +pre { + background: #EEE; + padding: 7px 30px; + margin: 15px 0px; + line-height: 1.3em; +} + +div.viewcode-block:target { + background: #ffd; +} + +dl pre, blockquote pre, li pre { + margin-left: 0; + padding-left: 30px; +} + +dl dl pre { + margin-left: -90px; + padding-left: 90px; +} + +tt, code { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ +} + +tt.xref, code.xref, a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fff; +} + +a.reference { + text-decoration: none; + border-bottom: 1px dotted #004B6B; +} + +/* Don't put an underline on images */ +a.image-reference, a.image-reference:hover { + border-bottom: none; +} + +a.reference:hover { + border-bottom: 1px solid #6D4100; +} + +a.footnote-reference { + text-decoration: none; + font-size: 0.7em; + vertical-align: top; + border-bottom: 1px dotted #004B6B; +} + +a.footnote-reference:hover { + border-bottom: 1px solid #6D4100; +} + +a:hover tt, a:hover code { + background: #EEE; +} + + +@media screen and (max-width: 870px) { + + div.sphinxsidebar { + display: none; + } + + div.document { + width: 100%; + + } + + div.documentwrapper { + margin-left: 0; + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + } + + div.bodywrapper { + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + margin-left: 0; + } + + ul { + margin-left: 0; + } + + li > ul { + /* Matches the 30px from the "ul, ol" selector above */ + margin-left: 30px; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .bodywrapper { + margin: 0; + } + + .footer { + width: auto; + } + + .github { + display: none; + } + + + +} + + + +@media screen and (max-width: 875px) { + + body { + margin: 0; + padding: 20px 30px; + } + + div.documentwrapper { + float: none; + background: #fff; + } + + div.sphinxsidebar { + display: block; + float: none; + width: 102.5%; + margin: 50px -30px -20px -30px; + padding: 10px 20px; + background: #333; + color: #FFF; + } + + div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, + div.sphinxsidebar h3 a { + color: #fff; + } + + div.sphinxsidebar a { + color: #AAA; + } + + div.sphinxsidebar p.logo { + display: none; + } + + div.document { + width: 100%; + margin: 0; + } + + div.footer { + display: none; + } + + div.bodywrapper { + margin: 0; + } + + div.body { + min-height: 0; + padding: 0; + } + + .rtd_doc_footer { + display: none; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .footer { + width: auto; + } + + .github { + display: none; + } +} + + +/* misc. */ + +.revsys-inline { + display: none!important; +} + +/* Make nested-list/multi-paragraph items look better in Releases changelog + * pages. Without this, docutils' magical list fuckery causes inconsistent + * formatting between different release sub-lists. + */ +div#changelog > div.section > ul > li > p:only-child { + margin-bottom: 0; +} + +/* Hide fugly table cell borders in ..bibliography:: directive output */ +table.docutils.citation, table.docutils.citation td, table.docutils.citation th { + border: none; + /* Below needed in some edge cases; if not applied, bottom shadows appear */ + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} \ No newline at end of file diff --git a/Page/benchmarks/_static/basic.css b/Page/benchmarks/_static/basic.css new file mode 100644 index 0000000..0b79414 --- /dev/null +++ b/Page/benchmarks/_static/basic.css @@ -0,0 +1,611 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox input[type="text"] { + width: 170px; +} + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable dl, table.indextable dd { + margin-top: 0; + margin-bottom: 0; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.field-list ul { + padding-left: 1em; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.field-list td, table.field-list th { + border: 0 !important; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +div.code-block-caption { + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +div.code-block-caption + div > div.highlight > pre { + margin-top: 0; +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + padding: 1em 1em 0; +} + +div.literal-block-wrapper div.highlight { + margin: 0; +} + +code.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +code.descclassname { + background-color: transparent; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/Page/benchmarks/_static/comment-bright.png b/Page/benchmarks/_static/comment-bright.png new file mode 100644 index 0000000000000000000000000000000000000000..551517b8c83b76f734ff791f847829a760ad1903 GIT binary patch literal 3500 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 literal 0 HcmV?d00001 diff --git a/Page/benchmarks/_static/comment-close.png b/Page/benchmarks/_static/comment-close.png new file mode 100644 index 0000000000000000000000000000000000000000..09b54be46da3f0d4a5061da289dc91d8a2cdbc9c GIT binary patch literal 3578 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 TpAyW#z`)??>gTe~DWM4fxevPs literal 0 HcmV?d00001 diff --git a/Page/benchmarks/_static/comment.png b/Page/benchmarks/_static/comment.png new file mode 100644 index 0000000000000000000000000000000000000000..92feb52b8824c6b0f59b658b1196c61de9162a95 GIT binary patch literal 3445 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 literal 0 HcmV?d00001 diff --git a/Page/benchmarks/_static/custom.css b/Page/benchmarks/_static/custom.css new file mode 100644 index 0000000..2a924f1 --- /dev/null +++ b/Page/benchmarks/_static/custom.css @@ -0,0 +1 @@ +/* This file intentionally left blank. */ diff --git a/Page/benchmarks/_static/doctools.js b/Page/benchmarks/_static/doctools.js new file mode 100644 index 0000000..8163495 --- /dev/null +++ b/Page/benchmarks/_static/doctools.js @@ -0,0 +1,287 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function(x) { + return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s == 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node) { + if (node.nodeType == 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { + var span = document.createElement("span"); + span.className = className; + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this); + }); + } + } + return this.each(function() { + highlight(this); + }); +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, + LOCALE : 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated == 'undefined') + return string; + return (typeof translated == 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated == 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('<a class="headerlink">\u00B6</a>'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('<a class="headerlink">\u00B6</a>'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + if (!body.length) { + body = $('body'); + } + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('<p class="highlight-link"><a href="javascript:Documentation.' + + 'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) == 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this == '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + }, + + initOnKeyListeners: function() { + $(document).keyup(function(event) { + var activeElementType = document.activeElement.tagName; + // don't navigate when in search box or textarea + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { + switch (event.keyCode) { + case 37: // left + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + case 39: // right + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + } + } + }); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); \ No newline at end of file diff --git a/Page/benchmarks/_static/down-pressed.png b/Page/benchmarks/_static/down-pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..7c30d004b71b32bb2fc06b3bd4dc8278baab0946 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU<L*T#^NA%Cx&(BWL`2bFmM)l zL>4nJ@LmUDMkkHg6$}gv>?NMQuI#tixfpcC%7omM85kJ+0(?ST85kHg$H!9(v0iy- z&%nSSSrX(I%)rdTBdBC*>k<>6Shiy2fh#Xxef;w4_n&`<Uf2HxxjD((-G!lpRn~)n zfg#b;#W6%eviD%5Sd)Q>%R%oM6BW;_|Gqyk`H9BQ#a%rvZjr^o(+z%^sh^6r7dlh+ z=JM*<-wvnQNzGIWc79U&v1aF4ksHr;d@(wC<@08Zh#%U1n>Rm5o4_XY+H2J+56k1h a`M<N+#P(<{5oBOsVDNPHb6Mw<&;$UXyn;6X literal 0 HcmV?d00001 diff --git a/Page/benchmarks/_static/down.png b/Page/benchmarks/_static/down.png new file mode 100644 index 0000000000000000000000000000000000000000..f48098a43b0c36342db9e1a9a7372e79b2484a59 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU<L*T#^NA%Cx&(BWL`2bFmM)l zL>4nJ@LmUDMkkHg6$}gv>?NMQuI#ti8O4=2j=l}8W?*3O3-AeXWnf@9N<A?BsBInt z1A}BqkY6wZGYgNPlBumrOnhS5ij@bhynOZX%dg*m{vCQ<{}<%uByV>Yh7ML)4+aK? zL{AsT5DCfNgOOrQ1|lv8y=P2RJhT4${=noX8b23z^|-i276(r^_+_SkD%xJ?Oxc^u zt7m^ZoMtCAQz_W_N$JO$oo7XEJlpZb=;W2pn>8YSX!~v6{2*-to6u{oRjWKKj|b=f Y&SDeWqqRhkfq{X+)78&qol`;+06>VDc>n+a literal 0 HcmV?d00001 diff --git a/Page/benchmarks/_static/file.png b/Page/benchmarks/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..254c60bfbe2715ae2edca48ebccfd074deb8031d GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU<L*T&H|6fVg?3oVGw3ym^DX& zfq{X&#M9T6{VF#fFFT{=wh$Qx28R3qpAc6D28PDQ#;H@M&YU@O>eQ(j#Vwg7ZMl{G zxmA<$swd@DPcE8&zOk{ft!GN-ltrC0)^^TZ*EMVXtQ|L296EF0%8?^SjvPID^w_au z$B!R>_3G8@*RS8adGq$|)3<NmzWsRZ-Me@1-@pIx;lsy|A3uHi^#A{VW|g(e85kH? zOM?7@8Nybq*<yO*UOEE<17ni6yNk*ewx2T@7#MOqT^vIsBv}tS`W*^jU_DT|pFijD zIo6N=mKS$l6q<DFyw5aVhWg;``V2Myway23Tx5M}qvWx02ghLsRd)w74XML(SdTIn zv<tn?wXbYE^l`Ft!y)aT^FK>z9Ci}auyc1|I>pZ55zg>Noq-{L;Yx|DmEuws3=9km Mp00i_>zopr044O6bN~PV literal 0 HcmV?d00001 diff --git a/Page/benchmarks/_static/jquery-1.11.1.js b/Page/benchmarks/_static/jquery-1.11.1.js new file mode 100644 index 0000000..d4b67f7 --- /dev/null +++ b/Page/benchmarks/_static/jquery-1.11.1.js @@ -0,0 +1,10308 @@ +/*! + * jQuery JavaScript Library v1.11.1 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-05-01T17:42Z + */ + +(function( global, factory ) { + + if ( typeof module === "object" && typeof module.exports === "object" ) { + // For CommonJS and CommonJS-like environments where a proper window is present, + // execute the factory and get jQuery + // For environments that do not inherently posses a window with a document + // (such as Node.js), expose a jQuery-making factory as module.exports + // This accentuates the need for the creation of a real window + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Can't do this because several apps including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +// Support: Firefox 18+ +// + +var deletedIds = []; + +var slice = deletedIds.slice; + +var concat = deletedIds.concat; + +var push = deletedIds.push; + +var indexOf = deletedIds.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var support = {}; + + + +var + version = "1.11.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android<4.1, IE<9 + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: deletedIds.sort, + splice: deletedIds.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + /* jshint eqeqeq: false */ + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + // parseFloat NaNs numeric-cast false positives (null|true|false|"") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0; + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + isPlainObject: function( obj ) { + var key; + + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Support: IE<9 + // Handle iteration over inherited properties before own properties. + if ( support.ownLast ) { + for ( key in obj ) { + return hasOwn.call( obj, key ); + } + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call(obj) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && jQuery.trim( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Support: Android<4.1, IE<9 + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( indexOf ) { + return indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + while ( j < len ) { + first[ i++ ] = second[ j++ ]; + } + + // Support: IE<9 + // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) + if ( len !== len ) { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: function() { + return +( new Date() ); + }, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v1.10.19 + * http://sizzlejs.com/ + * + * Copyright 2013 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-04-18 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + characterEncoding + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( documentIsHTML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document (jQuery #6963) + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // QSA path + if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + nid = old = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = attrs.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== strundefined && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, + doc = node ? node.ownerDocument || node : preferredDoc, + parent = doc.defaultView; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsHTML = !isXML( doc ); + + // Support: IE>8 + // If iframe document is assigned to "document" variable and if iframe has been reloaded, + // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 + // IE6-8 do not support the defaultView property so parent will be undefined + if ( parent && parent !== parent.top ) { + // IE11 does not have attachEvent, so all must suffer + if ( parent.addEventListener ) { + parent.addEventListener( "unload", function() { + setDocument(); + }, false ); + } else if ( parent.attachEvent ) { + parent.attachEvent( "onunload", function() { + setDocument(); + }); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if getElementsByClassName can be trusted + support.getElementsByClassName = rnative.test( doc.getElementsByClassName ) && assert(function( div ) { + div.innerHTML = "<div class='a'></div><div class='a i'></div>"; + + // Support: Safari<4 + // Catch class over-caching + div.firstChild.className = "i"; + // Support: Opera<10 + // Catch gEBCN failure to find non-leading classes + return div.getElementsByClassName("i").length === 2; + }); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [ m ] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = "<select msallowclip=''><option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( div.querySelectorAll("[msallowclip^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = doc.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( div.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return doc; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (oldCache = outerCache[ dir ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + outerCache[ dir ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context !== document && context; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is no seed and only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome<14 +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = "<a href='#'></a>"; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = "<input/>"; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + }); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + }); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; + }); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + })); +}; + +jQuery.fn.extend({ + find: function( selector ) { + var i, + ret = [], + self = this, + len = self.length; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + filter: function( selector ) { + return this.pushStack( winnow(this, selector || [], false) ); + }, + not: function( selector ) { + return this.pushStack( winnow(this, selector || [], true) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +}); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + init = jQuery.fn.init = function( selector, context ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return typeof rootjQuery.ready !== "undefined" ? + rootjQuery.ready( selector ) : + // Execute immediately if ready is not present + selector( jQuery ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.extend({ + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +jQuery.fn.extend({ + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { + // Always skip document fragments + if ( cur.nodeType < 11 && (pos ? + pos.index(cur) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector(cur, selectors)) ) { + + matched.push( cur ); + break; + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.unique( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + if ( this.length > 1 ) { + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + ret = jQuery.unique( ret ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + } + + return this.pushStack( ret ); + }; +}); +var rnotwhite = (/\S+/g); + + + +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // First callback to fire (used internally by add and fireWith) + firingStart, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + firingLength = 0; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( list && ( !fired || stack ) ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( values === progressValues ) { + deferred.notifyWith( contexts, values ); + + } else if ( !(--remaining) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); + + +// The deferred used on DOM ready +var readyList; + +jQuery.fn.ready = function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; +}; + +jQuery.extend({ + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.triggerHandler ) { + jQuery( document ).triggerHandler( "ready" ); + jQuery( document ).off( "ready" ); + } + } +}); + +/** + * Clean-up method for dom ready events + */ +function detach() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } +} + +/** + * The ready event handler and self cleanup method + */ +function completed() { + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { + detach(); + jQuery.ready(); + } +} + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + + // If IE event model is used + } else { + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + + +var strundefined = typeof undefined; + + + +// Support: IE<9 +// Iteration over object's inherited properties before its own +var i; +for ( i in jQuery( support ) ) { + break; +} +support.ownLast = i !== "0"; + +// Note: most support tests are defined in their respective modules. +// false until the test is run +support.inlineBlockNeedsLayout = false; + +// Execute ASAP in case we need to set body.style.zoom +jQuery(function() { + // Minified: var a,b,c,d + var val, div, body, container; + + body = document.getElementsByTagName( "body" )[ 0 ]; + if ( !body || !body.style ) { + // Return for frameset docs that don't have a body + return; + } + + // Setup + div = document.createElement( "div" ); + container = document.createElement( "div" ); + container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; + body.appendChild( container ).appendChild( div ); + + if ( typeof div.style.zoom !== strundefined ) { + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; + + support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; + if ( val ) { + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); +}); + + + + +(function() { + var div = document.createElement( "div" ); + + // Execute the test only if not already executed in another module. + if (support.deleteExpando == null) { + // Support: IE<9 + support.deleteExpando = true; + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + } + + // Null elements to avoid leaks in IE. + div = null; +})(); + + +/** + * Determines whether an object can have data + */ +jQuery.acceptData = function( elem ) { + var noData = jQuery.noData[ (elem.nodeName + " ").toLowerCase() ], + nodeType = +elem.nodeType || 1; + + // Do not set data on non-element DOM nodes because it will not be cleared (#8335). + return nodeType !== 1 && nodeType !== 9 ? + false : + + // Nodes accept data unless otherwise specified; rejection can be conditional + !noData || noData !== true && elem.getAttribute("classid") === noData; +}; + + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /([A-Z])/g; + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + +function internalData( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var ret, thisCache, + internalKey = jQuery.expando, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + // Avoid exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( typeof name === "string" ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } else { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + } + + i = name.length; + while ( i-- ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + /* jshint eqeqeq: false */ + } else if ( support.deleteExpando || cache != cache.window ) { + /* jshint eqeqeq: true */ + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } +} + +jQuery.extend({ + cache: {}, + + // The following elements (space-suffixed to avoid Object.prototype collisions) + // throw uncatchable exceptions if you attempt to set expando properties + noData: { + "applet ": true, + "embed ": true, + // ...but Flash objects (which have this classid) *can* handle expandos + "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var i, name, data, + elem = this[0], + attrs = elem && elem.attributes; + + // Special expections of .data basically thwart jQuery.access, + // so implement the relevant behavior ourselves + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE11+ + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice(5) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + return arguments.length > 1 ? + + // Sets one value + this.each(function() { + jQuery.data( this, key, value ); + }) : + + // Gets one value + // Try to fetch any internally stored data first + elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined; + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + + +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery._removeData( elem, type + "queue" ); + jQuery._removeData( elem, key ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHidden = function( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); + }; + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; +}; +var rcheckableType = (/^(?:checkbox|radio)$/i); + + + +(function() { + // Minified: var a,b,c + var input = document.createElement( "input" ), + div = document.createElement( "div" ), + fragment = document.createDocumentFragment(); + + // Setup + div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; + + // IE strips leading whitespace when .innerHTML is used + support.leadingWhitespace = div.firstChild.nodeType === 3; + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + support.tbody = !div.getElementsByTagName( "tbody" ).length; + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + support.htmlSerialize = !!div.getElementsByTagName( "link" ).length; + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + support.html5Clone = + document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav></:nav>"; + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + input.type = "checkbox"; + input.checked = true; + fragment.appendChild( input ); + support.appendChecked = input.checked; + + // Make sure textarea (and checkbox) defaultValue is properly cloned + // Support: IE6-IE11+ + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // #11217 - WebKit loses check when the name is after the checked attribute + fragment.appendChild( div ); + div.innerHTML = "<input type='radio' checked='checked' name='t'/>"; + + // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 + // old WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Opera does not clone events (and typeof div.attachEvent === undefined). + // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() + support.noCloneEvent = true; + if ( div.attachEvent ) { + div.attachEvent( "onclick", function() { + support.noCloneEvent = false; + }); + + div.cloneNode( true ).click(); + } + + // Execute the test only if not already executed in another module. + if (support.deleteExpando == null) { + // Support: IE<9 + support.deleteExpando = true; + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + } +})(); + + +(function() { + var i, eventName, + div = document.createElement( "div" ); + + // Support: IE<9 (lack submit/change bubble), Firefox 23+ (lack focusin event) + for ( i in { submit: true, change: true, focusin: true }) { + eventName = "on" + i; + + if ( !(support[ i + "Bubbles" ] = eventName in window) ) { + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) + div.setAttribute( eventName, "t" ); + support[ i + "Bubbles" ] = div.attributes[ eventName ].expando === false; + } + } + + // Null elements to avoid leaks in IE. + div = null; +})(); + + +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = jQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== strundefined && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && jQuery.acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && + jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, ret, handleObj, matched, j, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var sel, handleObj, matches, i, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG <use> instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + /* jshint eqeqeq: false */ + for ( ; cur != this; cur = cur.parentNode || this ) { + /* jshint eqeqeq: true */ + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Chrome 23+, Safari? + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === strundefined ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + // Support: IE < 9, Android < 4.0 + src.returnValue === false ? + returnTrue : + returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + if ( !e ) { + return; + } + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && e.stopImmediatePropagation ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "submitBubbles" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "submitBubbles", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "changeBubbles", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = jQuery._data( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + jQuery._data( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = jQuery._data( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + jQuery._removeData( doc, fix ); + } else { + jQuery._data( doc, fix, attaches ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var type, origFn; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); + + +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /<tbody/i, + rhtml = /<|&#?\w+;/, + rnoInnerhtml = /<(?:script|style|link)/i, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /^$|\/(?:java|ecma)script/i, + rscriptTypeMasked = /^true\/(.*)/, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + option: [ 1, "<select multiple='multiple'>", "</select>" ], + legend: [ 1, "<fieldset>", "</fieldset>" ], + area: [ 1, "<map>", "</map>" ], + param: [ 1, "<object>", "</object>" ], + thead: [ 1, "<table>", "</table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { + if ( !tag || jQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + jQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], found ) : + found; +} + +// Used in buildFragment, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +// Support: IE<8 +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName("tbody")[0] || + elem.appendChild( elem.ownerDocument.createElement("tbody") ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[1]; + } else { + elem.removeAttribute("type"); + } + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; (elem = elems[i]) != null; i++ ) { + jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); + } +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !support.noCloneEvent && dest[ jQuery.expando ] ) { + data = jQuery._data( dest ); + + for ( e in data.events ) { + jQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( jQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = jQuery.contains( elem.ownerDocument, elem ); + + if ( support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!support.noCloneEvent || !support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; (node = srcElements[i]) != null; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + fixCloneNodeIssues( node, destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; (node = srcElements[i]) != null; i++ ) { + cloneCopyEvent( node, destElements[i] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var j, elem, contains, + tmp, tag, tbody, wrap, + l = elems.length, + + // Ensure a safe fragment + safe = createSafeFragment( context ), + + nodes = [], + i = 0; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || safe.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = (rtagName.exec( elem ) || [ "", "" ])[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + + tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2]; + + // Descend through wrappers to the right content + j = wrap[0]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Manually add leading whitespace removed by IE + if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); + } + + // Remove IE's autoinserted <tbody> from table fragments + if ( !support.tbody ) { + + // String was a <table>, *may* have spurious <tbody> + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare <thead> or <tfoot> + wrap[1] === "<table>" && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { + elem.removeChild( tbody ); + } + } + } + + jQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !support.appendChecked ) { + jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var elem, type, id, data, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( typeof elem.removeAttribute !== strundefined ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + deletedIds.push( id ); + } + } + } + } + } +}); + +jQuery.fn.extend({ + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + append: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip( arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + remove: function( selector, keepData /* Internal Use Only */ ) { + var elem, + elems = selector ? jQuery.filter( selector, this ) : this, + i = 0; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && jQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map(function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ (rtagName.exec( value ) || [ "", "" ])[ 1 ].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1></$2>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var arg = arguments[ 0 ]; + + // Make the changes, replacing each context element with the new content + this.domManip( arguments, function( elem ) { + arg = this.parentNode; + + jQuery.cleanData( getAll( this ) ); + + if ( arg ) { + arg.replaceChild( elem, this ); + } + }); + + // Force removal if there was no new content (e.g., from empty arguments) + return arg && (arg.length || arg.nodeType) ? this : this.remove(); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, callback ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[0], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[0] = value.call( this, index, self.html() ); + } + self.domManip( args, callback ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( this[i], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return this; + } +}); + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone(true); + jQuery( insert[i] )[ original ]( elems ); + + // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + + +var iframe, + elemdisplay = {}; + +/** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ +// Called only from within defaultDisplay +function actualDisplay( name, doc ) { + var style, + elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + + // getDefaultComputedStyle might be reliably used only on attached element + display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? + + // Use of this method is a temporary fix (more like optmization) until something better comes along, + // since it was removed from specification and supported only in FF + style.display : jQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; +} + +/** + * Try to determine the default display value of an element + * @param {String} nodeName + */ +function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = (iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" )).appendTo( doc.documentElement ); + + // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse + doc = ( iframe[ 0 ].contentWindow || iframe[ 0 ].contentDocument ).document; + + // Support: IE + doc.write(); + doc.close(); + + display = actualDisplay( nodeName, doc ); + iframe.detach(); + } + + // Store the correct default display + elemdisplay[ nodeName ] = display; + } + + return display; +} + + +(function() { + var shrinkWrapBlocksVal; + + support.shrinkWrapBlocks = function() { + if ( shrinkWrapBlocksVal != null ) { + return shrinkWrapBlocksVal; + } + + // Will be changed later if needed. + shrinkWrapBlocksVal = false; + + // Minified: var b,c,d + var div, body, container; + + body = document.getElementsByTagName( "body" )[ 0 ]; + if ( !body || !body.style ) { + // Test fired too early or in an unsupported environment, exit. + return; + } + + // Setup + div = document.createElement( "div" ); + container = document.createElement( "div" ); + container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; + body.appendChild( container ).appendChild( div ); + + // Support: IE6 + // Check if elements with layout shrink-wrap their children + if ( typeof div.style.zoom !== strundefined ) { + // Reset CSS: box-sizing; display; margin; border + div.style.cssText = + // Support: Firefox<29, Android 2.3 + // Vendor-prefix box-sizing + "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + + "box-sizing:content-box;display:block;margin:0;border:0;" + + "padding:1px;width:1px;zoom:1"; + div.appendChild( document.createElement( "div" ) ).style.width = "5px"; + shrinkWrapBlocksVal = div.offsetWidth !== 3; + } + + body.removeChild( container ); + + return shrinkWrapBlocksVal; + }; + +})(); +var rmargin = (/^margin/); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + + + +var getStyles, curCSS, + rposition = /^(top|right|bottom|left)$/; + +if ( window.getComputedStyle ) { + getStyles = function( elem ) { + return elem.ownerDocument.defaultView.getComputedStyle( elem, null ); + }; + + curCSS = function( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is only needed for .css('filter') in IE9, see #12537 + ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined; + + if ( computed ) { + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + // Support: IE + // IE returns zIndex value as an integer. + return ret === undefined ? + ret : + ret + ""; + }; +} else if ( document.documentElement.currentStyle ) { + getStyles = function( elem ) { + return elem.currentStyle; + }; + + curCSS = function( elem, name, computed ) { + var left, rs, rsLeft, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + ret = computed ? computed[ name ] : undefined; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rs = elem.runtimeStyle; + rsLeft = rs && rs.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + rs.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + rs.left = rsLeft; + } + } + + // Support: IE + // IE returns zIndex value as an integer. + return ret === undefined ? + ret : + ret + "" || "auto"; + }; +} + + + + +function addGetHookIf( conditionFn, hookFn ) { + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + var condition = conditionFn(); + + if ( condition == null ) { + // The test was not ready at this point; screw the hook this time + // but check again when needed next time. + return; + } + + if ( condition ) { + // Hook not needed (or it's not possible to use it due to missing dependency), + // remove it. + // Since there are no other hooks for marginRight, remove the whole object. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + + return (this.get = hookFn).apply( this, arguments ); + } + }; +} + + +(function() { + // Minified: var b,c,d,e,f,g, h,i + var div, style, a, pixelPositionVal, boxSizingReliableVal, + reliableHiddenOffsetsVal, reliableMarginRightVal; + + // Setup + div = document.createElement( "div" ); + div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; + a = div.getElementsByTagName( "a" )[ 0 ]; + style = a && a.style; + + // Finish early in limited (non-browser) environments + if ( !style ) { + return; + } + + style.cssText = "float:left;opacity:.5"; + + // Support: IE<9 + // Make sure that element opacity exists (as opposed to filter) + support.opacity = style.opacity === "0.5"; + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + support.cssFloat = !!style.cssFloat; + + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + // Support: Firefox<29, Android 2.3 + // Vendor-prefix box-sizing + support.boxSizing = style.boxSizing === "" || style.MozBoxSizing === "" || + style.WebkitBoxSizing === ""; + + jQuery.extend(support, { + reliableHiddenOffsets: function() { + if ( reliableHiddenOffsetsVal == null ) { + computeStyleTests(); + } + return reliableHiddenOffsetsVal; + }, + + boxSizingReliable: function() { + if ( boxSizingReliableVal == null ) { + computeStyleTests(); + } + return boxSizingReliableVal; + }, + + pixelPosition: function() { + if ( pixelPositionVal == null ) { + computeStyleTests(); + } + return pixelPositionVal; + }, + + // Support: Android 2.3 + reliableMarginRight: function() { + if ( reliableMarginRightVal == null ) { + computeStyleTests(); + } + return reliableMarginRightVal; + } + }); + + function computeStyleTests() { + // Minified: var b,c,d,j + var div, body, container, contents; + + body = document.getElementsByTagName( "body" )[ 0 ]; + if ( !body || !body.style ) { + // Test fired too early or in an unsupported environment, exit. + return; + } + + // Setup + div = document.createElement( "div" ); + container = document.createElement( "div" ); + container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; + body.appendChild( container ).appendChild( div ); + + div.style.cssText = + // Support: Firefox<29, Android 2.3 + // Vendor-prefix box-sizing + "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" + + "box-sizing:border-box;display:block;margin-top:1%;top:1%;" + + "border:1px;padding:1px;width:4px;position:absolute"; + + // Support: IE<9 + // Assume reasonable values in the absence of getComputedStyle + pixelPositionVal = boxSizingReliableVal = false; + reliableMarginRightVal = true; + + // Check for getComputedStyle so that this code is not run in IE<9. + if ( window.getComputedStyle ) { + pixelPositionVal = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + boxSizingReliableVal = + ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // Support: Android 2.3 + // Div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container (#3333) + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + contents = div.appendChild( document.createElement( "div" ) ); + + // Reset CSS: box-sizing; display; margin; border; padding + contents.style.cssText = div.style.cssText = + // Support: Firefox<29, Android 2.3 + // Vendor-prefix box-sizing + "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + + "box-sizing:content-box;display:block;margin:0;border:0;padding:0"; + contents.style.marginRight = contents.style.width = "0"; + div.style.width = "1px"; + + reliableMarginRightVal = + !parseFloat( ( window.getComputedStyle( contents, null ) || {} ).marginRight ); + } + + // Support: IE8 + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; + contents = div.getElementsByTagName( "td" ); + contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none"; + reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0; + if ( reliableHiddenOffsetsVal ) { + contents[ 0 ].style.display = ""; + contents[ 1 ].style.display = "none"; + reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0; + } + + body.removeChild( container ); + } + +})(); + + +// A method for quickly swapping in/out CSS properties to get correct calculations. +jQuery.swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity\s*=\s*([^)]*)/, + + // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" + // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ), + rrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ), + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; + + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function showHide( elements, show ) { + var display, elem, hidden, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + values[ index ] = jQuery._data( elem, "olddisplay" ); + display = elem.style.display; + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", defaultDisplay(elem.nodeName) ); + } + } else { + hidden = isHidden( elem ); + + if ( display && display !== "none" || !hidden ) { + jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + // at this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var valueIsBorderBox = true, + val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + styles = getStyles( elem ), + isBorderBox = support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set. See: #7116 + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, + // but it would mean to define eight (for every problematic property) identical functions + if ( !support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + + // Support: IE + // Swallow errors from 'invalid' CSS values (#5509) + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var num, val, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + } +}); + +jQuery.each([ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + // certain elements can have dimension info if we invisibly show them + // however, it must have a current display style that would benefit from this + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ? + jQuery.swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + }) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var styles = extra && getStyles( elem ); + return setPositiveNumber( elem, value, extra ? + augmentWidthOrHeight( + elem, + name, + extra, + support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ) : 0 + ); + } + }; +}); + +if ( !support.opacity ) { + jQuery.cssHooks.opacity = { + get: function( elem, computed ) { + // IE uses filters for opacity + return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? + ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : + computed ? "1" : ""; + }, + + set: function( elem, value ) { + var style = elem.style, + currentStyle = elem.currentStyle, + opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", + filter = currentStyle && currentStyle.filter || style.filter || ""; + + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 + // if value === "", then remove inline opacity #12685 + if ( ( value >= 1 || value === "" ) && + jQuery.trim( filter.replace( ralpha, "" ) ) === "" && + style.removeAttribute ) { + + // Setting style.filter to null, "" & " " still leave "filter:" in the cssText + // if "filter:" is present at all, clearType is disabled, we want to avoid this + // style.removeAttribute is IE Only, but so apparently is this code path... + style.removeAttribute( "filter" ); + + // if there is no filter style applied in a css rule or unset inline opacity, we are done + if ( value === "" || currentStyle && !currentStyle.filter ) { + return; + } + } + + // otherwise, set new filter values + style.filter = ralpha.test( filter ) ? + filter.replace( ralpha, opacity ) : + filter + " " + opacity; + } + }; +} + +jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight, + function( elem, computed ) { + if ( computed ) { + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + // Work around by temporarily setting element display to inline-block + return jQuery.swap( elem, { "display": "inline-block" }, + curCSS, [ elem, "marginRight" ] ); + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each({ + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // assumes a single number if not a string + parts = typeof value === "string" ? value.split(" ") : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +}); + +jQuery.fn.extend({ + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each(function() { + if ( isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || "swing"; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + if ( tween.elem[ tween.prop ] != null && + (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { + return tween.elem[ tween.prop ]; + } + + // passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails + // so, simple values such as "10px" are parsed to Float. + // complex values such as "rotate(1rad)" are returned as is. + result = jQuery.css( tween.elem, tween.prop, "" ); + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + // use step hook for back compat - use cssHook if its there - use .style if its + // available and use plain properties where available + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 +// Panic based approach to setting things on disconnected nodes + +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + } +}; + +jQuery.fx = Tween.prototype.init; + +// Back Compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rfxnum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ), + rrun = /queueHooks$/, + animationPrefilters = [ defaultPrefilter ], + tweeners = { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ), + target = tween.cur(), + parts = rfxnum.exec( value ), + unit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + start = ( jQuery.cssNumber[ prop ] || unit !== "px" && +target ) && + rfxnum.exec( jQuery.css( tween.elem, prop ) ), + scale = 1, + maxIterations = 20; + + if ( start && start[ 3 ] !== unit ) { + // Trust units reported by jQuery.css + unit = unit || start[ 3 ]; + + // Make sure we update the tween properties later on + parts = parts || []; + + // Iteratively approximate from a nonzero starting point + start = +target || 1; + + do { + // If previous iteration zeroed out, double until we get *something* + // Use a string for doubling factor so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + start = start / scale; + jQuery.style( tween.elem, prop, start + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // And breaking the loop if scale is unchanged or perfect, or if we've just had enough + } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); + } + + // Update tween properties + if ( parts ) { + start = tween.start = +start || +target || 0; + tween.unit = unit; + // If a +=/-= token was provided, we're doing a relative animation + tween.end = parts[ 1 ] ? + start + ( parts[ 1 ] + 1 ) * parts[ 2 ] : + +parts[ 2 ]; + } + + return tween; + } ] + }; + +// Animations created synchronously will run synchronously +function createFxNow() { + setTimeout(function() { + fxNow = undefined; + }); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + attrs = { height: type }, + i = 0; + + // if we include width, step value is 1 to do all cssExpand values, + // if we don't include width, step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4 ; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( (tween = collection[ index ].call( animation, prop, value )) ) { + + // we're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + /* jshint validthis: true */ + var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHidden( elem ), + dataShow = jQuery._data( elem, "fxshow" ); + + // handle queue: false promises + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always(function() { + // doing this makes sure that the complete handler will be called + // before this completes + anim.always(function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + }); + }); + } + + // height/width overflow pass + if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { + // Make sure that nothing sneaks out + // Record all 3 overflow attributes because IE does not + // change the overflow attribute when overflowX and + // overflowY are set to the same value + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Set display property to inline-block for height/width + // animations on inline elements that are having width/height animated + display = jQuery.css( elem, "display" ); + + // Test default display if display is currently "none" + checkDisplay = display === "none" ? + jQuery._data( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display; + + if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) { + + // inline-level elements accept inline-block; + // block-level elements need to be inline with layout + if ( !support.inlineBlockNeedsLayout || defaultDisplay( elem.nodeName ) === "inline" ) { + style.display = "inline-block"; + } else { + style.zoom = 1; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + if ( !support.shrinkWrapBlocks() ) { + anim.always(function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + }); + } + } + + // show/hide pass + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.exec( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + + // Any non-fx value stops us from restoring the original display value + } else { + display = undefined; + } + } + + if ( !jQuery.isEmptyObject( orig ) ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = jQuery._data( elem, "fxshow", {} ); + } + + // store state if its toggle - enables .stop().toggle() to "reverse" + if ( toggle ) { + dataShow.hidden = !hidden; + } + if ( hidden ) { + jQuery( elem ).show(); + } else { + anim.done(function() { + jQuery( elem ).hide(); + }); + } + anim.done(function() { + var prop; + jQuery._removeData( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + }); + for ( prop in orig ) { + tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = tween.start; + if ( hidden ) { + tween.end = tween.start; + tween.start = prop === "width" || prop === "height" ? 1 : 0; + } + } + } + + // If this is a noop like .hide().hide(), restore an overwritten display value + } else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) { + style.display = display; + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // not quite $.extend, this wont overwrite keys already present. + // also - reusing 'index' from above because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = animationPrefilters.length, + deferred = jQuery.Deferred().always( function() { + // don't match elem in the :animated selector + delete tick.elem; + }), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ]); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise({ + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { specialEasing: {} }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + // if we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // resolve when we played the last frame + // otherwise, reject + if ( gotoEnd ) { + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + }), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length ; index++ ) { + result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + }) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +jQuery.Animation = jQuery.extend( Animation, { + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.split(" "); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length ; index++ ) { + prop = props[ index ]; + tweeners[ prop ] = tweeners[ prop ] || []; + tweeners[ prop ].unshift( callback ); + } + }, + + prefilter: function( callback, prepend ) { + if ( prepend ) { + animationPrefilters.unshift( callback ); + } else { + animationPrefilters.push( callback ); + } + } +}); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + + // normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend({ + fadeTo: function( speed, to, easing, callback ) { + + // show any hidden elements after setting opacity to 0 + return this.filter( isHidden ).css( "opacity", 0 ).show() + + // animate to the value specified + .end().animate({ opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || jQuery._data( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each(function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = jQuery._data( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // start the next in the queue if the last step wasn't forced + // timers currently will call their complete callbacks, which will dequeue + // but only if they were gotoEnd + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + }); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each(function() { + var index, + data = jQuery._data( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // enable finishing flag on private data + data.finish = true; + + // empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // turn off finishing flag + delete data.finish; + }); + } +}); + +jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +}); + +// Generate shortcuts for custom animations +jQuery.each({ + slideDown: genFx("show"), + slideUp: genFx("hide"), + slideToggle: genFx("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +}); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + timers = jQuery.timers, + i = 0; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + if ( timer() ) { + jQuery.fx.start(); + } else { + jQuery.timers.pop(); + } +}; + +jQuery.fx.interval = 13; + +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + clearInterval( timerId ); + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); +}; + + +(function() { + // Minified: var a,b,c,d,e + var input, div, select, a, opt; + + // Setup + div = document.createElement( "div" ); + div.setAttribute( "className", "t" ); + div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; + a = div.getElementsByTagName("a")[ 0 ]; + + // First batch of tests. + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + a.style.cssText = "top:1px"; + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + support.getSetAttribute = div.className !== "t"; + + // Get the style information from getAttribute + // (IE uses .cssText instead) + support.style = /top/.test( a.getAttribute("style") ); + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + support.hrefNormalized = a.getAttribute("href") === "/a"; + + // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) + support.checkOn = !!input.value; + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + support.optSelected = opt.selected; + + // Tests for enctype support on a form (#6743) + support.enctype = !!document.createElement("form").enctype; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Support: IE8 only + // Check if we can trust getAttribute("value") + input = document.createElement( "input" ); + input.setAttribute( "value", "" ); + support.input = input.getAttribute( "value" ) === ""; + + // Check if an input maintains its value after becoming a radio + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; +})(); + + +var rreturn = /\r/g; + +jQuery.fn.extend({ + val: function( value ) { + var hooks, ret, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + // Support: IE10-11+ + // option.text throws exceptions (#14686, #14858) + jQuery.trim( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one" || index < 0, + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // oldIE doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + // Don't return options that are disabled or in a disabled optgroup + ( support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && + ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + if ( jQuery.inArray( jQuery.valHooks.option.get( option ), values ) >= 0 ) { + + // Support: IE6 + // When new option element is added to select box we need to + // force reflow of newly added node in order to workaround delay + // of initialization properties + try { + option.selected = optionSet = true; + + } catch ( _ ) { + + // Will be executed only in IE6 + option.scrollHeight; + } + + } else { + option.selected = false; + } + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + + return options; + } + } + } +}); + +// Radios and checkboxes getter/setter +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + // Support: Webkit + // "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + }; + } +}); + + + + +var nodeHook, boolHook, + attrHandle = jQuery.expr.attrHandle, + ruseDefault = /^(?:checked|selected)$/i, + getSetAttribute = support.getSetAttribute, + getSetInput = support.input; + +jQuery.fn.extend({ + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + } +}); + +jQuery.extend({ + attr: function( elem, name, value ) { + var hooks, ret, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === strundefined ) { + return jQuery.prop( elem, name, value ); + } + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + + } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var name, propName, + i = 0, + attrNames = value && value.match( rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( (name = attrNames[i++]) ) { + propName = jQuery.propFix[ name ] || name; + + // Boolean attributes get special treatment (#10870) + if ( jQuery.expr.match.bool.test( name ) ) { + // Set corresponding property to false + if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + elem[ propName ] = false; + // Support: IE<9 + // Also clear defaultChecked/defaultSelected (if appropriate) + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = + elem[ propName ] = false; + } + + // See #9699 for explanation of this approach (setting first, then removal) + } else { + jQuery.attr( elem, name, "" ); + } + + elem.removeAttribute( getSetAttribute ? name : propName ); + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to default in case type is set after value during creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + } +}); + +// Hook for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + // IE<8 needs the *property* name + elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); + + // Use defaultChecked and defaultSelected for oldIE + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; + } + + return name; + } +}; + +// Retrieve booleans specially +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = getSetInput && getSetAttribute || !ruseDefault.test( name ) ? + function( elem, name, isXML ) { + var ret, handle; + if ( !isXML ) { + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ name ]; + attrHandle[ name ] = ret; + ret = getter( elem, name, isXML ) != null ? + name.toLowerCase() : + null; + attrHandle[ name ] = handle; + } + return ret; + } : + function( elem, name, isXML ) { + if ( !isXML ) { + return elem[ jQuery.camelCase( "default-" + name ) ] ? + name.toLowerCase() : + null; + } + }; +}); + +// fix oldIE attroperties +if ( !getSetInput || !getSetAttribute ) { + jQuery.attrHooks.value = { + set: function( elem, value, name ) { + if ( jQuery.nodeName( elem, "input" ) ) { + // Does not return so that setAttribute is also used + elem.defaultValue = value; + } else { + // Use nodeHook if defined (#1954); otherwise setAttribute is fine + return nodeHook && nodeHook.set( elem, value, name ); + } + } + }; +} + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = { + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + elem.setAttributeNode( + (ret = elem.ownerDocument.createAttribute( name )) + ); + } + + ret.value = value += ""; + + // Break association with cloned elements by also using setAttribute (#9646) + if ( name === "value" || value === elem.getAttribute( name ) ) { + return value; + } + } + }; + + // Some attributes are constructed with empty-string values when not defined + attrHandle.id = attrHandle.name = attrHandle.coords = + function( elem, name, isXML ) { + var ret; + if ( !isXML ) { + return (ret = elem.getAttributeNode( name )) && ret.value !== "" ? + ret.value : + null; + } + }; + + // Fixing value retrieval on a button requires this module + jQuery.valHooks.button = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + if ( ret && ret.specified ) { + return ret.value; + } + }, + set: nodeHook.set + }; + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + set: function( elem, value, name ) { + nodeHook.set( elem, value === "" ? false : value, name ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }; + }); +} + +if ( !support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Note: IE uppercases css property names, but if we were to .toLowerCase() + // .cssText, that would destroy case senstitivity in URL's, like in "background" + return elem.style.cssText || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + + + + +var rfocusable = /^(?:input|select|textarea|button|object)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend({ + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + } +}); + +jQuery.extend({ + propFix: { + "for": "htmlFor", + "class": "className" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ? + ret : + ( elem[ name ] = value ); + + } else { + return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ? + ret : + elem[ name ]; + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + return tabindex ? + parseInt( tabindex, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + -1; + } + } + } +}); + +// Some attributes require a special call on IE +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !support.hrefNormalized ) { + // href/src property should get the full normalized URL (#10299/#12915) + jQuery.each([ "href", "src" ], function( i, name ) { + jQuery.propHooks[ name ] = { + get: function( elem ) { + return elem.getAttribute( name, 4 ); + } + }; + }); +} + +// Support: Safari, IE9+ +// mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }; +} + +jQuery.each([ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +}); + +// IE6/7 call enctype encoding +if ( !support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + + + + +var rclass = /[\t\r\n\f]/g; + +jQuery.fn.extend({ + addClass: function( value ) { + var classes, elem, cur, clazz, j, finalValue, + i = 0, + len = this.length, + proceed = typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call( this, j, this.className ) ); + }); + } + + if ( proceed ) { + // The disjunction here is for better compressibility (see removeClass) + classes = ( value || "" ).match( rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + " " + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // only assign if different to avoid unneeded rendering. + finalValue = jQuery.trim( cur ); + if ( elem.className !== finalValue ) { + elem.className = finalValue; + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, clazz, j, finalValue, + i = 0, + len = this.length, + proceed = arguments.length === 0 || typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call( this, j, this.className ) ); + }); + } + if ( proceed ) { + classes = ( value || "" ).match( rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + "" + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // only assign if different to avoid unneeded rendering. + finalValue = value ? jQuery.trim( cur ) : ""; + if ( elem.className !== finalValue ) { + elem.className = finalValue; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + classNames = value.match( rnotwhite ) || []; + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( type === strundefined || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // If the element has a class name or if we're passed "false", + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + } +}); + + + + +// Return jQuery for attributes-only inclusion + + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +}); + +jQuery.fn.extend({ + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); + } +}); + + +var nonce = jQuery.now(); + +var rquery = (/\?/); + + + +var rvalidtokens = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g; + +jQuery.parseJSON = function( data ) { + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + // Support: Android 2.3 + // Workaround failure to string-cast null input + return window.JSON.parse( data + "" ); + } + + var requireNonComma, + depth = null, + str = jQuery.trim( data + "" ); + + // Guard against invalid (and possibly dangerous) input by ensuring that nothing remains + // after removing valid tokens + return str && !jQuery.trim( str.replace( rvalidtokens, function( token, comma, open, close ) { + + // Force termination if we see a misplaced comma + if ( requireNonComma && comma ) { + depth = 0; + } + + // Perform no more replacements after returning to outermost depth + if ( depth === 0 ) { + return token; + } + + // Commas must not follow "[", "{", or "," + requireNonComma = open || comma; + + // Determine new depth + // array/object open ("[" or "{"): depth += true - false (increment) + // array/object close ("]" or "}"): depth += false - true (decrement) + // other cases ("," or primitive): depth += true - true (numeric cast) + depth += !close - !open; + + // Remove this token + return ""; + }) ) ? + ( Function( "return " + str ) )() : + jQuery.error( "Invalid JSON: " + data ); +}; + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data, "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + // Document location + ajaxLocParts, + ajaxLocation, + + rhash = /#.*$/, + rts = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + rurl = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat("*"); + +// #8138, IE may throw an exception when accessing +// a field from window.location if document.domain has been set +try { + ajaxLocation = location.href; +} catch( e ) { + // Use the href attribute of an A element + // since IE will modify it given document.location + ajaxLocation = document.createElement( "a" ); + ajaxLocation.href = ""; + ajaxLocation = ajaxLocation.href; +} + +// Segment location into parts +ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + // For each dataType in the dataTypeExpression + while ( (dataType = dataTypes[i++]) ) { + // Prepend if requested + if ( dataType.charAt( 0 ) === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + (structure[ dataType ] = structure[ dataType ] || []).unshift( func ); + + // Otherwise append + } else { + (structure[ dataType ] = structure[ dataType ] || []).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + }); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var deep, key, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + var firstDataType, ct, finalDataType, type, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s[ "throws" ] ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend({ + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: ajaxLocation, + type: "GET", + isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": jQuery.parseJSON, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var // Cross-domain detection vars + parts, + // Loop variable + i, + // URL without anti-cache param + cacheURL, + // Response headers as string + responseHeadersString, + // timeout handle + timeoutTimer, + + // To know if global events are to be dispatched + fireGlobals, + + transport, + // Response headers + responseHeaders, + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + // Callbacks context + callbackContext = s.context || s, + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks("once memory"), + // Status-dependent callbacks + statusCode = s.statusCode || {}, + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + // The jqXHR state + state = 0, + // Default abort message + strAbort = "canceled", + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( state === 2 ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( (match = rheaders.exec( responseHeadersString )) ) { + responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return state === 2 ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + var lname = name.toLowerCase(); + if ( !state ) { + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( !state ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( state < 2 ) { + for ( code in map ) { + // Lazy-add the new callback in a way that preserves old ones + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } else { + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ).complete = completeDeferred.add; + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + + // Remove hash character (#7531: and string promotion) + // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ]; + + // A cross-domain request is in order when we have a protocol:host:port mismatch + if ( s.crossDomain == null ) { + parts = rurl.exec( s.url.toLowerCase() ); + s.crossDomain = !!( parts && + ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || + ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !== + ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) ) + ); + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( state === 2 ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + fireGlobals = s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger("ajaxStart"); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + cacheURL = s.url; + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // If data is available, append data to url + if ( s.data ) { + cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add anti-cache in url if needed + if ( s.cache === false ) { + s.url = rts.test( cacheURL ) ? + + // If there is already a '_' parameter, set its value + cacheURL.replace( rts, "$1_=" + nonce++ ) : + + // Otherwise add one to the end + cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++; + } + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? + s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { + // Abort if not done already and return + return jqXHR.abort(); + } + + // aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + for ( i in { success: 1, error: 1, complete: 1 } ) { + jqXHR[ i ]( s[ i ] ); + } + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = setTimeout(function() { + jqXHR.abort("timeout"); + }, s.timeout ); + } + + try { + state = 1; + transport.send( requestHeaders, done ); + } catch ( e ) { + // Propagate exception as error if not done + if ( state < 2 ) { + done( -1, e ); + // Simply rethrow otherwise + } else { + throw e; + } + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Called once + if ( state === 2 ) { + return; + } + + // State is "done" now + state = 2; + + // Clear timeout if it exists + if ( timeoutTimer ) { + clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader("Last-Modified"); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader("etag"); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + // We extract error from statusText + // then normalize statusText and status for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger("ajaxStop"); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +}); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + // shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + url: url, + type: method, + dataType: type, + data: data, + success: callback + }); + }; +}); + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +}); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax({ + url: url, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); +}; + + +jQuery.fn.extend({ + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + } +}); + + +jQuery.expr.filters.hidden = function( elem ) { + // Support: Opera <= 12.12 + // Opera reports offsetWidths and offsetHeights less than zero on some elements + return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 || + (!support.reliableHiddenOffsets() && + ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none"); +}; + +jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); +}; + + + + +var r20 = /%20/g, + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + // Item is non-scalar (array or object), encode its numeric index. + buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); + } + }); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); + s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ).replace( r20, "+" ); +}; + +jQuery.fn.extend({ + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map(function() { + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + }) + .filter(function() { + var type = this.type; + // Use .is(":disabled") so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + }) + .map(function( i, elem ) { + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }).get(); + } +}); + + +// Create the request object +// (This is still attached to ajaxSettings for backward compatibility) +jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ? + // Support: IE6+ + function() { + + // XHR cannot access local files, always use ActiveX for that case + return !this.isLocal && + + // Support: IE7-8 + // oldIE XHR does not support non-RFC2616 methods (#13240) + // See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx + // and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9 + // Although this check for six methods instead of eight + // since IE also does not support "trace" and "connect" + /^(get|post|head|put|delete|options)$/i.test( this.type ) && + + createStandardXHR() || createActiveXHR(); + } : + // For all other browsers, use the standard XMLHttpRequest object + createStandardXHR; + +var xhrId = 0, + xhrCallbacks = {}, + xhrSupported = jQuery.ajaxSettings.xhr(); + +// Support: IE<10 +// Open requests must be manually aborted on unload (#5280) +if ( window.ActiveXObject ) { + jQuery( window ).on( "unload", function() { + for ( var key in xhrCallbacks ) { + xhrCallbacks[ key ]( undefined, true ); + } + }); +} + +// Determine support properties +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +xhrSupported = support.ajax = !!xhrSupported; + +// Create transport if the browser can provide an xhr +if ( xhrSupported ) { + + jQuery.ajaxTransport(function( options ) { + // Cross domain only allowed if supported through XMLHttpRequest + if ( !options.crossDomain || support.cors ) { + + var callback; + + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(), + id = ++xhrId; + + // Open the socket + xhr.open( options.type, options.url, options.async, options.username, options.password ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers["X-Requested-With"] ) { + headers["X-Requested-With"] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + // Support: IE<9 + // IE's ActiveXObject throws a 'Type Mismatch' exception when setting + // request header to a null-value. + // + // To keep consistent with other XHR implementations, cast the value + // to string and ignore `undefined`. + if ( headers[ i ] !== undefined ) { + xhr.setRequestHeader( i, headers[ i ] + "" ); + } + } + + // Do send the request + // This may raise an exception which is actually + // handled in jQuery.ajax (so no try/catch here) + xhr.send( ( options.hasContent && options.data ) || null ); + + // Listener + callback = function( _, isAbort ) { + var status, statusText, responses; + + // Was never called and is aborted or complete + if ( callback && ( isAbort || xhr.readyState === 4 ) ) { + // Clean up + delete xhrCallbacks[ id ]; + callback = undefined; + xhr.onreadystatechange = jQuery.noop; + + // Abort manually if needed + if ( isAbort ) { + if ( xhr.readyState !== 4 ) { + xhr.abort(); + } + } else { + responses = {}; + status = xhr.status; + + // Support: IE<10 + // Accessing binary-data responseText throws an exception + // (#11426) + if ( typeof xhr.responseText === "string" ) { + responses.text = xhr.responseText; + } + + // Firefox throws an exception when accessing + // statusText for faulty cross-domain requests + try { + statusText = xhr.statusText; + } catch( e ) { + // We normalize with Webkit giving an empty statusText + statusText = ""; + } + + // Filter status for non standard behaviors + + // If the request is local and we have data: assume a success + // (success with no data won't get notified, that's the best we + // can do given current implementations) + if ( !status && options.isLocal && !options.crossDomain ) { + status = responses.text ? 200 : 404; + // IE - #1450: sometimes returns 1223 when it should be 204 + } else if ( status === 1223 ) { + status = 204; + } + } + } + + // Call complete if needed + if ( responses ) { + complete( status, statusText, responses, xhr.getAllResponseHeaders() ); + } + }; + + if ( !options.async ) { + // if we're in sync mode we fire the callback + callback(); + } else if ( xhr.readyState === 4 ) { + // (IE6 & IE7) if it's in cache and has been + // retrieved directly we need to fire the callback + setTimeout( callback ); + } else { + // Add to the list of active xhr callbacks + xhr.onreadystatechange = xhrCallbacks[ id ] = callback; + } + }, + + abort: function() { + if ( callback ) { + callback( undefined, true ); + } + } + }; + } + }); +} + +// Functions to create xhrs +function createStandardXHR() { + try { + return new window.XMLHttpRequest(); + } catch( e ) {} +} + +function createActiveXHR() { + try { + return new window.ActiveXObject( "Microsoft.XMLHTTP" ); + } catch( e ) {} +} + + + + +// Install script dataType +jQuery.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /(?:java|ecma)script/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +}); + +// Handle cache's special case and global +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + s.global = false; + } +}); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function(s) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + + var script, + head = document.head || jQuery("head")[0] || document.documentElement; + + return { + + send: function( _, callback ) { + + script = document.createElement("script"); + + script.async = true; + + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + + script.src = s.url; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function( _, isAbort ) { + + if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + + // Remove the script + if ( script.parentNode ) { + script.parentNode.removeChild( script ); + } + + // Dereference the script + script = null; + + // Callback if not abort + if ( !isAbort ) { + callback( 200, "success" ); + } + } + }; + + // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending + // Use native DOM manipulation to avoid our domManip AJAX trickery + head.insertBefore( script, head.firstChild ); + }, + + abort: function() { + if ( script ) { + script.onload( undefined, true ); + } + } + }; + } +}); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +}); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters["script json"] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always(function() { + // Restore preexisting value + window[ callbackName ] = overwritten; + + // Save back as free + if ( s[ callbackName ] ) { + // make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + }); + + // Delegate to script + return "script"; + } +}); + + + + +// data: string of html +// context (optional): If specified, the fragment will be created in this context, defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + context = context || document; + + var parsed = rsingleTag.exec( data ), + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +// Keep a copy of the old load method +var _load = jQuery.fn.load; + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + if ( typeof url !== "string" && _load ) { + return _load.apply( this, arguments ); + } + + var selector, response, type, + self = this, + off = url.indexOf(" "); + + if ( off >= 0 ) { + selector = jQuery.trim( url.slice( off, url.length ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( jQuery.isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax({ + url: url, + + // if "type" variable is undefined, then "GET" method will be used + type: type, + dataType: "html", + data: params + }).done(function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + }).complete( callback && function( jqXHR, status ) { + self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); + }); + } + + return this; +}; + + + + +jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep(jQuery.timers, function( fn ) { + return elem === fn.elem; + }).length; +}; + + + + + +var docElem = window.document.documentElement; + +/** + * Gets a window from an element + */ +function getWindow( elem ) { + return jQuery.isWindow( elem ) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + jQuery.inArray("auto", [ curCSSTop, curCSSLeft ] ) > -1; + + // need to be able to calculate position if either top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + options = options.call( elem, i, curOffset ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend({ + offset: function( options ) { + if ( arguments.length ) { + return options === undefined ? + this : + this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + var docElem, win, + box = { top: 0, left: 0 }, + elem = this[ 0 ], + doc = elem && elem.ownerDocument; + + if ( !doc ) { + return; + } + + docElem = doc.documentElement; + + // Make sure it's not a disconnected DOM node + if ( !jQuery.contains( docElem, elem ) ) { + return box; + } + + // If we don't have gBCR, just use 0,0 rather than error + // BlackBerry 5, iOS 3 (original iPhone) + if ( typeof elem.getBoundingClientRect !== strundefined ) { + box = elem.getBoundingClientRect(); + } + win = getWindow( doc ); + return { + top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ), + left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 ) + }; + }, + + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, + parentOffset = { top: 0, left: 0 }, + elem = this[ 0 ]; + + // fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent + if ( jQuery.css( elem, "position" ) === "fixed" ) { + // we assume that getBoundingClientRect is available when computed position is fixed + offset = elem.getBoundingClientRect(); + } else { + // Get *real* offsetParent + offsetParent = this.offsetParent(); + + // Get correct offsets + offset = this.offset(); + if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { + parentOffset = offsetParent.offset(); + } + + // Add offsetParent borders + parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); + } + + // Subtract parent offsets and element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true) + }; + }, + + offsetParent: function() { + return this.map(function() { + var offsetParent = this.offsetParent || docElem; + + while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position" ) === "static" ) ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || docElem; + }); + } +}); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = /Y/.test( prop ); + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + var win = getWindow( elem ); + + if ( val === undefined ) { + return win ? (prop in win) ? win[ prop ] : + win.document.documentElement[ method ] : + elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : jQuery( win ).scrollLeft(), + top ? val : jQuery( win ).scrollTop() + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length, null ); + }; +}); + +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// getComputedStyle returns percent when specified for top/left/bottom/right +// rather than make the css module depend on the offset module, we just check for it here +jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + // if curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +}); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { + // margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( jQuery.isWindow( elem ) ) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable, null ); + }; + }); +}); + + +// The number of elements contained in the matched element set +jQuery.fn.size = function() { + return this.length; +}; + +jQuery.fn.andSelf = jQuery.fn.addBack; + + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + }); +} + + + + +var + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in +// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( typeof noGlobal === strundefined ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; + +})); diff --git a/Page/benchmarks/_static/jquery.js b/Page/benchmarks/_static/jquery.js new file mode 100644 index 0000000..ab28a24 --- /dev/null +++ b/Page/benchmarks/_static/jquery.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; +if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px") +},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m}); diff --git a/Page/benchmarks/_static/minus.png b/Page/benchmarks/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..0f22b16b038f9578a40314ff2b5acb88402a1496 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVBiK}CT0c(hAW5WZ)IR$;4JWnEM{Qf76xHPhFNnY z7#JAXOFVsD*{`#62yipnth0E^z`(#!;u=xnoS&PUnpeW`?aZ|O3=9lB0X`wFnwpwt z&YXGo?%jtEAH)-UqZk+%6g*uVLpWrUIe2*!SN#9qvhbfRleoc(1s^tt=_WF)VrDoi XATnKu^T;j+1_lOCS3j3^P6<r_Idn1G literal 0 HcmV?d00001 diff --git a/Page/benchmarks/_static/plus.png b/Page/benchmarks/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..0cfe084cfc8d10d7151a0f00faee3667afe0b24b GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0y~yVBiK}CT0c(hAW5WZ)IR$;4JWnEM{Qf76xHPhFNnY z7#JAXOFVsD*{`#62yhuP=U8$uFfeeGxJHyX=jZ08=9MsfJ2P!R0|Nt3fKQ04rl#hZ zGiTntd-vhP2k`{oC<X=w1y2{p5DwX74qo2G761RYEc|D~ByO-`!H3OZx`_;{m>Kp= X5Waryfd3f=1_lOCS3j3^P6<r_;a)Ou literal 0 HcmV?d00001 diff --git a/Page/benchmarks/_static/pygments.css b/Page/benchmarks/_static/pygments.css new file mode 100644 index 0000000..8213e90 --- /dev/null +++ b/Page/benchmarks/_static/pygments.css @@ -0,0 +1,65 @@ +.highlight .hll { background-color: #ffffcc } +.highlight { background: #eeffcc; } +.highlight .c { color: #408090; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #007020; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #007020 } /* Comment.Preproc */ +.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #333333 } /* Generic.Output */ +.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #007020 } /* Keyword.Pseudo */ +.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #902000 } /* Keyword.Type */ +.highlight .m { color: #208050 } /* Literal.Number */ +.highlight .s { color: #4070a0 } /* Literal.String */ +.highlight .na { color: #4070a0 } /* Name.Attribute */ +.highlight .nb { color: #007020 } /* Name.Builtin */ +.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ +.highlight .no { color: #60add5 } /* Name.Constant */ +.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #007020 } /* Name.Exception */ +.highlight .nf { color: #06287e } /* Name.Function */ +.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ +.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #bb60d5 } /* Name.Variable */ +.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #208050 } /* Literal.Number.Bin */ +.highlight .mf { color: #208050 } /* Literal.Number.Float */ +.highlight .mh { color: #208050 } /* Literal.Number.Hex */ +.highlight .mi { color: #208050 } /* Literal.Number.Integer */ +.highlight .mo { color: #208050 } /* Literal.Number.Oct */ +.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ +.highlight .sc { color: #4070a0 } /* Literal.String.Char */ +.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4070a0 } /* Literal.String.Double */ +.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ +.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ +.highlight .sx { color: #c65d09 } /* Literal.String.Other */ +.highlight .sr { color: #235388 } /* Literal.String.Regex */ +.highlight .s1 { color: #4070a0 } /* Literal.String.Single */ +.highlight .ss { color: #517918 } /* Literal.String.Symbol */ +.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ +.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ +.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ +.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/Page/benchmarks/_static/searchtools.js b/Page/benchmarks/_static/searchtools.js new file mode 100644 index 0000000..a51e0dc --- /dev/null +++ b/Page/benchmarks/_static/searchtools.js @@ -0,0 +1,651 @@ +/* + * searchtools.js_t + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + + +/* Non-minified version JS is _stemmer.js if file is provided */ +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + + + +/** + * Simple result scoring code. + */ +var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [filename, title, anchor, descr, score] + // and returns the new score. + /* + score: function(result) { + return result[4]; + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: {0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5}, // used to be unimportantResults + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + // query found in terms + term: 5 +}; + + +/** + * Search Module + */ +var Search = { + + _index : null, + _queued_query : null, + _pulse_status : -1, + + init : function() { + var params = $.getQueryParameters(); + if (params.q) { + var query = params.q[0]; + $('input[name="q"]')[0].value = query; + this.performSearch(query); + } + }, + + loadIndex : function(url) { + $.ajax({type: "GET", url: url, data: null, + dataType: "script", cache: true, + complete: function(jqxhr, textstatus) { + if (textstatus != "success") { + document.getElementById("searchindexloader").src = url; + } + }}); + }, + + setIndex : function(index) { + var q; + this._index = index; + if ((q = this._queued_query) !== null) { + this._queued_query = null; + Search.query(q); + } + }, + + hasIndex : function() { + return this._index !== null; + }, + + deferQuery : function(query) { + this._queued_query = query; + }, + + stopPulse : function() { + this._pulse_status = 0; + }, + + startPulse : function() { + if (this._pulse_status >= 0) + return; + function pulse() { + var i; + Search._pulse_status = (Search._pulse_status + 1) % 4; + var dotString = ''; + for (i = 0; i < Search._pulse_status; i++) + dotString += '.'; + Search.dots.text(dotString); + if (Search._pulse_status > -1) + window.setTimeout(pulse, 500); + } + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch : function(query) { + // create the required interface elements + this.out = $('#search-results'); + this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out); + this.dots = $('<span></span>').appendTo(this.title); + this.status = $('<p style="display: none"></p>').appendTo(this.out); + this.output = $('<ul class="search"/>').appendTo(this.out); + + $('#search-progress').text(_('Preparing search...')); + this.startPulse(); + + // index already loaded, the browser was quick! + if (this.hasIndex()) + this.query(query); + else + this.deferQuery(query); + }, + + /** + * execute search (requires search index to be loaded) + */ + query : function(query) { + var i; + var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"]; + + // stem the searchterms and add them to the correct list + var stemmer = new Stemmer(); + var searchterms = []; + var excluded = []; + var hlterms = []; + var tmp = query.split(/\W+/); + var objectterms = []; + for (i = 0; i < tmp.length; i++) { + if (tmp[i] !== "") { + objectterms.push(tmp[i].toLowerCase()); + } + + if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i].match(/^\d+$/) || + tmp[i] === "") { + // skip this "word" + continue; + } + // stem the word + var word = stemmer.stemWord(tmp[i].toLowerCase()); + var toAppend; + // select the correct list + if (word[0] == '-') { + toAppend = excluded; + word = word.substr(1); + } + else { + toAppend = searchterms; + hlterms.push(tmp[i].toLowerCase()); + } + // only add if not already in the list + if (!$u.contains(toAppend, word)) + toAppend.push(word); + } + var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" ")); + + // console.debug('SEARCH: searching for:'); + // console.info('required: ', searchterms); + // console.info('excluded: ', excluded); + + // prepare search + var terms = this._index.terms; + var titleterms = this._index.titleterms; + + // array of [filename, title, anchor, descr, score] + var results = []; + $('#search-progress').empty(); + + // lookup as object + for (i = 0; i < objectterms.length; i++) { + var others = [].concat(objectterms.slice(0, i), + objectterms.slice(i+1, objectterms.length)); + results = results.concat(this.performObjectSearch(objectterms[i], others)); + } + + // lookup as search terms in fulltext + results = results.concat(this.performTermsSearch(searchterms, excluded, terms, titleterms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) { + for (i = 0; i < results.length; i++) + results[i][4] = Scorer.score(results[i]); + } + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort(function(a, b) { + var left = a[4]; + var right = b[4]; + if (left > right) { + return 1; + } else if (left < right) { + return -1; + } else { + // same score: sort alphabetically + left = a[1].toLowerCase(); + right = b[1].toLowerCase(); + return (left > right) ? -1 : ((left < right) ? 1 : 0); + } + }); + + // for debugging + //Search.lastresults = results.slice(); // a copy + //console.info('search results:', Search.lastresults); + + // print the results + var resultCount = results.length; + function displayNextItem() { + // results left, load the summary and display it + if (results.length) { + var item = results.pop(); + var listItem = $('<li style="display:none"></li>'); + if (DOCUMENTATION_OPTIONS.FILE_SUFFIX === '') { + // dirhtml builder + var dirname = item[0] + '/'; + if (dirname.match(/\/index\/$/)) { + dirname = dirname.substring(0, dirname.length-6); + } else if (dirname == 'index/') { + dirname = ''; + } + listItem.append($('<a/>').attr('href', + DOCUMENTATION_OPTIONS.URL_ROOT + dirname + + highlightstring + item[2]).html(item[1])); + } else { + // normal html builders + listItem.append($('<a/>').attr('href', + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX + + highlightstring + item[2]).html(item[1])); + } + if (item[3]) { + listItem.append($('<span> (' + item[3] + ')</span>')); + Search.output.append(listItem); + listItem.slideDown(5, function() { + displayNextItem(); + }); + } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) { + $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[0] + '.txt', + dataType: "text", + complete: function(jqxhr, textstatus) { + var data = jqxhr.responseText; + if (data !== '' && data !== undefined) { + listItem.append(Search.makeSearchSummary(data, searchterms, hlterms)); + } + Search.output.append(listItem); + listItem.slideDown(5, function() { + displayNextItem(); + }); + }}); + } else { + // no source available, just display title + Search.output.append(listItem); + listItem.slideDown(5, function() { + displayNextItem(); + }); + } + } + // search finished, update title and status message + else { + Search.stopPulse(); + Search.title.text(_('Search Results')); + if (!resultCount) + Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.')); + else + Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount)); + Search.status.fadeIn(500); + } + } + displayNextItem(); + }, + + /** + * search for object names + */ + performObjectSearch : function(object, otherterms) { + var filenames = this._index.filenames; + var objects = this._index.objects; + var objnames = this._index.objnames; + var titles = this._index.titles; + + var i; + var results = []; + + for (var prefix in objects) { + for (var name in objects[prefix]) { + var fullname = (prefix ? prefix + '.' : '') + name; + if (fullname.toLowerCase().indexOf(object) > -1) { + var score = 0; + var parts = fullname.split('.'); + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullname == object || parts[parts.length - 1] == object) { + score += Scorer.objNameMatch; + // matches in last name + } else if (parts[parts.length - 1].indexOf(object) > -1) { + score += Scorer.objPartialMatch; + } + var match = objects[prefix][name]; + var objname = objnames[match[1]][2]; + var title = titles[match[0]]; + // If more than one term searched for, we require other words to be + // found in the name/title/description + if (otherterms.length > 0) { + var haystack = (prefix + ' ' + name + ' ' + + objname + ' ' + title).toLowerCase(); + var allfound = true; + for (i = 0; i < otherterms.length; i++) { + if (haystack.indexOf(otherterms[i]) == -1) { + allfound = false; + break; + } + } + if (!allfound) { + continue; + } + } + var descr = objname + _(', in ') + title; + + var anchor = match[3]; + if (anchor === '') + anchor = fullname; + else if (anchor == '-') + anchor = objnames[match[1]][1] + '-' + fullname; + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) { + score += Scorer.objPrio[match[2]]; + } else { + score += Scorer.objPrioDefault; + } + results.push([filenames[match[0]], fullname, '#'+anchor, descr, score]); + } + } + } + + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch : function(searchterms, excluded, terms, titleterms) { + var filenames = this._index.filenames; + var titles = this._index.titles; + + var i, j, file; + var fileMap = {}; + var scoreMap = {}; + var results = []; + + // perform the search on the required terms + for (i = 0; i < searchterms.length; i++) { + var word = searchterms[i]; + var files = []; + var _o = [ + {files: terms[word], score: Scorer.term}, + {files: titleterms[word], score: Scorer.title} + ]; + + // no match but word was a required one + if ($u.every(_o, function(o){return o.files === undefined;})) { + break; + } + // found search word in contents + $u.each(_o, function(o) { + var _files = o.files; + if (_files === undefined) + return + + if (_files.length === undefined) + _files = [_files]; + files = files.concat(_files); + + // set score for the word in each file to Scorer.term + for (j = 0; j < _files.length; j++) { + file = _files[j]; + if (!(file in scoreMap)) + scoreMap[file] = {} + scoreMap[file][word] = o.score; + } + }); + + // create the mapping + for (j = 0; j < files.length; j++) { + file = files[j]; + if (file in fileMap) + fileMap[file].push(word); + else + fileMap[file] = [word]; + } + } + + // now check if the files don't contain excluded terms + for (file in fileMap) { + var valid = true; + + // check if all requirements are matched + if (fileMap[file].length != searchterms.length) + continue; + + // ensure that none of the excluded terms is in the search result + for (i = 0; i < excluded.length; i++) { + if (terms[excluded[i]] == file || + titleterms[excluded[i]] == file || + $u.contains(terms[excluded[i]] || [], file) || + $u.contains(titleterms[excluded[i]] || [], file)) { + valid = false; + break; + } + } + + // if we have still a valid result we can add it to the result list + if (valid) { + // select one (max) score for the file. + // for better ranking, we should calculate ranking by using words statistics like basic tf-idf... + var score = $u.max($u.map(fileMap[file], function(w){return scoreMap[file][w]})); + results.push([filenames[file], titles[file], '', null, score]); + } + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words, hlwords is the list of normal, unstemmed + * words. the first one is used to find the occurrence, the + * latter for highlighting it. + */ + makeSearchSummary : function(text, keywords, hlwords) { + var textLower = text.toLowerCase(); + var start = 0; + $.each(keywords, function() { + var i = textLower.indexOf(this.toLowerCase()); + if (i > -1) + start = i; + }); + start = Math.max(start - 120, 0); + var excerpt = ((start > 0) ? '...' : '') + + $.trim(text.substr(start, 240)) + + ((start + 240 - text.length) ? '...' : ''); + var rv = $('<div class="context"></div>').text(excerpt); + $.each(hlwords, function() { + rv = rv.highlightText(this, 'highlighted'); + }); + return rv; + } +}; + +$(document).ready(function() { + Search.init(); +}); \ No newline at end of file diff --git a/Page/benchmarks/_static/underscore-1.3.1.js b/Page/benchmarks/_static/underscore-1.3.1.js new file mode 100644 index 0000000..208d4cd --- /dev/null +++ b/Page/benchmarks/_static/underscore-1.3.1.js @@ -0,0 +1,999 @@ +// Underscore.js 1.3.1 +// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. +// Underscore is freely distributable under the MIT license. +// Portions of Underscore are inspired or borrowed from Prototype, +// Oliver Steele's Functional, and John Resig's Micro-Templating. +// For all details and documentation: +// http://documentcloud.github.com/underscore + +(function() { + + // Baseline setup + // -------------- + + // Establish the root object, `window` in the browser, or `global` on the server. + var root = this; + + // Save the previous value of the `_` variable. + var previousUnderscore = root._; + + // Establish the object that gets returned to break out of a loop iteration. + var breaker = {}; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; + + // Create quick reference variables for speed access to core prototypes. + var slice = ArrayProto.slice, + unshift = ArrayProto.unshift, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + + // All **ECMAScript 5** native function implementations that we hope to use + // are declared here. + var + nativeForEach = ArrayProto.forEach, + nativeMap = ArrayProto.map, + nativeReduce = ArrayProto.reduce, + nativeReduceRight = ArrayProto.reduceRight, + nativeFilter = ArrayProto.filter, + nativeEvery = ArrayProto.every, + nativeSome = ArrayProto.some, + nativeIndexOf = ArrayProto.indexOf, + nativeLastIndexOf = ArrayProto.lastIndexOf, + nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeBind = FuncProto.bind; + + // Create a safe reference to the Underscore object for use below. + var _ = function(obj) { return new wrapper(obj); }; + + // Export the Underscore object for **Node.js**, with + // backwards-compatibility for the old `require()` API. If we're in + // the browser, add `_` as a global object via a string identifier, + // for Closure Compiler "advanced" mode. + if (typeof exports !== 'undefined') { + if (typeof module !== 'undefined' && module.exports) { + exports = module.exports = _; + } + exports._ = _; + } else { + root['_'] = _; + } + + // Current version. + _.VERSION = '1.3.1'; + + // Collection Functions + // -------------------- + + // The cornerstone, an `each` implementation, aka `forEach`. + // Handles objects with the built-in `forEach`, arrays, and raw objects. + // Delegates to **ECMAScript 5**'s native `forEach` if available. + var each = _.each = _.forEach = function(obj, iterator, context) { + if (obj == null) return; + if (nativeForEach && obj.forEach === nativeForEach) { + obj.forEach(iterator, context); + } else if (obj.length === +obj.length) { + for (var i = 0, l = obj.length; i < l; i++) { + if (i in obj && iterator.call(context, obj[i], i, obj) === breaker) return; + } + } else { + for (var key in obj) { + if (_.has(obj, key)) { + if (iterator.call(context, obj[key], key, obj) === breaker) return; + } + } + } + }; + + // Return the results of applying the iterator to each element. + // Delegates to **ECMAScript 5**'s native `map` if available. + _.map = _.collect = function(obj, iterator, context) { + var results = []; + if (obj == null) return results; + if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); + each(obj, function(value, index, list) { + results[results.length] = iterator.call(context, value, index, list); + }); + if (obj.length === +obj.length) results.length = obj.length; + return results; + }; + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available. + _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) { + var initial = arguments.length > 2; + if (obj == null) obj = []; + if (nativeReduce && obj.reduce === nativeReduce) { + if (context) iterator = _.bind(iterator, context); + return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator); + } + each(obj, function(value, index, list) { + if (!initial) { + memo = value; + initial = true; + } else { + memo = iterator.call(context, memo, value, index, list); + } + }); + if (!initial) throw new TypeError('Reduce of empty array with no initial value'); + return memo; + }; + + // The right-associative version of reduce, also known as `foldr`. + // Delegates to **ECMAScript 5**'s native `reduceRight` if available. + _.reduceRight = _.foldr = function(obj, iterator, memo, context) { + var initial = arguments.length > 2; + if (obj == null) obj = []; + if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { + if (context) iterator = _.bind(iterator, context); + return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator); + } + var reversed = _.toArray(obj).reverse(); + if (context && !initial) iterator = _.bind(iterator, context); + return initial ? _.reduce(reversed, iterator, memo, context) : _.reduce(reversed, iterator); + }; + + // Return the first value which passes a truth test. Aliased as `detect`. + _.find = _.detect = function(obj, iterator, context) { + var result; + any(obj, function(value, index, list) { + if (iterator.call(context, value, index, list)) { + result = value; + return true; + } + }); + return result; + }; + + // Return all the elements that pass a truth test. + // Delegates to **ECMAScript 5**'s native `filter` if available. + // Aliased as `select`. + _.filter = _.select = function(obj, iterator, context) { + var results = []; + if (obj == null) return results; + if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context); + each(obj, function(value, index, list) { + if (iterator.call(context, value, index, list)) results[results.length] = value; + }); + return results; + }; + + // Return all the elements for which a truth test fails. + _.reject = function(obj, iterator, context) { + var results = []; + if (obj == null) return results; + each(obj, function(value, index, list) { + if (!iterator.call(context, value, index, list)) results[results.length] = value; + }); + return results; + }; + + // Determine whether all of the elements match a truth test. + // Delegates to **ECMAScript 5**'s native `every` if available. + // Aliased as `all`. + _.every = _.all = function(obj, iterator, context) { + var result = true; + if (obj == null) return result; + if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context); + each(obj, function(value, index, list) { + if (!(result = result && iterator.call(context, value, index, list))) return breaker; + }); + return result; + }; + + // Determine if at least one element in the object matches a truth test. + // Delegates to **ECMAScript 5**'s native `some` if available. + // Aliased as `any`. + var any = _.some = _.any = function(obj, iterator, context) { + iterator || (iterator = _.identity); + var result = false; + if (obj == null) return result; + if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); + each(obj, function(value, index, list) { + if (result || (result = iterator.call(context, value, index, list))) return breaker; + }); + return !!result; + }; + + // Determine if a given value is included in the array or object using `===`. + // Aliased as `contains`. + _.include = _.contains = function(obj, target) { + var found = false; + if (obj == null) return found; + if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1; + found = any(obj, function(value) { + return value === target; + }); + return found; + }; + + // Invoke a method (with arguments) on every item in a collection. + _.invoke = function(obj, method) { + var args = slice.call(arguments, 2); + return _.map(obj, function(value) { + return (_.isFunction(method) ? method || value : value[method]).apply(value, args); + }); + }; + + // Convenience version of a common use case of `map`: fetching a property. + _.pluck = function(obj, key) { + return _.map(obj, function(value){ return value[key]; }); + }; + + // Return the maximum element or (element-based computation). + _.max = function(obj, iterator, context) { + if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj); + if (!iterator && _.isEmpty(obj)) return -Infinity; + var result = {computed : -Infinity}; + each(obj, function(value, index, list) { + var computed = iterator ? iterator.call(context, value, index, list) : value; + computed >= result.computed && (result = {value : value, computed : computed}); + }); + return result.value; + }; + + // Return the minimum element (or element-based computation). + _.min = function(obj, iterator, context) { + if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj); + if (!iterator && _.isEmpty(obj)) return Infinity; + var result = {computed : Infinity}; + each(obj, function(value, index, list) { + var computed = iterator ? iterator.call(context, value, index, list) : value; + computed < result.computed && (result = {value : value, computed : computed}); + }); + return result.value; + }; + + // Shuffle an array. + _.shuffle = function(obj) { + var shuffled = [], rand; + each(obj, function(value, index, list) { + if (index == 0) { + shuffled[0] = value; + } else { + rand = Math.floor(Math.random() * (index + 1)); + shuffled[index] = shuffled[rand]; + shuffled[rand] = value; + } + }); + return shuffled; + }; + + // Sort the object's values by a criterion produced by an iterator. + _.sortBy = function(obj, iterator, context) { + return _.pluck(_.map(obj, function(value, index, list) { + return { + value : value, + criteria : iterator.call(context, value, index, list) + }; + }).sort(function(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }), 'value'); + }; + + // Groups the object's values by a criterion. Pass either a string attribute + // to group by, or a function that returns the criterion. + _.groupBy = function(obj, val) { + var result = {}; + var iterator = _.isFunction(val) ? val : function(obj) { return obj[val]; }; + each(obj, function(value, index) { + var key = iterator(value, index); + (result[key] || (result[key] = [])).push(value); + }); + return result; + }; + + // Use a comparator function to figure out at what index an object should + // be inserted so as to maintain order. Uses binary search. + _.sortedIndex = function(array, obj, iterator) { + iterator || (iterator = _.identity); + var low = 0, high = array.length; + while (low < high) { + var mid = (low + high) >> 1; + iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid; + } + return low; + }; + + // Safely convert anything iterable into a real, live array. + _.toArray = function(iterable) { + if (!iterable) return []; + if (iterable.toArray) return iterable.toArray(); + if (_.isArray(iterable)) return slice.call(iterable); + if (_.isArguments(iterable)) return slice.call(iterable); + return _.values(iterable); + }; + + // Return the number of elements in an object. + _.size = function(obj) { + return _.toArray(obj).length; + }; + + // Array Functions + // --------------- + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. Aliased as `head`. The **guard** check allows it to work + // with `_.map`. + _.first = _.head = function(array, n, guard) { + return (n != null) && !guard ? slice.call(array, 0, n) : array[0]; + }; + + // Returns everything but the last entry of the array. Especcialy useful on + // the arguments object. Passing **n** will return all the values in + // the array, excluding the last N. The **guard** check allows it to work with + // `_.map`. + _.initial = function(array, n, guard) { + return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n)); + }; + + // Get the last element of an array. Passing **n** will return the last N + // values in the array. The **guard** check allows it to work with `_.map`. + _.last = function(array, n, guard) { + if ((n != null) && !guard) { + return slice.call(array, Math.max(array.length - n, 0)); + } else { + return array[array.length - 1]; + } + }; + + // Returns everything but the first entry of the array. Aliased as `tail`. + // Especially useful on the arguments object. Passing an **index** will return + // the rest of the values in the array from that index onward. The **guard** + // check allows it to work with `_.map`. + _.rest = _.tail = function(array, index, guard) { + return slice.call(array, (index == null) || guard ? 1 : index); + }; + + // Trim out all falsy values from an array. + _.compact = function(array) { + return _.filter(array, function(value){ return !!value; }); + }; + + // Return a completely flattened version of an array. + _.flatten = function(array, shallow) { + return _.reduce(array, function(memo, value) { + if (_.isArray(value)) return memo.concat(shallow ? value : _.flatten(value)); + memo[memo.length] = value; + return memo; + }, []); + }; + + // Return a version of the array that does not contain the specified value(s). + _.without = function(array) { + return _.difference(array, slice.call(arguments, 1)); + }; + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // Aliased as `unique`. + _.uniq = _.unique = function(array, isSorted, iterator) { + var initial = iterator ? _.map(array, iterator) : array; + var result = []; + _.reduce(initial, function(memo, el, i) { + if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) { + memo[memo.length] = el; + result[result.length] = array[i]; + } + return memo; + }, []); + return result; + }; + + // Produce an array that contains the union: each distinct element from all of + // the passed-in arrays. + _.union = function() { + return _.uniq(_.flatten(arguments, true)); + }; + + // Produce an array that contains every item shared between all the + // passed-in arrays. (Aliased as "intersect" for back-compat.) + _.intersection = _.intersect = function(array) { + var rest = slice.call(arguments, 1); + return _.filter(_.uniq(array), function(item) { + return _.every(rest, function(other) { + return _.indexOf(other, item) >= 0; + }); + }); + }; + + // Take the difference between one array and a number of other arrays. + // Only the elements present in just the first array will remain. + _.difference = function(array) { + var rest = _.flatten(slice.call(arguments, 1)); + return _.filter(array, function(value){ return !_.include(rest, value); }); + }; + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + _.zip = function() { + var args = slice.call(arguments); + var length = _.max(_.pluck(args, 'length')); + var results = new Array(length); + for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i); + return results; + }; + + // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**), + // we need this function. Return the position of the first occurrence of an + // item in an array, or -1 if the item is not included in the array. + // Delegates to **ECMAScript 5**'s native `indexOf` if available. + // If the array is large and already in sort order, pass `true` + // for **isSorted** to use binary search. + _.indexOf = function(array, item, isSorted) { + if (array == null) return -1; + var i, l; + if (isSorted) { + i = _.sortedIndex(array, item); + return array[i] === item ? i : -1; + } + if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item); + for (i = 0, l = array.length; i < l; i++) if (i in array && array[i] === item) return i; + return -1; + }; + + // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available. + _.lastIndexOf = function(array, item) { + if (array == null) return -1; + if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item); + var i = array.length; + while (i--) if (i in array && array[i] === item) return i; + return -1; + }; + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](http://docs.python.org/library/functions.html#range). + _.range = function(start, stop, step) { + if (arguments.length <= 1) { + stop = start || 0; + start = 0; + } + step = arguments[2] || 1; + + var len = Math.max(Math.ceil((stop - start) / step), 0); + var idx = 0; + var range = new Array(len); + + while(idx < len) { + range[idx++] = start; + start += step; + } + + return range; + }; + + // Function (ahem) Functions + // ------------------ + + // Reusable constructor function for prototype setting. + var ctor = function(){}; + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). Binding with arguments is also known as `curry`. + // Delegates to **ECMAScript 5**'s native `Function.bind` if available. + // We check for `func.bind` first, to fail fast when `func` is undefined. + _.bind = function bind(func, context) { + var bound, args; + if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); + if (!_.isFunction(func)) throw new TypeError; + args = slice.call(arguments, 2); + return bound = function() { + if (!(this instanceof bound)) return func.apply(context, args.concat(slice.call(arguments))); + ctor.prototype = func.prototype; + var self = new ctor; + var result = func.apply(self, args.concat(slice.call(arguments))); + if (Object(result) === result) return result; + return self; + }; + }; + + // Bind all of an object's methods to that object. Useful for ensuring that + // all callbacks defined on an object belong to it. + _.bindAll = function(obj) { + var funcs = slice.call(arguments, 1); + if (funcs.length == 0) funcs = _.functions(obj); + each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); }); + return obj; + }; + + // Memoize an expensive function by storing its results. + _.memoize = function(func, hasher) { + var memo = {}; + hasher || (hasher = _.identity); + return function() { + var key = hasher.apply(this, arguments); + return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments)); + }; + }; + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + _.delay = function(func, wait) { + var args = slice.call(arguments, 2); + return setTimeout(function(){ return func.apply(func, args); }, wait); + }; + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + _.defer = function(func) { + return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); + }; + + // Returns a function, that, when invoked, will only be triggered at most once + // during a given window of time. + _.throttle = function(func, wait) { + var context, args, timeout, throttling, more; + var whenDone = _.debounce(function(){ more = throttling = false; }, wait); + return function() { + context = this; args = arguments; + var later = function() { + timeout = null; + if (more) func.apply(context, args); + whenDone(); + }; + if (!timeout) timeout = setTimeout(later, wait); + if (throttling) { + more = true; + } else { + func.apply(context, args); + } + whenDone(); + throttling = true; + }; + }; + + // Returns a function, that, as long as it continues to be invoked, will not + // be triggered. The function will be called after it stops being called for + // N milliseconds. + _.debounce = function(func, wait) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + func.apply(context, args); + }; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + }; + }; + + // Returns a function that will be executed at most one time, no matter how + // often you call it. Useful for lazy initialization. + _.once = function(func) { + var ran = false, memo; + return function() { + if (ran) return memo; + ran = true; + return memo = func.apply(this, arguments); + }; + }; + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + _.wrap = function(func, wrapper) { + return function() { + var args = [func].concat(slice.call(arguments, 0)); + return wrapper.apply(this, args); + }; + }; + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + _.compose = function() { + var funcs = arguments; + return function() { + var args = arguments; + for (var i = funcs.length - 1; i >= 0; i--) { + args = [funcs[i].apply(this, args)]; + } + return args[0]; + }; + }; + + // Returns a function that will only be executed after being called N times. + _.after = function(times, func) { + if (times <= 0) return func(); + return function() { + if (--times < 1) { return func.apply(this, arguments); } + }; + }; + + // Object Functions + // ---------------- + + // Retrieve the names of an object's properties. + // Delegates to **ECMAScript 5**'s native `Object.keys` + _.keys = nativeKeys || function(obj) { + if (obj !== Object(obj)) throw new TypeError('Invalid object'); + var keys = []; + for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key; + return keys; + }; + + // Retrieve the values of an object's properties. + _.values = function(obj) { + return _.map(obj, _.identity); + }; + + // Return a sorted list of the function names available on the object. + // Aliased as `methods` + _.functions = _.methods = function(obj) { + var names = []; + for (var key in obj) { + if (_.isFunction(obj[key])) names.push(key); + } + return names.sort(); + }; + + // Extend a given object with all the properties in passed-in object(s). + _.extend = function(obj) { + each(slice.call(arguments, 1), function(source) { + for (var prop in source) { + obj[prop] = source[prop]; + } + }); + return obj; + }; + + // Fill in a given object with default properties. + _.defaults = function(obj) { + each(slice.call(arguments, 1), function(source) { + for (var prop in source) { + if (obj[prop] == null) obj[prop] = source[prop]; + } + }); + return obj; + }; + + // Create a (shallow-cloned) duplicate of an object. + _.clone = function(obj) { + if (!_.isObject(obj)) return obj; + return _.isArray(obj) ? obj.slice() : _.extend({}, obj); + }; + + // Invokes interceptor with the obj, and then returns obj. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + _.tap = function(obj, interceptor) { + interceptor(obj); + return obj; + }; + + // Internal recursive comparison function. + function eq(a, b, stack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal. + if (a === b) return a !== 0 || 1 / a == 1 / b; + // A strict comparison is necessary because `null == undefined`. + if (a == null || b == null) return a === b; + // Unwrap any wrapped objects. + if (a._chain) a = a._wrapped; + if (b._chain) b = b._wrapped; + // Invoke a custom `isEqual` method if one is provided. + if (a.isEqual && _.isFunction(a.isEqual)) return a.isEqual(b); + if (b.isEqual && _.isFunction(b.isEqual)) return b.isEqual(a); + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className != toString.call(b)) return false; + switch (className) { + // Strings, numbers, dates, and booleans are compared by value. + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return a == String(b); + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for + // other numeric values. + return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b); + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a == +b; + // RegExps are compared by their source patterns and flags. + case '[object RegExp]': + return a.source == b.source && + a.global == b.global && + a.multiline == b.multiline && + a.ignoreCase == b.ignoreCase; + } + if (typeof a != 'object' || typeof b != 'object') return false; + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + var length = stack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (stack[length] == a) return true; + } + // Add the first object to the stack of traversed objects. + stack.push(a); + var size = 0, result = true; + // Recursively compare objects and arrays. + if (className == '[object Array]') { + // Compare array lengths to determine if a deep comparison is necessary. + size = a.length; + result = size == b.length; + if (result) { + // Deep compare the contents, ignoring non-numeric properties. + while (size--) { + // Ensure commutative equality for sparse arrays. + if (!(result = size in a == size in b && eq(a[size], b[size], stack))) break; + } + } + } else { + // Objects with different constructors are not equivalent. + if ('constructor' in a != 'constructor' in b || a.constructor != b.constructor) return false; + // Deep compare objects. + for (var key in a) { + if (_.has(a, key)) { + // Count the expected number of properties. + size++; + // Deep compare each member. + if (!(result = _.has(b, key) && eq(a[key], b[key], stack))) break; + } + } + // Ensure that both objects contain the same number of properties. + if (result) { + for (key in b) { + if (_.has(b, key) && !(size--)) break; + } + result = !size; + } + } + // Remove the first object from the stack of traversed objects. + stack.pop(); + return result; + } + + // Perform a deep comparison to check if two objects are equal. + _.isEqual = function(a, b) { + return eq(a, b, []); + }; + + // Is a given array, string, or object empty? + // An "empty" object has no enumerable own-properties. + _.isEmpty = function(obj) { + if (_.isArray(obj) || _.isString(obj)) return obj.length === 0; + for (var key in obj) if (_.has(obj, key)) return false; + return true; + }; + + // Is a given value a DOM element? + _.isElement = function(obj) { + return !!(obj && obj.nodeType == 1); + }; + + // Is a given value an array? + // Delegates to ECMA5's native Array.isArray + _.isArray = nativeIsArray || function(obj) { + return toString.call(obj) == '[object Array]'; + }; + + // Is a given variable an object? + _.isObject = function(obj) { + return obj === Object(obj); + }; + + // Is a given variable an arguments object? + _.isArguments = function(obj) { + return toString.call(obj) == '[object Arguments]'; + }; + if (!_.isArguments(arguments)) { + _.isArguments = function(obj) { + return !!(obj && _.has(obj, 'callee')); + }; + } + + // Is a given value a function? + _.isFunction = function(obj) { + return toString.call(obj) == '[object Function]'; + }; + + // Is a given value a string? + _.isString = function(obj) { + return toString.call(obj) == '[object String]'; + }; + + // Is a given value a number? + _.isNumber = function(obj) { + return toString.call(obj) == '[object Number]'; + }; + + // Is the given value `NaN`? + _.isNaN = function(obj) { + // `NaN` is the only value for which `===` is not reflexive. + return obj !== obj; + }; + + // Is a given value a boolean? + _.isBoolean = function(obj) { + return obj === true || obj === false || toString.call(obj) == '[object Boolean]'; + }; + + // Is a given value a date? + _.isDate = function(obj) { + return toString.call(obj) == '[object Date]'; + }; + + // Is the given value a regular expression? + _.isRegExp = function(obj) { + return toString.call(obj) == '[object RegExp]'; + }; + + // Is a given value equal to null? + _.isNull = function(obj) { + return obj === null; + }; + + // Is a given variable undefined? + _.isUndefined = function(obj) { + return obj === void 0; + }; + + // Has own property? + _.has = function(obj, key) { + return hasOwnProperty.call(obj, key); + }; + + // Utility Functions + // ----------------- + + // Run Underscore.js in *noConflict* mode, returning the `_` variable to its + // previous owner. Returns a reference to the Underscore object. + _.noConflict = function() { + root._ = previousUnderscore; + return this; + }; + + // Keep the identity function around for default iterators. + _.identity = function(value) { + return value; + }; + + // Run a function **n** times. + _.times = function (n, iterator, context) { + for (var i = 0; i < n; i++) iterator.call(context, i); + }; + + // Escape a string for HTML interpolation. + _.escape = function(string) { + return (''+string).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'); + }; + + // Add your own custom functions to the Underscore object, ensuring that + // they're correctly added to the OOP wrapper as well. + _.mixin = function(obj) { + each(_.functions(obj), function(name){ + addToWrapper(name, _[name] = obj[name]); + }); + }; + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + _.uniqueId = function(prefix) { + var id = idCounter++; + return prefix ? prefix + id : id; + }; + + // By default, Underscore uses ERB-style template delimiters, change the + // following template settings to use alternative delimiters. + _.templateSettings = { + evaluate : /<%([\s\S]+?)%>/g, + interpolate : /<%=([\s\S]+?)%>/g, + escape : /<%-([\s\S]+?)%>/g + }; + + // When customizing `templateSettings`, if you don't want to define an + // interpolation, evaluation or escaping regex, we need one that is + // guaranteed not to match. + var noMatch = /.^/; + + // Within an interpolation, evaluation, or escaping, remove HTML escaping + // that had been previously added. + var unescape = function(code) { + return code.replace(/\\\\/g, '\\').replace(/\\'/g, "'"); + }; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + _.template = function(str, data) { + var c = _.templateSettings; + var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' + + 'with(obj||{}){__p.push(\'' + + str.replace(/\\/g, '\\\\') + .replace(/'/g, "\\'") + .replace(c.escape || noMatch, function(match, code) { + return "',_.escape(" + unescape(code) + "),'"; + }) + .replace(c.interpolate || noMatch, function(match, code) { + return "'," + unescape(code) + ",'"; + }) + .replace(c.evaluate || noMatch, function(match, code) { + return "');" + unescape(code).replace(/[\r\n\t]/g, ' ') + ";__p.push('"; + }) + .replace(/\r/g, '\\r') + .replace(/\n/g, '\\n') + .replace(/\t/g, '\\t') + + "');}return __p.join('');"; + var func = new Function('obj', '_', tmpl); + if (data) return func(data, _); + return function(data) { + return func.call(this, data, _); + }; + }; + + // Add a "chain" function, which will delegate to the wrapper. + _.chain = function(obj) { + return _(obj).chain(); + }; + + // The OOP Wrapper + // --------------- + + // If Underscore is called as a function, it returns a wrapped object that + // can be used OO-style. This wrapper holds altered versions of all the + // underscore functions. Wrapped objects may be chained. + var wrapper = function(obj) { this._wrapped = obj; }; + + // Expose `wrapper.prototype` as `_.prototype` + _.prototype = wrapper.prototype; + + // Helper function to continue chaining intermediate results. + var result = function(obj, chain) { + return chain ? _(obj).chain() : obj; + }; + + // A method to easily add functions to the OOP wrapper. + var addToWrapper = function(name, func) { + wrapper.prototype[name] = function() { + var args = slice.call(arguments); + unshift.call(args, this._wrapped); + return result(func.apply(_, args), this._chain); + }; + }; + + // Add all of the Underscore functions to the wrapper object. + _.mixin(_); + + // Add all mutator Array functions to the wrapper. + each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + wrapper.prototype[name] = function() { + var wrapped = this._wrapped; + method.apply(wrapped, arguments); + var length = wrapped.length; + if ((name == 'shift' || name == 'splice') && length === 0) delete wrapped[0]; + return result(wrapped, this._chain); + }; + }); + + // Add all accessor Array functions to the wrapper. + each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + wrapper.prototype[name] = function() { + return result(method.apply(this._wrapped, arguments), this._chain); + }; + }); + + // Start chaining a wrapped Underscore object. + wrapper.prototype.chain = function() { + this._chain = true; + return this; + }; + + // Extracts the result from a wrapped and chained object. + wrapper.prototype.value = function() { + return this._wrapped; + }; + +}).call(this); diff --git a/Page/benchmarks/_static/underscore.js b/Page/benchmarks/_static/underscore.js new file mode 100644 index 0000000..5b55f32 --- /dev/null +++ b/Page/benchmarks/_static/underscore.js @@ -0,0 +1,31 @@ +// Underscore.js 1.3.1 +// (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. +// Underscore is freely distributable under the MIT license. +// Portions of Underscore are inspired or borrowed from Prototype, +// Oliver Steele's Functional, and John Resig's Micro-Templating. +// For all details and documentation: +// http://documentcloud.github.com/underscore +(function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source== +c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c, +h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each= +b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break};b.map=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e};b.reduce=b.foldl=b.inject=function(a,c,d,e){var f=arguments.length>2;a== +null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect= +function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e= +e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck= +function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a,computed:b})}); +return e.value};b.shuffle=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b};b.sortBy=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a, +c,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]};b.initial=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))};b.last=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length-1]};b.rest= +b.tail=function(a,b,d){return i.call(a,b==null||d?1:b)};b.compact=function(a){return b.filter(a,function(a){return!!a})};b.flatten=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])};b.without=function(a){return b.difference(a,i.call(arguments,1))};b.uniq=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];return d},[]); +return e};b.union=function(){return b.uniq(b.flatten(arguments,true))};b.intersection=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d};b.indexOf=function(a,c, +d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1};b.lastIndexOf=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g}; +var F=function(){};b.bind=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}};b.bindAll=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a};b.memoize=function(a, +c){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}};b.delay=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))};b.throttle=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c));g?h=true: +a.apply(d,e);i();g=true}};b.debounce=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}};b.once=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}};b.compose=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}}; +b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments, +1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)}; +b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"}; +b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.escape=function(a){return(""+a).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a), +function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+ +u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]= +function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain= +true;return this};m.prototype.value=function(){return this._wrapped}}).call(this); diff --git a/Page/benchmarks/_static/up-pressed.png b/Page/benchmarks/_static/up-pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..99e7210962b0667e47408b40fdb5dd14749a156e GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU<L*T#^NA%Cx&(BWL`2bFmM)l zL>4nJ@LmUDMkkHg6$}gv>?NMQuI#tixfpaLIyOe7GB7as1^9%xGB7X%_-&;Ydc(^+ zkAZ<fvLwhan1PvvM^MSs)+HuBv24Z416N+Y`uOG7??3+zy{`WYa&wZmy9+}HtE>kD z14F#0i(`m{WbZ+Dp#}v8<^vsjn{0pncXurb$$R(6JXt`S>&P?7iE*z!PJH`h-b2%q zvp>9W>3mgS%>A^`aEHZRnI^9ghfs^&J7KrY%I;bml8%|H<dJR8P}$jU<lf{_#84Z= WCKj5^yNrQ>fx*+&&t;ucLK6TyG<l)` literal 0 HcmV?d00001 diff --git a/Page/benchmarks/_static/up.png b/Page/benchmarks/_static/up.png new file mode 100644 index 0000000000000000000000000000000000000000..26de002e85d3f5df53163e80b61af59bc4a6389b GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QU<L*T#^NA%Cx&(BWL`2bFmM)l zL>4nJ@LmUDMkkHg6$}gv>?NMQuI#ti8O0U#Y|b{jGB7as1^9%3=%dsF(~sKbF)%Pl zmIV0)GcdF82r8M{y2QjMmaSNM;L6KaAHV$i{pa7I*Y$rvZcg%ccVXyYmGxj?V2Jm0 zaSV}=>^<l%)S$q?e4t}*lkLy{?ye;vdG8*XCktqE9eE}>G49pJiEp3GduV!c_J<cP zov#Xvxt|sq?y$Hk)8rN65NgqTC+xOa*<Fi6(lK+DJhIIhDm(j)+?za#7;1yq#6pvK SmoYFfFnGH9xvX<aXaWGrkCL4L literal 0 HcmV?d00001 diff --git a/Page/benchmarks/_static/websupport.js b/Page/benchmarks/_static/websupport.js new file mode 100644 index 0000000..98e7f40 --- /dev/null +++ b/Page/benchmarks/_static/websupport.js @@ -0,0 +1,808 @@ +/* + * websupport.js + * ~~~~~~~~~~~~~ + * + * sphinx.websupport utilities for all documentation. + * + * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +(function($) { + $.fn.autogrow = function() { + return this.each(function() { + var textarea = this; + + $.fn.autogrow.resize(textarea); + + $(textarea) + .focus(function() { + textarea.interval = setInterval(function() { + $.fn.autogrow.resize(textarea); + }, 500); + }) + .blur(function() { + clearInterval(textarea.interval); + }); + }); + }; + + $.fn.autogrow.resize = function(textarea) { + var lineHeight = parseInt($(textarea).css('line-height'), 10); + var lines = textarea.value.split('\n'); + var columns = textarea.cols; + var lineCount = 0; + $.each(lines, function() { + lineCount += Math.ceil(this.length / columns) || 1; + }); + var height = lineHeight * (lineCount + 1); + $(textarea).css('height', height); + }; +})(jQuery); + +(function($) { + var comp, by; + + function init() { + initEvents(); + initComparator(); + } + + function initEvents() { + $(document).on("click", 'a.comment-close', function(event) { + event.preventDefault(); + hide($(this).attr('id').substring(2)); + }); + $(document).on("click", 'a.vote', function(event) { + event.preventDefault(); + handleVote($(this)); + }); + $(document).on("click", 'a.reply', function(event) { + event.preventDefault(); + openReply($(this).attr('id').substring(2)); + }); + $(document).on("click", 'a.close-reply', function(event) { + event.preventDefault(); + closeReply($(this).attr('id').substring(2)); + }); + $(document).on("click", 'a.sort-option', function(event) { + event.preventDefault(); + handleReSort($(this)); + }); + $(document).on("click", 'a.show-proposal', function(event) { + event.preventDefault(); + showProposal($(this).attr('id').substring(2)); + }); + $(document).on("click", 'a.hide-proposal', function(event) { + event.preventDefault(); + hideProposal($(this).attr('id').substring(2)); + }); + $(document).on("click", 'a.show-propose-change', function(event) { + event.preventDefault(); + showProposeChange($(this).attr('id').substring(2)); + }); + $(document).on("click", 'a.hide-propose-change', function(event) { + event.preventDefault(); + hideProposeChange($(this).attr('id').substring(2)); + }); + $(document).on("click", 'a.accept-comment', function(event) { + event.preventDefault(); + acceptComment($(this).attr('id').substring(2)); + }); + $(document).on("click", 'a.delete-comment', function(event) { + event.preventDefault(); + deleteComment($(this).attr('id').substring(2)); + }); + $(document).on("click", 'a.comment-markup', function(event) { + event.preventDefault(); + toggleCommentMarkupBox($(this).attr('id').substring(2)); + }); + } + + /** + * Set comp, which is a comparator function used for sorting and + * inserting comments into the list. + */ + function setComparator() { + // If the first three letters are "asc", sort in ascending order + // and remove the prefix. + if (by.substring(0,3) == 'asc') { + var i = by.substring(3); + comp = function(a, b) { return a[i] - b[i]; }; + } else { + // Otherwise sort in descending order. + comp = function(a, b) { return b[by] - a[by]; }; + } + + // Reset link styles and format the selected sort option. + $('a.sel').attr('href', '#').removeClass('sel'); + $('a.by' + by).removeAttr('href').addClass('sel'); + } + + /** + * Create a comp function. If the user has preferences stored in + * the sortBy cookie, use those, otherwise use the default. + */ + function initComparator() { + by = 'rating'; // Default to sort by rating. + // If the sortBy cookie is set, use that instead. + if (document.cookie.length > 0) { + var start = document.cookie.indexOf('sortBy='); + if (start != -1) { + start = start + 7; + var end = document.cookie.indexOf(";", start); + if (end == -1) { + end = document.cookie.length; + by = unescape(document.cookie.substring(start, end)); + } + } + } + setComparator(); + } + + /** + * Show a comment div. + */ + function show(id) { + $('#ao' + id).hide(); + $('#ah' + id).show(); + var context = $.extend({id: id}, opts); + var popup = $(renderTemplate(popupTemplate, context)).hide(); + popup.find('textarea[name="proposal"]').hide(); + popup.find('a.by' + by).addClass('sel'); + var form = popup.find('#cf' + id); + form.submit(function(event) { + event.preventDefault(); + addComment(form); + }); + $('#s' + id).after(popup); + popup.slideDown('fast', function() { + getComments(id); + }); + } + + /** + * Hide a comment div. + */ + function hide(id) { + $('#ah' + id).hide(); + $('#ao' + id).show(); + var div = $('#sc' + id); + div.slideUp('fast', function() { + div.remove(); + }); + } + + /** + * Perform an ajax request to get comments for a node + * and insert the comments into the comments tree. + */ + function getComments(id) { + $.ajax({ + type: 'GET', + url: opts.getCommentsURL, + data: {node: id}, + success: function(data, textStatus, request) { + var ul = $('#cl' + id); + var speed = 100; + $('#cf' + id) + .find('textarea[name="proposal"]') + .data('source', data.source); + + if (data.comments.length === 0) { + ul.html('<li>No comments yet.</li>'); + ul.data('empty', true); + } else { + // If there are comments, sort them and put them in the list. + var comments = sortComments(data.comments); + speed = data.comments.length * 100; + appendComments(comments, ul); + ul.data('empty', false); + } + $('#cn' + id).slideUp(speed + 200); + ul.slideDown(speed); + }, + error: function(request, textStatus, error) { + showError('Oops, there was a problem retrieving the comments.'); + }, + dataType: 'json' + }); + } + + /** + * Add a comment via ajax and insert the comment into the comment tree. + */ + function addComment(form) { + var node_id = form.find('input[name="node"]').val(); + var parent_id = form.find('input[name="parent"]').val(); + var text = form.find('textarea[name="comment"]').val(); + var proposal = form.find('textarea[name="proposal"]').val(); + + if (text == '') { + showError('Please enter a comment.'); + return; + } + + // Disable the form that is being submitted. + form.find('textarea,input').attr('disabled', 'disabled'); + + // Send the comment to the server. + $.ajax({ + type: "POST", + url: opts.addCommentURL, + dataType: 'json', + data: { + node: node_id, + parent: parent_id, + text: text, + proposal: proposal + }, + success: function(data, textStatus, error) { + // Reset the form. + if (node_id) { + hideProposeChange(node_id); + } + form.find('textarea') + .val('') + .add(form.find('input')) + .removeAttr('disabled'); + var ul = $('#cl' + (node_id || parent_id)); + if (ul.data('empty')) { + $(ul).empty(); + ul.data('empty', false); + } + insertComment(data.comment); + var ao = $('#ao' + node_id); + ao.find('img').attr({'src': opts.commentBrightImage}); + if (node_id) { + // if this was a "root" comment, remove the commenting box + // (the user can get it back by reopening the comment popup) + $('#ca' + node_id).slideUp(); + } + }, + error: function(request, textStatus, error) { + form.find('textarea,input').removeAttr('disabled'); + showError('Oops, there was a problem adding the comment.'); + } + }); + } + + /** + * Recursively append comments to the main comment list and children + * lists, creating the comment tree. + */ + function appendComments(comments, ul) { + $.each(comments, function() { + var div = createCommentDiv(this); + ul.append($(document.createElement('li')).html(div)); + appendComments(this.children, div.find('ul.comment-children')); + // To avoid stagnating data, don't store the comments children in data. + this.children = null; + div.data('comment', this); + }); + } + + /** + * After adding a new comment, it must be inserted in the correct + * location in the comment tree. + */ + function insertComment(comment) { + var div = createCommentDiv(comment); + + // To avoid stagnating data, don't store the comments children in data. + comment.children = null; + div.data('comment', comment); + + var ul = $('#cl' + (comment.node || comment.parent)); + var siblings = getChildren(ul); + + var li = $(document.createElement('li')); + li.hide(); + + // Determine where in the parents children list to insert this comment. + for(i=0; i < siblings.length; i++) { + if (comp(comment, siblings[i]) <= 0) { + $('#cd' + siblings[i].id) + .parent() + .before(li.html(div)); + li.slideDown('fast'); + return; + } + } + + // If we get here, this comment rates lower than all the others, + // or it is the only comment in the list. + ul.append(li.html(div)); + li.slideDown('fast'); + } + + function acceptComment(id) { + $.ajax({ + type: 'POST', + url: opts.acceptCommentURL, + data: {id: id}, + success: function(data, textStatus, request) { + $('#cm' + id).fadeOut('fast'); + $('#cd' + id).removeClass('moderate'); + }, + error: function(request, textStatus, error) { + showError('Oops, there was a problem accepting the comment.'); + } + }); + } + + function deleteComment(id) { + $.ajax({ + type: 'POST', + url: opts.deleteCommentURL, + data: {id: id}, + success: function(data, textStatus, request) { + var div = $('#cd' + id); + if (data == 'delete') { + // Moderator mode: remove the comment and all children immediately + div.slideUp('fast', function() { + div.remove(); + }); + return; + } + // User mode: only mark the comment as deleted + div + .find('span.user-id:first') + .text('[deleted]').end() + .find('div.comment-text:first') + .text('[deleted]').end() + .find('#cm' + id + ', #dc' + id + ', #ac' + id + ', #rc' + id + + ', #sp' + id + ', #hp' + id + ', #cr' + id + ', #rl' + id) + .remove(); + var comment = div.data('comment'); + comment.username = '[deleted]'; + comment.text = '[deleted]'; + div.data('comment', comment); + }, + error: function(request, textStatus, error) { + showError('Oops, there was a problem deleting the comment.'); + } + }); + } + + function showProposal(id) { + $('#sp' + id).hide(); + $('#hp' + id).show(); + $('#pr' + id).slideDown('fast'); + } + + function hideProposal(id) { + $('#hp' + id).hide(); + $('#sp' + id).show(); + $('#pr' + id).slideUp('fast'); + } + + function showProposeChange(id) { + $('#pc' + id).hide(); + $('#hc' + id).show(); + var textarea = $('#pt' + id); + textarea.val(textarea.data('source')); + $.fn.autogrow.resize(textarea[0]); + textarea.slideDown('fast'); + } + + function hideProposeChange(id) { + $('#hc' + id).hide(); + $('#pc' + id).show(); + var textarea = $('#pt' + id); + textarea.val('').removeAttr('disabled'); + textarea.slideUp('fast'); + } + + function toggleCommentMarkupBox(id) { + $('#mb' + id).toggle(); + } + + /** Handle when the user clicks on a sort by link. */ + function handleReSort(link) { + var classes = link.attr('class').split(/\s+/); + for (var i=0; i<classes.length; i++) { + if (classes[i] != 'sort-option') { + by = classes[i].substring(2); + } + } + setComparator(); + // Save/update the sortBy cookie. + var expiration = new Date(); + expiration.setDate(expiration.getDate() + 365); + document.cookie= 'sortBy=' + escape(by) + + ';expires=' + expiration.toUTCString(); + $('ul.comment-ul').each(function(index, ul) { + var comments = getChildren($(ul), true); + comments = sortComments(comments); + appendComments(comments, $(ul).empty()); + }); + } + + /** + * Function to process a vote when a user clicks an arrow. + */ + function handleVote(link) { + if (!opts.voting) { + showError("You'll need to login to vote."); + return; + } + + var id = link.attr('id'); + if (!id) { + // Didn't click on one of the voting arrows. + return; + } + // If it is an unvote, the new vote value is 0, + // Otherwise it's 1 for an upvote, or -1 for a downvote. + var value = 0; + if (id.charAt(1) != 'u') { + value = id.charAt(0) == 'u' ? 1 : -1; + } + // The data to be sent to the server. + var d = { + comment_id: id.substring(2), + value: value + }; + + // Swap the vote and unvote links. + link.hide(); + $('#' + id.charAt(0) + (id.charAt(1) == 'u' ? 'v' : 'u') + d.comment_id) + .show(); + + // The div the comment is displayed in. + var div = $('div#cd' + d.comment_id); + var data = div.data('comment'); + + // If this is not an unvote, and the other vote arrow has + // already been pressed, unpress it. + if ((d.value !== 0) && (data.vote === d.value * -1)) { + $('#' + (d.value == 1 ? 'd' : 'u') + 'u' + d.comment_id).hide(); + $('#' + (d.value == 1 ? 'd' : 'u') + 'v' + d.comment_id).show(); + } + + // Update the comments rating in the local data. + data.rating += (data.vote === 0) ? d.value : (d.value - data.vote); + data.vote = d.value; + div.data('comment', data); + + // Change the rating text. + div.find('.rating:first') + .text(data.rating + ' point' + (data.rating == 1 ? '' : 's')); + + // Send the vote information to the server. + $.ajax({ + type: "POST", + url: opts.processVoteURL, + data: d, + error: function(request, textStatus, error) { + showError('Oops, there was a problem casting that vote.'); + } + }); + } + + /** + * Open a reply form used to reply to an existing comment. + */ + function openReply(id) { + // Swap out the reply link for the hide link + $('#rl' + id).hide(); + $('#cr' + id).show(); + + // Add the reply li to the children ul. + var div = $(renderTemplate(replyTemplate, {id: id})).hide(); + $('#cl' + id) + .prepend(div) + // Setup the submit handler for the reply form. + .find('#rf' + id) + .submit(function(event) { + event.preventDefault(); + addComment($('#rf' + id)); + closeReply(id); + }) + .find('input[type=button]') + .click(function() { + closeReply(id); + }); + div.slideDown('fast', function() { + $('#rf' + id).find('textarea').focus(); + }); + } + + /** + * Close the reply form opened with openReply. + */ + function closeReply(id) { + // Remove the reply div from the DOM. + $('#rd' + id).slideUp('fast', function() { + $(this).remove(); + }); + + // Swap out the hide link for the reply link + $('#cr' + id).hide(); + $('#rl' + id).show(); + } + + /** + * Recursively sort a tree of comments using the comp comparator. + */ + function sortComments(comments) { + comments.sort(comp); + $.each(comments, function() { + this.children = sortComments(this.children); + }); + return comments; + } + + /** + * Get the children comments from a ul. If recursive is true, + * recursively include childrens' children. + */ + function getChildren(ul, recursive) { + var children = []; + ul.children().children("[id^='cd']") + .each(function() { + var comment = $(this).data('comment'); + if (recursive) + comment.children = getChildren($(this).find('#cl' + comment.id), true); + children.push(comment); + }); + return children; + } + + /** Create a div to display a comment in. */ + function createCommentDiv(comment) { + if (!comment.displayed && !opts.moderator) { + return $('<div class="moderate">Thank you! Your comment will show up ' + + 'once it is has been approved by a moderator.</div>'); + } + // Prettify the comment rating. + comment.pretty_rating = comment.rating + ' point' + + (comment.rating == 1 ? '' : 's'); + // Make a class (for displaying not yet moderated comments differently) + comment.css_class = comment.displayed ? '' : ' moderate'; + // Create a div for this comment. + var context = $.extend({}, opts, comment); + var div = $(renderTemplate(commentTemplate, context)); + + // If the user has voted on this comment, highlight the correct arrow. + if (comment.vote) { + var direction = (comment.vote == 1) ? 'u' : 'd'; + div.find('#' + direction + 'v' + comment.id).hide(); + div.find('#' + direction + 'u' + comment.id).show(); + } + + if (opts.moderator || comment.text != '[deleted]') { + div.find('a.reply').show(); + if (comment.proposal_diff) + div.find('#sp' + comment.id).show(); + if (opts.moderator && !comment.displayed) + div.find('#cm' + comment.id).show(); + if (opts.moderator || (opts.username == comment.username)) + div.find('#dc' + comment.id).show(); + } + return div; + } + + /** + * A simple template renderer. Placeholders such as <%id%> are replaced + * by context['id'] with items being escaped. Placeholders such as <#id#> + * are not escaped. + */ + function renderTemplate(template, context) { + var esc = $(document.createElement('div')); + + function handle(ph, escape) { + var cur = context; + $.each(ph.split('.'), function() { + cur = cur[this]; + }); + return escape ? esc.text(cur || "").html() : cur; + } + + return template.replace(/<([%#])([\w\.]*)\1>/g, function() { + return handle(arguments[2], arguments[1] == '%' ? true : false); + }); + } + + /** Flash an error message briefly. */ + function showError(message) { + $(document.createElement('div')).attr({'class': 'popup-error'}) + .append($(document.createElement('div')) + .attr({'class': 'error-message'}).text(message)) + .appendTo('body') + .fadeIn("slow") + .delay(2000) + .fadeOut("slow"); + } + + /** Add a link the user uses to open the comments popup. */ + $.fn.comment = function() { + return this.each(function() { + var id = $(this).attr('id').substring(1); + var count = COMMENT_METADATA[id]; + var title = count + ' comment' + (count == 1 ? '' : 's'); + var image = count > 0 ? opts.commentBrightImage : opts.commentImage; + var addcls = count == 0 ? ' nocomment' : ''; + $(this) + .append( + $(document.createElement('a')).attr({ + href: '#', + 'class': 'sphinx-comment-open' + addcls, + id: 'ao' + id + }) + .append($(document.createElement('img')).attr({ + src: image, + alt: 'comment', + title: title + })) + .click(function(event) { + event.preventDefault(); + show($(this).attr('id').substring(2)); + }) + ) + .append( + $(document.createElement('a')).attr({ + href: '#', + 'class': 'sphinx-comment-close hidden', + id: 'ah' + id + }) + .append($(document.createElement('img')).attr({ + src: opts.closeCommentImage, + alt: 'close', + title: 'close' + })) + .click(function(event) { + event.preventDefault(); + hide($(this).attr('id').substring(2)); + }) + ); + }); + }; + + var opts = { + processVoteURL: '/_process_vote', + addCommentURL: '/_add_comment', + getCommentsURL: '/_get_comments', + acceptCommentURL: '/_accept_comment', + deleteCommentURL: '/_delete_comment', + commentImage: '/static/_static/comment.png', + closeCommentImage: '/static/_static/comment-close.png', + loadingImage: '/static/_static/ajax-loader.gif', + commentBrightImage: '/static/_static/comment-bright.png', + upArrow: '/static/_static/up.png', + downArrow: '/static/_static/down.png', + upArrowPressed: '/static/_static/up-pressed.png', + downArrowPressed: '/static/_static/down-pressed.png', + voting: false, + moderator: false + }; + + if (typeof COMMENT_OPTIONS != "undefined") { + opts = jQuery.extend(opts, COMMENT_OPTIONS); + } + + var popupTemplate = '\ + <div class="sphinx-comments" id="sc<%id%>">\ + <p class="sort-options">\ + Sort by:\ + <a href="#" class="sort-option byrating">best rated</a>\ + <a href="#" class="sort-option byascage">newest</a>\ + <a href="#" class="sort-option byage">oldest</a>\ + </p>\ + <div class="comment-header">Comments</div>\ + <div class="comment-loading" id="cn<%id%>">\ + loading comments... <img src="<%loadingImage%>" alt="" /></div>\ + <ul id="cl<%id%>" class="comment-ul"></ul>\ + <div id="ca<%id%>">\ + <p class="add-a-comment">Add a comment\ + (<a href="#" class="comment-markup" id="ab<%id%>">markup</a>):</p>\ + <div class="comment-markup-box" id="mb<%id%>">\ + reStructured text markup: <i>*emph*</i>, <b>**strong**</b>, \ + <code>``code``</code>, \ + code blocks: <code>::</code> and an indented block after blank line</div>\ + <form method="post" id="cf<%id%>" class="comment-form" action="">\ + <textarea name="comment" cols="80"></textarea>\ + <p class="propose-button">\ + <a href="#" id="pc<%id%>" class="show-propose-change">\ + Propose a change ▹\ + </a>\ + <a href="#" id="hc<%id%>" class="hide-propose-change">\ + Propose a change ▿\ + </a>\ + </p>\ + <textarea name="proposal" id="pt<%id%>" cols="80"\ + spellcheck="false"></textarea>\ + <input type="submit" value="Add comment" />\ + <input type="hidden" name="node" value="<%id%>" />\ + <input type="hidden" name="parent" value="" />\ + </form>\ + </div>\ + </div>'; + + var commentTemplate = '\ + <div id="cd<%id%>" class="sphinx-comment<%css_class%>">\ + <div class="vote">\ + <div class="arrow">\ + <a href="#" id="uv<%id%>" class="vote" title="vote up">\ + <img src="<%upArrow%>" />\ + </a>\ + <a href="#" id="uu<%id%>" class="un vote" title="vote up">\ + <img src="<%upArrowPressed%>" />\ + </a>\ + </div>\ + <div class="arrow">\ + <a href="#" id="dv<%id%>" class="vote" title="vote down">\ + <img src="<%downArrow%>" id="da<%id%>" />\ + </a>\ + <a href="#" id="du<%id%>" class="un vote" title="vote down">\ + <img src="<%downArrowPressed%>" />\ + </a>\ + </div>\ + </div>\ + <div class="comment-content">\ + <p class="tagline comment">\ + <span class="user-id"><%username%></span>\ + <span class="rating"><%pretty_rating%></span>\ + <span class="delta"><%time.delta%></span>\ + </p>\ + <div class="comment-text comment"><#text#></div>\ + <p class="comment-opts comment">\ + <a href="#" class="reply hidden" id="rl<%id%>">reply ▹</a>\ + <a href="#" class="close-reply" id="cr<%id%>">reply ▿</a>\ + <a href="#" id="sp<%id%>" class="show-proposal">proposal ▹</a>\ + <a href="#" id="hp<%id%>" class="hide-proposal">proposal ▿</a>\ + <a href="#" id="dc<%id%>" class="delete-comment hidden">delete</a>\ + <span id="cm<%id%>" class="moderation hidden">\ + <a href="#" id="ac<%id%>" class="accept-comment">accept</a>\ + </span>\ + </p>\ + <pre class="proposal" id="pr<%id%>">\ +<#proposal_diff#>\ + </pre>\ + <ul class="comment-children" id="cl<%id%>"></ul>\ + </div>\ + <div class="clearleft"></div>\ + </div>\ + </div>'; + + var replyTemplate = '\ + <li>\ + <div class="reply-div" id="rd<%id%>">\ + <form id="rf<%id%>">\ + <textarea name="comment" cols="80"></textarea>\ + <input type="submit" value="Add reply" />\ + <input type="button" value="Cancel" />\ + <input type="hidden" name="parent" value="<%id%>" />\ + <input type="hidden" name="node" value="" />\ + </form>\ + </div>\ + </li>'; + + $(document).ready(function() { + init(); + }); +})(jQuery); + +$(document).ready(function() { + // add comment anchors for all paragraphs that are commentable + $('.sphinx-has-comment').comment(); + + // highlight search words in search results + $("div.context").each(function() { + var params = $.getQueryParameters(); + var terms = (params.q) ? params.q[0].split(/\s+/) : []; + var result = $(this); + $.each(terms, function() { + result.highlightText(this.toLowerCase(), 'highlighted'); + }); + }); + + // directly open comment window if requested + var anchor = document.location.hash; + if (anchor.substring(0, 9) == '#comment-') { + $('#ao' + anchor.substring(9)).click(); + document.location.hash = '#s' + anchor.substring(9); + } +}); diff --git a/Page/benchmarks/index.html b/Page/benchmarks/index.html new file mode 100644 index 0000000..42932f7 --- /dev/null +++ b/Page/benchmarks/index.html @@ -0,0 +1,125 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <title>PyDial benchmarking environment — PyDial 1.0.0 documentation</title> + + <link rel="stylesheet" href="_static/alabaster.css" type="text/css" /> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <link rel="top" title="PyDial 1.0.0 documentation" href="#" /> + <link rel="next" title="Agent - the Complete Dialogue System" href="Agent.html" /> + + <link rel="stylesheet" href="_static/custom.css" type="text/css" /> + + <script> + function supportsImports() { + return 'import' in document.createElement('link'); + } + +// if (supportsImports()) { +// document.write('<link rel="import" href="http://example.com/elements.html">'); +// } + +</script> + + <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" /> + + </head> + <body role="document"> + + + <div class="document"> + <div class="documentwrapper"> + <div class="bodywrapper"> + <div class="body" role="main"> + + <div class="section" id="pydial-the-cued-python-statistical-dialog-system"> +<h1>PyDial<a class="headerlink" href="#pydial-the-cued-python-statistical-dialog-system" title="Permalink to this headline"></a></h1> +<div class="section" id="welcome"> +<h2>Benchmarking environment<a class="headerlink" href="#welcome" title="Permalink to this headline"></a></h2> +<p>PyDial offers the opportunity to develop a Reinforcement Learning based Dialogue Management benchmarking environment, where a fair comparison between different algorithms interacting with a varied set of dialogue environments. Here, we introduce the benchmarking setup presented in <a href="https://arxiv.org/abs/1711.11023" target=_blank>Casanueva et al. 2017</a>, where 18 dialogue environments spaning different noise conditions, user behaviours and different domains are introduced. In addition, 4 state of the art dialogue policy optimisation algorithms are compared in these environments.</p> +<p>To run the benchmarking tasks, first <a href="https://gitlab.cs.uni-duesseldorf.de/general/dsml/pydial3-public" target=_blank>download PyDial</a> and install the requirements. The config files specifying the different environments can be found in</p> +<pre><code style="font-size:80%"> +PYDIAL_DIR/config/pydial_benchmarks +</code></pre> +<p>Then, run the benchmarking task selected using the pydial.py train command:</p> +<pre><code style="font-size:80%"> +python pydial.py train config/pydial_benchmarks/env1-hdc-CR.cfg --seed=(0,9) +</code></pre> +<p> Note that in some terminals you might have to write \ before the opening and closing parentheses -i.e. --seed=\(0,9\). This command will run the environment 1 in the Cambridge Restaurants domain for 10 different seeds using the handcrafted policy. To run a different environment, just select a different config file. To run one of the benchmarked RL algorithms, open the config file and uncomment the parameters for that algorithm. Due to updates in the environment code, the results obtained might differ to the ones presented in the paper, but the difference shouldn't be statistically significant.</p> +<p> To print the mean results for all the seeds, run the pydial.py plot command giving as arguments the list of logfiles:</p> +<pre><code style="font-size:80%"> +python pydial.py plot --noplot _benchmarklogs/env1-hdc-CR-seed*-00.1-4.train.log +</code></pre> +<hr/ style="width:100%"> + +<!-- <hr/ style="width:100%"> --> +<p>In the future, we plan to extend these benchmarks with more challenging environments. The benchmarking environment will be updated as these tasks are developed.</p> + + + + + + + +</div> +</div> +</div> + </div> + </div> + <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> + <div class="sphinxsidebarwrapper"> +<p class="logo"> + <a href="#"> + <img class="logo" src="../_static/hhu-logo.png" alt="Logo"/> + + <!-- <h1 class="logo logo-name" style="text-align:center">PyDial</h1> --> + + </a> +</p> + + + + + + + + +<!-- <h3>Navigation</h3> +<ul> +<li class="toctree-l1"><a class="reference internal" href="Agent.html">Agent - the Complete Dialogue System</a></li> +</ul> --> + +</div> +<hr/ style="width:100%"> +<p align="center"> +<a href="https://gitlab.cs.uni-duesseldorf.de/general/dsml/pydial3-public" target=_blank style="font-size: 120%; color: #2e7ec8;">Download the code</a> +</p> +<p align="center"> +<a href="../Docs/" target=_blank style="font-size: 120%; color: #2e7ec8;">Documentation</a> +</p> +<hr style="border-top: dashed 1px; width:100%; background-color:white" /> +<p align="center"> + <a href="https://www.cs.hhu.de/lehrstuehle-und-arbeitsgruppen/dialog-systems-and-machine-learning.html" target=_blank style="font-size: 120%; color: #2e7ec8;">Dialogue Systems and Machine Learning Group</a><br /> +</p> +<hr/ style="width:100%"> + + + + + </div> + </div> + <div class="clearer"></div> + </div> + <div class="footer"> + ©2015-2017, Dialogue Systems Group, University of Cambridge. + + | + Powered by <a href="https://github.com/bitprophet/alabaster" target=_blank >Alabaster 0.7.9</a> + </div> + + + + + </body> +</html> diff --git a/Page/index.html b/Page/index.html new file mode 100644 index 0000000..a81e891 --- /dev/null +++ b/Page/index.html @@ -0,0 +1,138 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + + <title>PyDial3: The Python3 Statistical Dialog System — PyDial 1.0.0 documentation</title> + + <link rel="stylesheet" href="_static/alabaster.css" type="text/css" /> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <link rel="top" title="PyDial 1.0.0 documentation" href="#" /> + <link rel="next" title="Agent - the Complete Dialogue System" href="Agent.html" /> + + <link rel="stylesheet" href="_static/custom.css" type="text/css" /> + + <script> + function supportsImports() { + return 'import' in document.createElement('link'); + } + +// if (supportsImports()) { +// document.write('<link rel="import" href="http://example.com/elements.html">'); +// } + +</script> + + <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" /> + + </head> + <body role="document"> + + + <div class="document"> + <div class="documentwrapper"> + <div class="bodywrapper"> + <div class="body" role="main"> + + <div class="section" id="pydial3-the-python3-statistical-dialog-system"> +<h1>PyDial 3.0<a class="headerlink" href="#pydial3-cued-python3-statistical-dialog-system" title="Permalink to this headline"></a></h1> +<div class="section" id="welcome"> +<h2>The Python Multi-domain Statistical Dialogue System Toolkit<a class="headerlink" href="#welcome" title="Permalink to this headline"></a></h2> +<p>Welcome to the PyDial website. PyDial is an open-source end-to-end statistical spoken dialogue system toolkit which provides implementations of statistical approaches for all dialogue system modules. Moreover, it has been extended to provide multi-domain conversational functionality. It offers easy configuration, easy extensibility, and domain-independent implementations of the respective dialogue system modules.</p> +<p>PyDial is a scientific system developed for scientific purposes and actively used for research by the <a href="https://www.cs.hhu.de/lehrstuehle-und-arbeitsgruppen/dialog-systems-and-machine-learning.html" target=_blank>Dialogue Systems and Machine Learning Group</a> at the Heinrich-Heine University, Düsseldorf. Although we put great effort into designing clean interfaces and easily understandable structures, some the code will not necessarily be up to commercial standards. As it is used actively for research, the code may also change in the future. However, the core intefaces have been designed in a way that there should not be any need to change them.</p> +<!-- <p>The toolkit will be made available soon. In the meantime, have a look at the <a href="Docs/">tutorials and documentation</a>.</p> --> +<!--<p>To get started, <a href="cu-pydial.zip">download</a> the toolkit, have a look at the README for instructions to get it running and / or have a look at the <a href="Docs/">tutorials and documentation</a>. The final relsease will be made directly accessible through a git repository.</p>--> +<p>To stay up to date, <a href="https://groups.google.com/forum/#!forum/pydial/join" target=_blank>sign up to our mailing list</a>. + +<!-- <hr/ style="width:100%"> --> +<p>To cite PyDial, please use the following paper: +<!-- <br /> +<br /> +S. Ultes, L. Rojas-Barahona, P. Su, D. Vandyke, D. Kim, I. Casanueva, P. Budzianowski, T. Wen, M. GaÅ¡ić and S. Young<br /> +<b>PyDial: A Multi-domain Statistical Dialogue System Toolkit</b><br /> +Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics-System Demonstrations, ACL, Vancouver, August 2017 --> +<pre><code style="font-size:80%">@InProceedings{ultes2017pydial, + author = {Ultes, Stefan and Rojas Barahona, Lina M. and Su, Pei-Hao and Vandyke, David and Kim, Dongho and Casanueva, I\~{n}igo and Budzianowski, Pawe{\l} and Mrk\v{s}i\'{c}, Nikola and Wen, Tsung-Hsien and Gasic, Milica and Young, Steve}, + title = {{PyDial: A Multi-domain Statistical Dialogue System Toolkit}}, + booktitle = {Proceedings of ACL 2017, System Demonstrations}, + month = {July}, + year = {2017}, + address = {Vancouver, Canada}, + publisher = {Association for Computational Linguistics}, + pages = {73--78}, + url = {http://aclweb.org/anthology/P17-4013} +} +</code></pre> + +<!-- <p><a href="http://camdial.org/~sdsgroup/pydial/demo/pydial-demo.py">Talk to the demo system about restaurants in Cambridge.</a></p> --> + + + + +</div> +</div> +</div> + </div> + </div> + <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> + <div class="sphinxsidebarwrapper"> +<p class="logo"> + <a href="#"> + <img class="logo" src="_static/hhu-logo.png" alt="Logo"/> + + <!-- <h1 class="logo logo-name" style="text-align:center">PyDial</h1> --> + + </a> +</p> + + + + + + + + +<!-- <h3>Navigation</h3> +<ul> +<li class="toctree-l1"><a class="reference internal" href="Agent.html">Agent - the Complete Dialogue System</a></li> +</ul> --> + +</div> +<hr/ style="width:100%"> +<p align="center"> +<a href="https://gitlab.cs.uni-duesseldorf.de/general/dsml/pydial3-public" target=_blank style="font-size: 120%; color: #2e7ec8;">Download the code</a> +</p> +<p align="center"> +<a href="Docs/" target=_blank style="font-size: 120%; color: #2e7ec8;">Documentation</a> +</p> +<p align="center"> +<a href="benchmarks/" target=_blank style="font-size: 120%; color: #2e7ec8;">Benchmarking environment</a> +</p> +<hr style="border-top: dashed 1px; width:100%; background-color:white" /> +<p align="center"> +<a href="https://groups.google.com/forum/#!forum/pydial/join" target=_blank style="font-size: 120%; color: #2e7ec8;">Sign up to the mailing list</a> +</p> +<hr style="border-top: dashed 1px; width:100%; background-color:white" /> +<p align="center"> +<a href="https://www.cs.hhu.de/lehrstuehle-und-arbeitsgruppen/dialog-systems-and-machine-learning.html" target=_blank style="font-size: 120%; color: #2e7ec8;">Dialogue Systems and Machine Learning Group</a><br /> +</p> +<hr/ style="width:100%"> + + + + + </div> + </div> + <div class="clearer"></div> + </div> + <div class="footer"> + ©2015-2019, Dialogue Systems Group, University of Cambridge, 2019-2020, Dialogue Systems and Machine Learning Group, Heinrich-Heine University Düsseldorf. + + | + Powered by <a href="https://github.com/bitprophet/alabaster" target=_blank >Alabaster 0.7.9</a> + </div> + + + + + </body> +</html> diff --git a/Page/tutorials/Deep RL Policies.html b/Page/tutorials/Deep RL Policies.html new file mode 100644 index 0000000..6fd1e31 --- /dev/null +++ b/Page/tutorials/Deep RL Policies.html @@ -0,0 +1,11919 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<title>Deep RL Policies</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +@media (max-width: 991px) { + #ipython_notebook { + margin-left: 10px; + } +} +[dir="rtl"] #ipython_notebook { + float: right !important; +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#login_widget { + float: right; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + text-align: center; + vertical-align: middle; + display: inline; + opacity: 0; + z-index: 2; + width: 12ex; + margin-right: -12ex; +} +.alternate_upload .btn-upload { + height: 22px; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +[dir="rtl"] #tabs li { + float: right; +} +ul#tabs { + margin-bottom: 4px; +} +[dir="rtl"] ul#tabs { + margin-right: 0px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +[dir="rtl"] .list_toolbar .tree-buttons { + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-right { + padding-top: 1px; + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-left { + float: right !important; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: baseline; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +#tree-selector { + padding-right: 0px; +} +[dir="rtl"] #tree-selector a { + float: right; +} +#button-select-all { + min-width: 50px; +} +#select-all { + margin-left: 7px; + margin-right: 2px; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +[dir="rtl"] #new-menu { + text-align: right; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +[dir="rtl"] #running .col-sm-8 { + float: right !important; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight: bold; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + border-left-width: 1px; + padding-left: 5px; + background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} +div.cell.jupyter-soft-selected { + border-left-color: #90CAF9; + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected { + border-color: #ababab; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%); +} +@media print { + div.cell.selected { + border-color: transparent; + } +} +div.cell.selected.jupyter-soft-selected { + border-left-width: 0; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%); +} +.edit_mode div.cell.selected { + border-color: #66BB6A; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%); +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + min-width: 0; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding: 0.4em; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding: 0; + border: 0; + border-radius: 0; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul { + list-style: disc; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ul ul { + list-style: square; + margin: 0em 2em; +} +.rendered_html ul ul ul { + list-style: circle; + margin: 0em 2em; +} +.rendered_html ol { + list-style: decimal; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol { + list-style: lower-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; + margin: 0em 2em; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; + margin: 0em 2em; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; +} +.rendered_html pre, +.rendered_html code { + border: 0; + background-color: #fff; + color: #000; + font-size: 100%; + padding: 0px; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: 1px solid black; + border-collapse: collapse; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border: 1px solid black; + border-collapse: collapse; + margin: 1em 2em; +} +.rendered_html td, +.rendered_html th { + text-align: left; + vertical-align: middle; + padding: 4px; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget { + float: right !important; + float: right; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 21ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + margin-top: 6px; +} +span.save_widget span.filename { + height: 1em; + line-height: 1em; + padding: 3px; + margin-left: 16px; + border: none; + font-size: 146.5%; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + display: none; +} +.command-shortcut:before { + content: "(command)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + width: 100%; + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal .xterm-rows { + padding: 10px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow: visible; + padding: 8px; +} + +div#notebook { + overflow: visible; + border-top: none; +}@media print { + div.cell { + display: block; + page-break-inside: avoid; + } + div.output_wrapper { + display: block; + page-break-inside: avoid; + } + div.output { + display: block; + page-break-inside: avoid; + } +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +<!-- Loading mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --></head> +<body> + <div tabindex="-1" id="notebook" class="border-box-sizing"> + <div class="container" id="notebook-container"> + +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="Quick-description-of-how-to-use-the-deep-RL-policies-in-PyDial">Quick description of how to use the deep RL policies in PyDial<a class="anchor-link" href="#Quick-description-of-how-to-use-the-deep-RL-policies-in-PyDial">¶</a></h1><p>Note that this text is not in the quality of a full tutorial nor is it meant to be. Its purpose is merely to give guidance on how to use the deep RL policies which are part of the new PyDial release.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Running-the-algorithms-with-current-domains">Running the algorithms with current domains<a class="anchor-link" href="#Running-the-algorithms-with-current-domains">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>For the quick start with deepRL algorithms we suggests looking at the benchmarking paper:</p> +<p><a href="https://arxiv.org/abs/1711.11023">https://arxiv.org/abs/1711.11023</a></p> +<p>and following the guide at:</p> +<p><a href="http://www.camdial.org/pydial/benchmarks/">http://www.camdial.org/pydial/benchmarks/</a></p> +<p>so that you can reproduce the results.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Tests-with-the-new-domain">Tests with the new domain<a class="anchor-link" href="#Tests-with-the-new-domain">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>With a high probability you will have to make changes to the model when you will try to apply it to the new domain. +Neural network models are highly susceptible to the changes in architecture and training hyperparameters. That is why, +we added also a script that can help with finding right parameter set. The script is at:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">cd</span> <span class="n">scripts</span><span class="o">/</span><span class="n">gridengine</span><span class="o">/</span><span class="n">paramsearch</span><span class="o">/</span><span class="n">runScript</span><span class="o">.</span><span class="n">py</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The runScript.py is a wrapper over the repo. It enables to quickly run all policy models with different set-up of parameters. Inside the script you can specify the range of tested paramateres, number of training or testing dialogues, schedule of exploration and many other, model-specific hyperparameters.</p> +<p>The most influential parameters that are shared across all architectures are discussed below:</p> +<ul> +<li>learning_rate - all models are using currently ADAM optimizer however starting value of learning rate can heavily influence the results</li> +<li>capacity_vary - number of dialogues that is stored in the buffer, wrong values can lead to overfitting,</li> +<li>epsilon_s_e_vary - annealing of the epsilon-greedy policy, too small value at the start of the training leads to overfitting,</li> +<li>h1_size and h2_size - sizes of hidden layers that needs to be adapted to given domain</li> +</ul> +<p>Importance sampling mechanism for A2C and ENAC is implemented however is highly unstable. +To turn it on you have set importance_sampling parameter to True.</p> +<p>To run training just execute:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">python</span> <span class="n">runScript</span><span class="o">.</span><span class="n">py</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>and then to test:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">python</span> <span class="n">runScript</span><span class="o">.</span><span class="n">py</span> <span class="o">--</span><span class="n">test</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Results can be quickly then parsed by:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">python</span> <span class="n">parseResults_all</span><span class="o">.</span><span class="n">py</span> <span class="n">gRun</span> <span class="n">tra_</span> <span class="n">no_of_runs</span> <span class="o">.</span><span class="n">log</span> <span class="n">no_of_models</span> +</pre></div> + +</div> +</div> +</div> + +</div> + </div> + </div> +</body> + + + + +</html> diff --git a/Page/tutorials/Deep RL Policies.ipynb b/Page/tutorials/Deep RL Policies.ipynb new file mode 100644 index 0000000..d210f15 --- /dev/null +++ b/Page/tutorials/Deep RL Policies.ipynb @@ -0,0 +1,149 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Quick description of how to use the deep RL policies in PyDial\n", + "\n", + "Note that this text is not in the quality of a full tutorial nor is it meant to be. Its purpose is merely to give guidance on how to use the deep RL policies which are part of the new PyDial release.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Running the algorithms with current domains" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the quick start with deepRL algorithms we suggests looking at the benchmarking paper:\n", + "\n", + "https://arxiv.org/abs/1711.11023\n", + "\n", + "and following the guide at:\n", + "\n", + "http://www.camdial.org/pydial/benchmarks/\n", + "\n", + "so that you can reproduce the results. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Tests with the new domain" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With a high probability you will have to make changes to the model when you will try to apply it to the new domain.\n", + "Neural network models are highly susceptible to the changes in architecture and training hyperparameters. That is why,\n", + "we added also a script that can help with finding right parameter set. The script is at:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "cd scripts/gridengine/paramsearch/runScript.py" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The runScript.py is a wrapper over the repo. It enables to quickly run all policy models with different set-up of parameters. Inside the script you can specify the range of tested paramateres, number of training or testing dialogues, schedule of exploration and many other, model-specific hyperparameters.\n", + "\n", + "The most influential parameters that are shared across all architectures are discussed below:\n", + "\n", + "- learning_rate - all models are using currently ADAM optimizer however starting value of learning rate can heavily influence the results\n", + "- capacity_vary - number of dialogues that is stored in the buffer, wrong values can lead to overfitting,\n", + "- epsilon_s_e_vary - annealing of the epsilon-greedy policy, too small value at the start of the training leads to overfitting,\n", + "- h1_size and h2_size - sizes of hidden layers that needs to be adapted to given domain\n", + "\n", + "Importance sampling mechanism for A2C and ENAC is implemented however is highly unstable.\n", + "To turn it on you have set importance_sampling parameter to True.\n", + "\n", + "To run training just execute:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "python runScript.py" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "and then to test:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "python runScript.py --test" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Results can be quickly then parsed by:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "python parseResults_all.py gRun tra_ no_of_runs .log no_of_models" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Page/tutorials/Deep+RL+Policies.html b/Page/tutorials/Deep+RL+Policies.html new file mode 100644 index 0000000..d210f15 --- /dev/null +++ b/Page/tutorials/Deep+RL+Policies.html @@ -0,0 +1,149 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Quick description of how to use the deep RL policies in PyDial\n", + "\n", + "Note that this text is not in the quality of a full tutorial nor is it meant to be. Its purpose is merely to give guidance on how to use the deep RL policies which are part of the new PyDial release.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Running the algorithms with current domains" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the quick start with deepRL algorithms we suggests looking at the benchmarking paper:\n", + "\n", + "https://arxiv.org/abs/1711.11023\n", + "\n", + "and following the guide at:\n", + "\n", + "http://www.camdial.org/pydial/benchmarks/\n", + "\n", + "so that you can reproduce the results. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Tests with the new domain" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With a high probability you will have to make changes to the model when you will try to apply it to the new domain.\n", + "Neural network models are highly susceptible to the changes in architecture and training hyperparameters. That is why,\n", + "we added also a script that can help with finding right parameter set. The script is at:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "cd scripts/gridengine/paramsearch/runScript.py" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The runScript.py is a wrapper over the repo. It enables to quickly run all policy models with different set-up of parameters. Inside the script you can specify the range of tested paramateres, number of training or testing dialogues, schedule of exploration and many other, model-specific hyperparameters.\n", + "\n", + "The most influential parameters that are shared across all architectures are discussed below:\n", + "\n", + "- learning_rate - all models are using currently ADAM optimizer however starting value of learning rate can heavily influence the results\n", + "- capacity_vary - number of dialogues that is stored in the buffer, wrong values can lead to overfitting,\n", + "- epsilon_s_e_vary - annealing of the epsilon-greedy policy, too small value at the start of the training leads to overfitting,\n", + "- h1_size and h2_size - sizes of hidden layers that needs to be adapted to given domain\n", + "\n", + "Importance sampling mechanism for A2C and ENAC is implemented however is highly unstable.\n", + "To turn it on you have set importance_sampling parameter to True.\n", + "\n", + "To run training just execute:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "python runScript.py" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "and then to test:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "python runScript.py --test" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Results can be quickly then parsed by:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "python parseResults_all.py gRun tra_ no_of_runs .log no_of_models" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Page/tutorials/How to add a new domain.html b/Page/tutorials/How to add a new domain.html new file mode 100644 index 0000000..9c74a78 --- /dev/null +++ b/Page/tutorials/How to add a new domain.html @@ -0,0 +1,11934 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<title>How to add a new domain</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +@media (max-width: 991px) { + #ipython_notebook { + margin-left: 10px; + } +} +[dir="rtl"] #ipython_notebook { + float: right !important; +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#login_widget { + float: right; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + text-align: center; + vertical-align: middle; + display: inline; + opacity: 0; + z-index: 2; + width: 12ex; + margin-right: -12ex; +} +.alternate_upload .btn-upload { + height: 22px; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +[dir="rtl"] #tabs li { + float: right; +} +ul#tabs { + margin-bottom: 4px; +} +[dir="rtl"] ul#tabs { + margin-right: 0px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +[dir="rtl"] .list_toolbar .tree-buttons { + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-right { + padding-top: 1px; + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-left { + float: right !important; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: baseline; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +#tree-selector { + padding-right: 0px; +} +[dir="rtl"] #tree-selector a { + float: right; +} +#button-select-all { + min-width: 50px; +} +#select-all { + margin-left: 7px; + margin-right: 2px; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +[dir="rtl"] #new-menu { + text-align: right; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +[dir="rtl"] #running .col-sm-8 { + float: right !important; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight: bold; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + border-left-width: 1px; + padding-left: 5px; + background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} +div.cell.jupyter-soft-selected { + border-left-color: #90CAF9; + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected { + border-color: #ababab; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%); +} +@media print { + div.cell.selected { + border-color: transparent; + } +} +div.cell.selected.jupyter-soft-selected { + border-left-width: 0; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%); +} +.edit_mode div.cell.selected { + border-color: #66BB6A; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%); +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + min-width: 0; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding: 0.4em; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding: 0; + border: 0; + border-radius: 0; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul { + list-style: disc; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ul ul { + list-style: square; + margin: 0em 2em; +} +.rendered_html ul ul ul { + list-style: circle; + margin: 0em 2em; +} +.rendered_html ol { + list-style: decimal; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol { + list-style: lower-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; + margin: 0em 2em; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; + margin: 0em 2em; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; +} +.rendered_html pre, +.rendered_html code { + border: 0; + background-color: #fff; + color: #000; + font-size: 100%; + padding: 0px; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: 1px solid black; + border-collapse: collapse; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border: 1px solid black; + border-collapse: collapse; + margin: 1em 2em; +} +.rendered_html td, +.rendered_html th { + text-align: left; + vertical-align: middle; + padding: 4px; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget { + float: right !important; + float: right; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 21ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + margin-top: 6px; +} +span.save_widget span.filename { + height: 1em; + line-height: 1em; + padding: 3px; + margin-left: 16px; + border: none; + font-size: 146.5%; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + display: none; +} +.command-shortcut:before { + content: "(command)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + width: 100%; + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal .xterm-rows { + padding: 10px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow: visible; + padding: 8px; +} + +div#notebook { + overflow: visible; + border-top: none; +}@media print { + div.cell { + display: block; + page-break-inside: avoid; + } + div.output_wrapper { + display: block; + page-break-inside: avoid; + } + div.output { + display: block; + page-break-inside: avoid; + } +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +<!-- Loading mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --></head> +<body> + <div tabindex="-1" id="notebook" class="border-box-sizing"> + <div class="container" id="notebook-container"> + +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="How-to-add-a-new-domain">How to add a new domain<a class="anchor-link" href="#How-to-add-a-new-domain">¶</a></h1> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>One of the main aims of PyDial is to provide a common statistical dialogue system framework where people are able to create and evaluate dialogues about their own domain. Therefore, adding a new domain has been made very easy. All you need is the respective data base, e.g., about restaurants in Cambridge.</p> +<p>If your data is quite simple (like, eg. CamRestaurants) you might be able to use the ontology creation script explaine din the following section. If you have a more complex domain with custom queries, custom user gal selection, or custom simulator environment, you can learn to load your own implementations in the final section of this part of the tutorials.</p> +<h2 id="Creating-a-new-domain-using-ontologyTool.py">Creating a new domain using ontologyTool.py<a class="anchor-link" href="#Creating-a-new-domain-using-ontologyTool.py">¶</a></h2><p>The data base should contain one table containing all necessary information and meet the following requirements:</p> +<ul> +<li>The table name should be the same as of the identifyer of the resulting domain.</li> +<li>All binary slots (which can only hold yes/no values) should be represented as 0 for false and 1 for true.</li> +<li>The data base should be an SQLite data base.</li> +</ul> +<p>To create a new domain, all you need to do is to execute the following python tool:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">python</span> <span class="n">scripts</span><span class="o">/</span><span class="n">ontologyTool</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">n</span> <span class="o">-</span><span class="n">d</span> <span class="n">NEW_DOMAIN_NAME</span> <span class="o">-</span><span class="n">db</span> <span class="n">PATH_TO_DB_FILE</span> <span class="o">--</span><span class="nb">type</span> <span class="n">ENTITY_TYPE</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The type is the type of the entity contained in your data base. It may be used to distinguish between different domains. As an example, the call to the python script to create CamRestaurants would look like this:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">python</span> <span class="n">scripts</span><span class="o">/</span><span class="n">ontologyTool</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">n</span> <span class="o">-</span><span class="n">d</span> <span class="n">CamRestaurants</span> <span class="o">-</span><span class="n">db</span> <span class="n">ontology</span><span class="o">/</span><span class="n">ontologies</span><span class="o">/</span><span class="n">CamRestaurants</span><span class="o">-</span><span class="n">dbase</span><span class="o">.</span><span class="n">db</span> <span class="o">--</span><span class="nb">type</span> <span class="n">restaurant</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Doing this will lead you though a step-wise process where you have to select which columns of your data base table are part of which functional set of slots of the dialogue (informable, system requestable, requestable, binary).</p> +<p>First, the script asks for the informable slots. By pressing the number of a slot and confirming it with ENTER, the respective slot gets marked with a star. Once all slots have been chosen, simply press ENTER without a number and you can continue to selecting the next type of slots.</p> +<p>A screen shot showing the selection of all informable slots of CamRestaurants is shown in the following:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="createOntoCamRes.png" alt="Informable Slots of CamRestaurants" align="left" style="width:450px"/></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The slot types explained:</p> +<ul> +<li>informable: information the user can inform the system about, e.g., food or name</li> +<li>system requestable: information the system can actively ask the user about to elicit the user's goal, e.g., food but not name</li> +<li>requestable: information the user can request from the system</li> +<li>binary: information which is in the form of a yes/no or true/false</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Making-more-extensive-changes">Making more extensive changes<a class="anchor-link" href="#Making-more-extensive-changes">¶</a></h2><p>In this section, we describe how to customize domain behaviour and what to do if your database is not organised in one single table.</p> +<h3 id="Complex-table-structures">Complex table structures<a class="anchor-link" href="#Complex-table-structures">¶</a></h3><p>If you are able to create ontology rules in a flat format (like ontology/ontologies/CamRestaurants-rules.json) for your domain, you can still use pydial without major changes even if you r table structure is more complex. The Python module which handles each domain may be dynamically loaded using the config file. The respective config entries are in a new section called [ontology_<domainname>], e.g.:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">ontology_CamRestaurants</span><span class="p">]</span> +<span class="n">handler</span><span class="o">=</span><span class="n">ontology</span><span class="o">.</span><span class="n">FlatOntologyManager</span><span class="o">.</span><span class="n">FlatDomainOntology</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The module referenced above also provides the interface description to be used. Please refer to the tutorial "How to add your own module" for a general description on how to add new modules.</p> +<h3 id="Custom-simulator-behaviour">Custom simulator behaviour<a class="anchor-link" href="#Custom-simulator-behaviour">¶</a></h3><p>If you need custom user simulator behaviour, you can dynamically load own module implementations as well for the goal generator (which generates the user goals) and the user simulator model which is the core module describing the simulator behaviour. For the latter, there is currently only an implementation available using probabilistic rules but by loading a dyniamic module, this can easily be changed. The config settings are</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">usermodel_CamRestaurants</span><span class="p">]</span> +<span class="n">goalgenerator</span> <span class="o">=</span> <span class="n">usersimulator</span><span class="o">.</span><span class="n">UserModel</span><span class="o">.</span><span class="n">GoalGenerator</span> +<span class="n">usersimulator</span> <span class="o">=</span> <span class="n">usersimulator</span><span class="o">.</span><span class="n">UMHdcSim</span><span class="o">.</span><span class="n">UMHdcSim</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>For the interface definition of the goal generator, the above stated class is used. For the user simulator, all classes inherit from usersimulator.UMSimulator.UMSimulator.</p> + +</div> +</div> +</div> + </div> + </div> +</body> + + + + +</html> diff --git a/Page/tutorials/How to add a new domain.ipynb b/Page/tutorials/How to add a new domain.ipynb new file mode 100644 index 0000000..f31b07b --- /dev/null +++ b/Page/tutorials/How to add a new domain.ipynb @@ -0,0 +1,164 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# How to add a new domain" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "One of the main aims of PyDial is to provide a common statistical dialogue system framework where people are able to create and evaluate dialogues about their own domain. Therefore, adding a new domain has been made very easy. All you need is the respective data base, e.g., about restaurants in Cambridge.\n", + "\n", + "If your data is quite simple (like, eg. CamRestaurants) you might be able to use the ontology creation script explaine din the following section. If you have a more complex domain with custom queries, custom user gal selection, or custom simulator environment, you can learn to load your own implementations in the final section of this part of the tutorials.\n", + "\n", + "## Creating a new domain using ontologyTool.py\n", + "\n", + "The data base should contain one table containing all necessary information and meet the following requirements:\n", + "- The table name should be the same as of the identifyer of the resulting domain.\n", + "- All binary slots (which can only hold yes/no values) should be represented as 0 for false and 1 for true.\n", + "- The data base should be an SQLite data base.\n", + "\n", + "To create a new domain, all you need to do is to execute the following python tool:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "python scripts/ontologyTool.py -n -d NEW_DOMAIN_NAME -db PATH_TO_DB_FILE --type ENTITY_TYPE" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The type is the type of the entity contained in your data base. It may be used to distinguish between different domains. As an example, the call to the python script to create CamRestaurants would look like this:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "python scripts/ontologyTool.py -n -d CamRestaurants -db ontology/ontologies/CamRestaurants-dbase.db --type restaurant" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Doing this will lead you though a step-wise process where you have to select which columns of your data base table are part of which functional set of slots of the dialogue (informable, system requestable, requestable, binary).\n", + "\n", + "First, the script asks for the informable slots. By pressing the number of a slot and confirming it with ENTER, the respective slot gets marked with a star. Once all slots have been chosen, simply press ENTER without a number and you can continue to selecting the next type of slots.\n", + "\n", + "A screen shot showing the selection of all informable slots of CamRestaurants is shown in the following:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<img src=\"createOntoCamRes.png\" alt=\"Informable Slots of CamRestaurants\" align=\"left\" style=\"width:450px\"/>" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The slot types explained:\n", + "- informable: information the user can inform the system about, e.g., food or name\n", + "- system requestable: information the system can actively ask the user about to elicit the user's goal, e.g., food but not name\n", + "- requestable: information the user can request from the system\n", + "- binary: information which is in the form of a yes/no or true/false" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Making more extensive changes\n", + "\n", + "In this section, we describe how to customize domain behaviour and what to do if your database is not organised in one single table.\n", + "\n", + "### Complex table structures\n", + "\n", + "If you are able to create ontology rules in a flat format (like ontology/ontologies/CamRestaurants-rules.json) for your domain, you can still use pydial without major changes even if you r table structure is more complex. The Python module which handles each domain may be dynamically loaded using the config file. The respective config entries are in a new section called [ontology_<domainname>], e.g.:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[ontology_CamRestaurants]\n", + "handler=ontology.FlatOntologyManager.FlatDomainOntology" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The module referenced above also provides the interface description to be used. Please refer to the tutorial \"How to add your own module\" for a general description on how to add new modules.\n", + "\n", + "### Custom simulator behaviour\n", + "\n", + "If you need custom user simulator behaviour, you can dynamically load own module implementations as well for the goal generator (which generates the user goals) and the user simulator model which is the core module describing the simulator behaviour. For the latter, there is currently only an implementation available using probabilistic rules but by loading a dyniamic module, this can easily be changed. The config settings are" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[usermodel_CamRestaurants]\n", + "goalgenerator = usersimulator.UserModel.GoalGenerator\n", + "usersimulator = usersimulator.UMHdcSim.UMHdcSim" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the interface definition of the goal generator, the above stated class is used. For the user simulator, all classes inherit from usersimulator.UMSimulator.UMSimulator." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Page/tutorials/How to add your own module.html b/Page/tutorials/How to add your own module.html new file mode 100644 index 0000000..e006a21 --- /dev/null +++ b/Page/tutorials/How to add your own module.html @@ -0,0 +1,12097 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<title>How to add your own module</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +@media (max-width: 991px) { + #ipython_notebook { + margin-left: 10px; + } +} +[dir="rtl"] #ipython_notebook { + float: right !important; +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#login_widget { + float: right; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + text-align: center; + vertical-align: middle; + display: inline; + opacity: 0; + z-index: 2; + width: 12ex; + margin-right: -12ex; +} +.alternate_upload .btn-upload { + height: 22px; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +[dir="rtl"] #tabs li { + float: right; +} +ul#tabs { + margin-bottom: 4px; +} +[dir="rtl"] ul#tabs { + margin-right: 0px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +[dir="rtl"] .list_toolbar .tree-buttons { + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-right { + padding-top: 1px; + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-left { + float: right !important; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: baseline; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +#tree-selector { + padding-right: 0px; +} +[dir="rtl"] #tree-selector a { + float: right; +} +#button-select-all { + min-width: 50px; +} +#select-all { + margin-left: 7px; + margin-right: 2px; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +[dir="rtl"] #new-menu { + text-align: right; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +[dir="rtl"] #running .col-sm-8 { + float: right !important; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight: bold; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + border-left-width: 1px; + padding-left: 5px; + background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} +div.cell.jupyter-soft-selected { + border-left-color: #90CAF9; + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected { + border-color: #ababab; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%); +} +@media print { + div.cell.selected { + border-color: transparent; + } +} +div.cell.selected.jupyter-soft-selected { + border-left-width: 0; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%); +} +.edit_mode div.cell.selected { + border-color: #66BB6A; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%); +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + min-width: 0; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding: 0.4em; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding: 0; + border: 0; + border-radius: 0; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul { + list-style: disc; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ul ul { + list-style: square; + margin: 0em 2em; +} +.rendered_html ul ul ul { + list-style: circle; + margin: 0em 2em; +} +.rendered_html ol { + list-style: decimal; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol { + list-style: lower-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; + margin: 0em 2em; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; + margin: 0em 2em; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; +} +.rendered_html pre, +.rendered_html code { + border: 0; + background-color: #fff; + color: #000; + font-size: 100%; + padding: 0px; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: 1px solid black; + border-collapse: collapse; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border: 1px solid black; + border-collapse: collapse; + margin: 1em 2em; +} +.rendered_html td, +.rendered_html th { + text-align: left; + vertical-align: middle; + padding: 4px; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget { + float: right !important; + float: right; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 21ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + margin-top: 6px; +} +span.save_widget span.filename { + height: 1em; + line-height: 1em; + padding: 3px; + margin-left: 16px; + border: none; + font-size: 146.5%; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + display: none; +} +.command-shortcut:before { + content: "(command)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + width: 100%; + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal .xterm-rows { + padding: 10px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow: visible; + padding: 8px; +} + +div#notebook { + overflow: visible; + border-top: none; +}@media print { + div.cell { + display: block; + page-break-inside: avoid; + } + div.output_wrapper { + display: block; + page-break-inside: avoid; + } + div.output { + display: block; + page-break-inside: avoid; + } +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +<!-- Loading mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --></head> +<body> + <div tabindex="-1" id="notebook" class="border-box-sizing"> + <div class="container" id="notebook-container"> + +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="How-to-add-your-own-module">How to add your own module<a class="anchor-link" href="#How-to-add-your-own-module">¶</a></h1> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>One of the main aims of PyDial is to provide a common statistical dialogue system framework where people are able to integrate and evaluate their own models. Having this in mind, CUED-PyDial has been designed to offer clearly defined interfaces for the main modules. To understand this, we first have to look at PyDial's acchitecture.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="The-modular-structure-of-PyDial">The modular structure of PyDial<a class="anchor-link" href="#The-modular-structure-of-PyDial">¶</a></h2><p>PyDial is based on a modular architecture as presented in the following figure. Multi-domain capability is achieved using a topic tracker which identifies the topic of the input. Based on that, domain-specific instances of all downstream modules are used.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="pydial.png" alt="PyDial Architecture" align="left" style="width:600px"/></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Creating-new-modules">Creating new modules<a class="anchor-link" href="#Creating-new-modules">¶</a></h2><p>For easy integration of own modules, Pydial provides simple interface classes for the following modules:</p> +<ul> +<li>Topic Tracking: topictracking.RuleTopicTrackers.TopicTrackerInterface</li> +<li>Semantic Belief Tracking (from words to belief state): semanticbelieftracking.SemanticBeliefTrackingManager.SemanticBeliefTracker</li> +<li>Semantic Decoding (from words to semantics): semi.SemI.SemI</li> +<li>Belief Tracking (from semantics to belief state): belieftracking.BeliefTracker.BeliefTracker</li> +<li>Policy: policy.Policy.Policy</li> +<li>Language Generation: semo.SemOManager.SemO</li> +<li>Evaluation: EvaluationManager.Evaluator</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Each of these modules is modelled in a similar way. As PyDial's main objective is to provide a multi-domain dialogue platform, a concept called manager is introduced. It handles the domain instances of each module using a dictionary-like structure.</p> +<p>The domain-instances are organised using an abstract class containing all general behaviour and defining the interface to the component as shown in the following figure. By that, implementing own modules which are not already contained in PyDial is straightforward.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="pydial_policy.png" alt="PyDial Manager Example" align="left" width="700"/></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>To implement your own module, have a look at the interface class and identify the methods you are supposed to override in a sub-class. To user your module, you have to specify the class in the config file. An example of modules which are loaded dynamically can be found in config/dynamically_load_modules.cfg.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Example:-Creating-a-new-parrot-policy">Example: Creating a new parrot policy<a class="anchor-link" href="#Example:-Creating-a-new-parrot-policy">¶</a></h2><p>In this example, a new policy class is created which simply takes the user action and returns it as a system action (just like a parrot always mirroring the user). To do this, the first step is to create a new class which inherits from policy.Policy.Policy:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">from</span> <span class="nn">policy</span> <span class="kn">import</span> <span class="n">Policy</span> + +<span class="k">class</span> <span class="nc">Parrot</span><span class="p">(</span><span class="n">Policy</span><span class="o">.</span><span class="n">Policy</span><span class="p">):</span> + <span class="k">pass</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The most important method to inherit from Policy is nextAction(beliefState) which takes the belief state as input and produces the new system action.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">from</span> <span class="nn">policy</span> <span class="kn">import</span> <span class="n">Policy</span> + +<span class="k">class</span> <span class="nc">Parrot</span><span class="p">(</span><span class="n">Policy</span><span class="o">.</span><span class="n">Policy</span><span class="p">):</span> + <span class="k">def</span> <span class="nf">nextAction</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">beliefstate</span><span class="p">):</span> + <span class="k">pass</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>To implement the parrot behaviour, we have to extract the last user input from the belief state, parse it a bit and then return it. In the beginning, we default to the hello() system act. The final class definition is as follows:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="kn">from</span> <span class="nn">policy</span> <span class="kn">import</span> <span class="n">Policy</span> +<span class="kn">import</span> <span class="nn">re</span> + +<span class="k">class</span> <span class="nc">Parrot</span><span class="p">(</span><span class="n">Policy</span><span class="o">.</span><span class="n">Policy</span><span class="p">):</span> + <span class="k">def</span> <span class="nf">nextAction</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">beliefstate</span><span class="p">):</span> + <span class="n">userActs</span> <span class="o">=</span> <span class="n">beliefstate</span><span class="p">[</span><span class="s1">'userActs'</span><span class="p">]</span> + <span class="k">if</span> <span class="n">userActs</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> + <span class="n">systemAct</span> <span class="o">=</span> <span class="n">userActs</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">systemAct</span> <span class="o">=</span> <span class="s2">"hello()"</span> + + <span class="k">return</span> <span class="n">systemAct</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>To allow PyDial to use the new class, the module must reside in a package which is accessible by the python path. For this example, the file (let's use Parrot.py) can simply be stored in PyDial's root folder. To use it, the config file must be altered accordingly. The policy is defined within the [Policy_domain] section with the entry policytype. If we assume a dialogue in the CamRestaurants domain, the respective entry in the config file may look like this:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">policy_CamRestaurants</span><span class="p">]</span> +<span class="n">belieftype</span> <span class="o">=</span> <span class="n">belieftracking</span><span class="o">.</span><span class="n">baseline</span><span class="o">.</span><span class="n">BaselineTracker</span> +<span class="n">policytype</span> <span class="o">=</span> <span class="n">Parrot</span><span class="o">.</span><span class="n">Parrot</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can now test your policy using the chat. Note that even though the dialogue acts are mirrored the actual language response is different due to the way the language generator works.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Object-format-definitions">Object format definitions<a class="anchor-link" href="#Object-format-definitions">¶</a></h2><p>CUED-PyDial uses the following structures to pass information among the modules:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="User-Acts">User Acts<a class="anchor-link" href="#User-Acts">¶</a></h3><p>User acts are represented as strings contining of an intent and a list of slots or slot-value-pairs. Here is a list of system actions the system currently uses:</p> +<ul> +<li>request(slot)</li> +<li>inform(slot=value)</li> +<li>confirm(slot=value)</li> +<li>confreq(slot=value,slot)</li> +<li>affirm()</li> +<li>hello()</li> +<li>negate()</li> +<li>repeat()</li> +<li>requalts()</li> +<li>bye()</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Belief-State">Belief State<a class="anchor-link" href="#Belief-State">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The belief state is encapsulated in a DialogueState object. Inside, the belief of each domain is modelled using a dictionary with the following structure:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">{</span><span class="s1">'beliefs'</span><span class="p">:</span> <span class="p">{</span><span class="sa">u</span><span class="s1">'informable_slot1'</span><span class="p">:</span> <span class="p">{</span><span class="s1">'**NONE**'</span><span class="p">:</span> <span class="mf">1.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'value1'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'value2'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="o">...</span> <span class="p">},</span> + <span class="sa">u</span><span class="s1">'informable_slot2'</span><span class="p">:</span> <span class="p">{</span><span class="s1">'**NONE**'</span><span class="p">:</span> <span class="mf">1.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'value1'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'value2'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="o">...</span> <span class="p">},</span> + <span class="o">...</span> + <span class="s1">'discourseAct'</span><span class="p">:</span> <span class="p">{</span><span class="sa">u</span><span class="s1">'ack'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="s1">'bye'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'hello'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'none'</span><span class="p">:</span> <span class="mf">1.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'repeat'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'silence'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'thankyou'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">},</span> + <span class="s1">'method'</span><span class="p">:</span> <span class="p">{</span><span class="sa">u</span><span class="s1">'byalternatives'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'byconstraints'</span><span class="p">:</span> <span class="mf">0.5</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'byname'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'finished'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'none'</span><span class="p">:</span> <span class="mf">0.5</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'restart'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">},</span> + <span class="s1">'requested'</span><span class="p">:</span> <span class="p">{</span><span class="sa">u</span><span class="s1">'infromable_slot1'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'informable_slot2'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="o">...</span> + <span class="sa">u</span><span class="s1">'requestable_slot1'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="sa">u</span><span class="s1">'requestable_slot2'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">,</span> + <span class="o">...</span> + <span class="sa">u</span><span class="s1">'name'</span><span class="p">:</span> <span class="mf">0.0</span><span class="p">}},</span> + <span class="s1">'userActs'</span><span class="p">:</span> <span class="p">[(</span><span class="s1">'hypo1'</span><span class="p">,</span> <span class="mf">0.8</span><span class="p">),(</span><span class="s1">'hypo2'</span><span class="p">,</span><span class="mf">0.1</span><span class="p">),</span><span class="o">...</span><span class="p">]}</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The actual values for and with the informable_slot, the discourseAct, the method and the requested fields is directly extracted from the ontology file. While informable_slot, discourseAct and method all represent a probability distribution, ie, the numerical values of each field sum up to 1, this is different for the requested field. There, each of the numerical values may be in [0,1].</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="System-Acts">System Acts<a class="anchor-link" href="#System-Acts">¶</a></h3><p>System acts are represented as strings contining of an intent and a list of slots or slot-value-pairs. Here is a list of system actions the system currently uses:</p> +<ul> +<li>request(slot)</li> +<li>inform(slot=value, ...)</li> +<li>confirm(slot=value)</li> +<li>affirm()</li> +<li>hello()</li> +<li>negate()</li> +<li>repeat()</li> +<li>requalts()</li> +<li>bye()</li> +</ul> + +</div> +</div> +</div> + </div> + </div> +</body> + + + + +</html> diff --git a/Page/tutorials/How to add your own module.ipynb b/Page/tutorials/How to add your own module.ipynb new file mode 100644 index 0000000..e4203b6 --- /dev/null +++ b/Page/tutorials/How to add your own module.ipynb @@ -0,0 +1,310 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# How to add your own module" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "One of the main aims of PyDial is to provide a common statistical dialogue system framework where people are able to integrate and evaluate their own models. Having this in mind, CUED-PyDial has been designed to offer clearly defined interfaces for the main modules. To understand this, we first have to look at PyDial's acchitecture." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## The modular structure of PyDial\n", + "\n", + "PyDial is based on a modular architecture as presented in the following figure. Multi-domain capability is achieved using a topic tracker which identifies the topic of the input. Based on that, domain-specific instances of all downstream modules are used." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<img src=\"pydial.png\" alt=\"PyDial Architecture\" align=\"left\" style=\"width:600px\"/>" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Creating new modules\n", + "\n", + "For easy integration of own modules, Pydial provides simple interface classes for the following modules:\n", + "* Topic Tracking: topictracking.RuleTopicTrackers.TopicTrackerInterface\n", + "* Semantic Belief Tracking (from words to belief state): semanticbelieftracking.SemanticBeliefTrackingManager.SemanticBeliefTracker\n", + "* Semantic Decoding (from words to semantics): semi.SemI.SemI\n", + "* Belief Tracking (from semantics to belief state): belieftracking.BeliefTracker.BeliefTracker\n", + "* Policy: policy.Policy.Policy\n", + "* Language Generation: semo.SemOManager.SemO\n", + "* Evaluation: EvaluationManager.Evaluator" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each of these modules is modelled in a similar way. As PyDial's main objective is to provide a multi-domain dialogue platform, a concept called manager is introduced. It handles the domain instances of each module using a dictionary-like structure.\n", + "\n", + "The domain-instances are organised using an abstract class containing all general behaviour and defining the interface to the component as shown in the following figure. By that, implementing own modules which are not already contained in PyDial is straightforward." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<img src=\"pydial_policy.png\" alt=\"PyDial Manager Example\" align=\"left\" width=\"700\"/>" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To implement your own module, have a look at the interface class and identify the methods you are supposed to override in a sub-class. To user your module, you have to specify the class in the config file. An example of modules which are loaded dynamically can be found in config/dynamically_load_modules.cfg." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example: Creating a new parrot policy\n", + "\n", + "In this example, a new policy class is created which simply takes the user action and returns it as a system action (just like a parrot always mirroring the user). To do this, the first step is to create a new class which inherits from policy.Policy.Policy:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from policy import Policy\n", + "\n", + "class Parrot(Policy.Policy):\n", + " pass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The most important method to inherit from Policy is nextAction(beliefState) which takes the belief state as input and produces the new system action. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from policy import Policy\n", + "\n", + "class Parrot(Policy.Policy):\n", + " def nextAction(self, beliefstate):\n", + " pass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To implement the parrot behaviour, we have to extract the last user input from the belief state, parse it a bit and then return it. In the beginning, we default to the hello() system act. The final class definition is as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from policy import Policy\n", + "import re\n", + "\n", + "class Parrot(Policy.Policy): \n", + " def nextAction(self, beliefstate):\n", + " userActs = beliefstate['userActs']\n", + " if userActs is not None:\n", + " systemAct = userActs[0][0]\n", + " else:\n", + " systemAct = \"hello()\"\n", + " \n", + " return systemAct " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "To allow PyDial to use the new class, the module must reside in a package which is accessible by the python path. For this example, the file (let's use Parrot.py) can simply be stored in PyDial's root folder. To use it, the config file must be altered accordingly. The policy is defined within the [Policy_domain] section with the entry policytype. If we assume a dialogue in the CamRestaurants domain, the respective entry in the config file may look like this:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[policy_CamRestaurants]\n", + "belieftype = belieftracking.baseline.BaselineTracker\n", + "policytype = Parrot.Parrot" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can now test your policy using the chat. Note that even though the dialogue acts are mirrored the actual language response is different due to the way the language generator works." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Object format definitions\n", + "\n", + "CUED-PyDial uses the following structures to pass information among the modules:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "### User Acts\n", + "\n", + "User acts are represented as strings contining of an intent and a list of slots or slot-value-pairs. Here is a list of system actions the system currently uses:\n", + "\n", + "* request(slot)\n", + "* inform(slot=value)\n", + "* confirm(slot=value)\n", + "* confreq(slot=value,slot)\n", + "* affirm()\n", + "* hello()\n", + "* negate()\n", + "* repeat()\n", + "* requalts()\n", + "* bye()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Belief State" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The belief state is encapsulated in a DialogueState object. Inside, the belief of each domain is modelled using a dictionary with the following structure:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "{'beliefs': {u'informable_slot1': {'**NONE**': 1.0,\n", + " u'value1': 0.0,\n", + " u'value2': 0.0,\n", + " ... },\n", + " u'informable_slot2': {'**NONE**': 1.0,\n", + " u'value1': 0.0,\n", + " u'value2': 0.0,\n", + " ... },\n", + " ...\n", + " 'discourseAct': {u'ack': 0.0,\n", + " 'bye': 0.0,\n", + " u'hello': 0.0,\n", + " u'none': 1.0,\n", + " u'repeat': 0.0,\n", + " u'silence': 0.0,\n", + " u'thankyou': 0.0},\n", + " 'method': {u'byalternatives': 0.0,\n", + " u'byconstraints': 0.5,\n", + " u'byname': 0.0,\n", + " u'finished': 0.0,\n", + " u'none': 0.5,\n", + " u'restart': 0.0},\n", + " 'requested': {u'infromable_slot1': 0.0,\n", + " u'informable_slot2': 0.0,\n", + " ...\n", + " u'requestable_slot1': 0.0,\n", + " u'requestable_slot2': 0.0,\n", + " ...\n", + " u'name': 0.0}},\n", + " 'userActs': [('hypo1', 0.8),('hypo2',0.1),...]}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The actual values for and with the informable_slot, the discourseAct, the method and the requested fields is directly extracted from the ontology file. While informable_slot, discourseAct and method all represent a probability distribution, ie, the numerical values of each field sum up to 1, this is different for the requested field. There, each of the numerical values may be in [0,1]." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### System Acts\n", + "System acts are represented as strings contining of an intent and a list of slots or slot-value-pairs. Here is a list of system actions the system currently uses:\n", + "* request(slot)\n", + "* inform(slot=value, ...)\n", + "* confirm(slot=value)\n", + "* affirm()\n", + "* hello()\n", + "* negate()\n", + "* repeat()\n", + "* requalts()\n", + "* bye()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Page/tutorials/Introduction to PyDial.html b/Page/tutorials/Introduction to PyDial.html new file mode 100644 index 0000000..085c4b1 --- /dev/null +++ b/Page/tutorials/Introduction to PyDial.html @@ -0,0 +1,12426 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<title>Introduction to PyDial</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +@media (max-width: 991px) { + #ipython_notebook { + margin-left: 10px; + } +} +[dir="rtl"] #ipython_notebook { + float: right !important; +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#login_widget { + float: right; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + text-align: center; + vertical-align: middle; + display: inline; + opacity: 0; + z-index: 2; + width: 12ex; + margin-right: -12ex; +} +.alternate_upload .btn-upload { + height: 22px; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +[dir="rtl"] #tabs li { + float: right; +} +ul#tabs { + margin-bottom: 4px; +} +[dir="rtl"] ul#tabs { + margin-right: 0px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +[dir="rtl"] .list_toolbar .tree-buttons { + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-right { + padding-top: 1px; + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-left { + float: right !important; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: baseline; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +#tree-selector { + padding-right: 0px; +} +[dir="rtl"] #tree-selector a { + float: right; +} +#button-select-all { + min-width: 50px; +} +#select-all { + margin-left: 7px; + margin-right: 2px; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +[dir="rtl"] #new-menu { + text-align: right; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +[dir="rtl"] #running .col-sm-8 { + float: right !important; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight: bold; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + border-left-width: 1px; + padding-left: 5px; + background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} +div.cell.jupyter-soft-selected { + border-left-color: #90CAF9; + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected { + border-color: #ababab; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%); +} +@media print { + div.cell.selected { + border-color: transparent; + } +} +div.cell.selected.jupyter-soft-selected { + border-left-width: 0; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%); +} +.edit_mode div.cell.selected { + border-color: #66BB6A; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%); +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + min-width: 0; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding: 0.4em; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding: 0; + border: 0; + border-radius: 0; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul { + list-style: disc; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ul ul { + list-style: square; + margin: 0em 2em; +} +.rendered_html ul ul ul { + list-style: circle; + margin: 0em 2em; +} +.rendered_html ol { + list-style: decimal; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol { + list-style: lower-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; + margin: 0em 2em; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; + margin: 0em 2em; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; +} +.rendered_html pre, +.rendered_html code { + border: 0; + background-color: #fff; + color: #000; + font-size: 100%; + padding: 0px; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: 1px solid black; + border-collapse: collapse; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border: 1px solid black; + border-collapse: collapse; + margin: 1em 2em; +} +.rendered_html td, +.rendered_html th { + text-align: left; + vertical-align: middle; + padding: 4px; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget { + float: right !important; + float: right; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 21ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + margin-top: 6px; +} +span.save_widget span.filename { + height: 1em; + line-height: 1em; + padding: 3px; + margin-left: 16px; + border: none; + font-size: 146.5%; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + display: none; +} +.command-shortcut:before { + content: "(command)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + width: 100%; + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal .xterm-rows { + padding: 10px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow: visible; + padding: 8px; +} + +div#notebook { + overflow: visible; + border-top: none; +}@media print { + div.cell { + display: block; + page-break-inside: avoid; + } + div.output_wrapper { + display: block; + page-break-inside: avoid; + } + div.output { + display: block; + page-break-inside: avoid; + } +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +<!-- Loading mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --></head> +<body> + <div tabindex="-1" id="notebook" class="border-box-sizing"> + <div class="container" id="notebook-container"> + +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="Introduction-to-PyDial">Introduction to PyDial<a class="anchor-link" href="#Introduction-to-PyDial">¶</a></h1> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In this short tutorial you will install and explore the most important parts of PyDial so that you can start using and extending the existing architecture.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Content:">Content:<a class="anchor-link" href="#Content:">¶</a></h2><ul> +<li><a href="#first-bullet">Installation</a></li> +<li><a href="#second-bullet">Interacting with the system</a></li> +<li><a href="#third-bullet">Training a policy</a><ul> +<li><a href="#5-bullet">Learning</a></li> +<li><a href="#6-bullet">Visualising the results</a></li> +<li><a href="#4-bullet">Configuration file</a></li> +<li><a href="#7-bullet">More detailed configuration</a></li> +</ul> +</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Installation-">Installation <a class="anchor" id="first-bullet" /><a class="anchor-link" href="#Installation-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Firstly, install the repository on your disk and cd to it:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">bitbucket</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">dialoguesystems</span><span class="o">/</span><span class="n">pydial</span><span class="o">.</span><span class="n">git</span> +<span class="n">cd</span> <span class="n">cued</span><span class="o">-</span><span class="n">pydial</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Now, ensure that you use the requirements.txt file to install the appropriate dependencies via pip. You can install +pip using easy_install. It is suggested that all packages are installed in your local directory by including the --user option:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">sudo</span> <span class="n">easy_install</span> <span class="n">pip</span> +<span class="n">pip</span> <span class="n">install</span> <span class="o">--</span><span class="n">user</span> <span class="o">-</span><span class="n">r</span> <span class="n">requirements</span><span class="o">.</span><span class="n">txt</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Note: PyDial doesn't depend on many repositories. Nevertheless, it is suggested that the repo and its dependencies are +installed in a virtual environment (see <a href="http://docs.python-guide.org/en/latest/dev/virtualenvs/">http://docs.python-guide.org/en/latest/dev/virtualenvs/</a>).</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Interacting-with-the-system-">Interacting with the system <a class="anchor" id="second-bullet" /><a class="anchor-link" href="#Interacting-with-the-system-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Let's start by exploring the basic PyDial system using the pydial.py script. This script is a command-line driven wrapper +that enables you to chat, train and test architectures, and plot performance data in PyDial.</p> +<p>Firstly, change the permission for the script pydial.py to make it executable and add a symbolic link to it (eg. pydial) +from your local bin directory so you can run the script from the terminal.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">chmod</span> <span class="mi">700</span> <span class="n">pydial</span><span class="o">.</span><span class="n">py</span> +<span class="n">ln</span> <span class="o">-</span><span class="n">s</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">repository</span><span class="o">/</span><span class="n">cued</span><span class="o">-</span><span class="n">pydial</span><span class="o">/</span><span class="n">pydial</span><span class="o">.</span><span class="n">py</span> <span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="n">local</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">pydial</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>To have a chat session run:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">config</span><span class="o">/</span><span class="n">Tut</span><span class="o">-</span><span class="n">hdc</span><span class="o">-</span><span class="n">CamInfo</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>where the configuration file specifies all the parameters needed to run the system. Now you can get to know your favourite restaurant in Cambridge or book a room in some hotel. An example of dialogue is shown below:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="o">></span> <span class="n">pydial</span> <span class="n">chat</span> <span class="n">config</span><span class="o">/</span><span class="n">Tut</span><span class="o">-</span><span class="n">hdc</span><span class="o">-</span><span class="n">CamInfo</span><span class="o">.</span><span class="n">cfg</span> +<span class="o">***</span> <span class="n">Chatting</span> <span class="k">with</span> <span class="n">policies</span> <span class="p">[</span><span class="s1">'CamRestaurants'</span><span class="p">,</span> <span class="s1">'CamHotels'</span><span class="p">]:</span> <span class="o">***</span> +<span class="n">Prompt</span> <span class="o">></span> <span class="n">Hello</span><span class="p">,</span> <span class="n">welcome</span> <span class="n">to</span> <span class="n">the</span> <span class="n">Cambridge</span> <span class="n">Multi</span><span class="o">-</span> <span class="n">Domain</span> <span class="n">dialogue</span> <span class="n">system</span><span class="o">.</span> <span class="n">How</span> <span class="n">may</span> <span class="n">I</span> <span class="n">help</span> <span class="n">you</span><span class="err">?</span><span class="o">.</span> +<span class="n">User</span> <span class="o">></span> <span class="n">I</span> <span class="n">want</span> <span class="n">a</span> <span class="n">cheap</span> <span class="n">hotel</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">centre</span> <span class="n">of</span> <span class="n">town</span><span class="o">.</span> +<span class="n">Prompt</span> <span class="o">></span> <span class="n">I</span> <span class="n">am</span> <span class="n">sorry</span> <span class="n">but</span> <span class="n">there</span> <span class="ow">is</span> <span class="n">no</span> <span class="n">place</span><span class="p">,</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">hotel</span><span class="p">,</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">cheap</span> <span class="n">price</span> <span class="nb">range</span> <span class="ow">and</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">area</span> <span class="n">of</span> <span class="n">centre</span><span class="o">.</span> +<span class="n">User</span> <span class="o">></span> <span class="n">Ok</span><span class="p">,</span> <span class="n">how</span> <span class="n">about</span> <span class="n">a</span> <span class="n">moderately</span> <span class="n">priced</span> hotel<span class="o">?</span> +<span class="n">Prompt</span> <span class="o">></span> <span class="n">Cityroomz</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">nice</span> <span class="n">place</span><span class="p">,</span> <span class="n">it</span> <span class="ow">is</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">moderate</span> <span class="n">price</span> <span class="nb">range</span> <span class="p">,</span> <span class="n">it</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">hotel</span> <span class="ow">and</span> <span class="n">it</span> <span class="ow">is</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">centre</span> <span class="n">of</span> <span class="n">town</span><span class="o">.</span> +<span class="n">User</span> <span class="o">></span> <span class="n">What</span> <span class="ow">is</span> <span class="n">the</span> <span class="n">phone</span> number<span class="o">?</span> +<span class="n">Prompt</span> <span class="o">></span> <span class="n">Cityroomz</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">nice</span> <span class="n">place</span> <span class="n">Their</span> <span class="n">phone</span> <span class="n">number</span> <span class="ow">is</span> <span class="mf">01223304050.</span> +<span class="n">User</span> <span class="o">></span> <span class="n">I</span> <span class="n">would</span> <span class="n">also</span> <span class="n">like</span> <span class="n">a</span> <span class="n">cheap</span> <span class="n">chinese</span> <span class="n">restaurant</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">centre</span><span class="o">.</span> +<span class="n">Prompt</span> <span class="o">></span> <span class="n">Golden</span> <span class="n">house</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">nice</span> <span class="n">place</span><span class="p">,</span> <span class="n">it</span> <span class="ow">is</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">centre</span> <span class="n">of</span> <span class="n">town</span><span class="p">,</span> <span class="n">it</span> <span class="ow">is</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">cheap</span> <span class="n">price</span> <span class="nb">range</span> <span class="ow">and</span> <span class="n">it</span> <span class="n">serves</span> <span class="n">chinese</span> <span class="n">food</span><span class="o">.</span> +<span class="n">User</span> <span class="o">></span> <span class="n">What</span> <span class="ow">is</span> <span class="n">the</span> address<span class="o">?</span> +<span class="n">Prompt</span> <span class="o">></span> <span class="n">Golden</span> <span class="n">house</span> <span class="ow">is</span> <span class="n">a</span> <span class="n">nice</span> <span class="n">place</span><span class="o">.</span> <span class="n">Their</span> <span class="n">address</span> <span class="ow">is</span> <span class="mi">12</span> <span class="n">Lensfield</span> <span class="n">Road</span><span class="p">,</span> <span class="n">City</span> <span class="n">Centre</span><span class="o">.</span> +<span class="n">User</span> <span class="o">></span> <span class="n">Goodbye</span><span class="o">.</span> +<span class="n">Prompt</span> <span class="o">></span> <span class="n">Thank</span> <span class="n">you</span><span class="p">,</span> <span class="n">goodbye</span><span class="o">.</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The conversation is divided into turns. Each turn consists of a system act which is converted to a prompt by the generation module, followed by a user response which is converted to a user dialogue act by the semantic decoder. +A more detailed trace of the dialogue is stored in the log file _tutoriallogs/Tut-hdc-CamInfo-00.0.chat.log. The first few lines of this log file are shown below (truncated and reformated slightly to fit on a page):</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span> <span class="n">FlatOntologyManager</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_set_ontology</span><span class="o">></span><span class="mi">126</span> <span class="p">:</span> <span class="n">Loading</span> <span class="n">ontology</span><span class="p">:</span> <span class="n">ontology</span><span class="o">/</span><span class="n">ontologies</span><span class="o">/</span><span class="n">CamRestaurants</span><span class="o">-</span><span class="n">rules</span><span class="o">.</span><span class="n">json</span> + <span class="n">FlatOntologyManager</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_set_db</span><span class="o">></span><span class="mi">141</span> <span class="p">:</span> <span class="n">Loading</span> <span class="n">database</span><span class="p">:</span> <span class="n">ontology</span><span class="o">/</span><span class="n">ontologies</span><span class="o">/</span><span class="n">CamRestaurants</span><span class="o">-</span><span class="n">dbase</span><span class="o">.</span><span class="n">db</span> + <span class="n">FlatOntologyManager</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_set_ontology</span><span class="o">></span><span class="mi">126</span> <span class="p">:</span> <span class="n">Loading</span> <span class="n">ontology</span><span class="p">:</span> <span class="n">ontology</span><span class="o">/</span><span class="n">ontologies</span><span class="o">/</span><span class="n">CamHotels</span><span class="o">-</span><span class="n">rules</span><span class="o">.</span><span class="n">json</span> + <span class="n">FlatOntologyManager</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_set_db</span><span class="o">></span><span class="mi">141</span> <span class="p">:</span> <span class="n">Loading</span> <span class="n">database</span><span class="p">:</span> <span class="n">ontology</span><span class="o">/</span><span class="n">ontologies</span><span class="o">/</span><span class="n">CamHotels</span><span class="o">-</span><span class="n">dbase</span><span class="o">.</span><span class="n">db</span> + <span class="n">pydial</span> <span class="o"><</span><span class="n">chat_command</span><span class="o">></span><span class="mi">729</span> <span class="p">:</span> <span class="o">***</span> <span class="n">Chatting</span> <span class="k">with</span> <span class="n">policies</span> <span class="p">[</span><span class="s1">'CamRestaurants'</span><span class="p">,</span> <span class="s1">'CamHotels'</span><span class="p">]:</span> <span class="o">***</span> + <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_hand_control</span><span class="o">></span><span class="mi">430</span> <span class="p">:</span> <span class="n">Launching</span> <span class="n">Dialogue</span> <span class="n">Manager</span> <span class="k">for</span> <span class="n">domain</span><span class="p">:</span> <span class="n">topicmanager</span> + <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">start_call</span><span class="o">></span><span class="mi">178</span> <span class="p">:</span> <span class="o">>></span> <span class="n">NEW</span> <span class="n">DIALOGUE</span> <span class="n">SESSION</span><span class="o">.</span> <span class="n">Number</span><span class="p">:</span> <span class="mi">1</span> + <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_hand_control</span><span class="o">></span><span class="mi">447</span> <span class="p">:</span> <span class="n">Domain</span> <span class="n">topicmanager</span> <span class="ow">is</span> <span class="n">both</span> <span class="n">already</span> <span class="n">running</span> <span class="ow">and</span> <span class="n">has</span> <span class="n">control</span> + <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_print_turn</span><span class="o">></span><span class="mi">554</span> <span class="p">:</span> <span class="o">**</span> <span class="n">Turn</span> <span class="mi">0</span> <span class="o">**</span> + <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_print_sys_act</span><span class="o">></span><span class="mi">569</span> <span class="p">:</span> <span class="o">|</span> <span class="n">Sys</span> <span class="o">></span> <span class="n">hello</span><span class="p">()</span> + <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_agents_semo</span><span class="o">></span><span class="mi">653</span> <span class="p">:</span> <span class="n">Domain</span> <span class="k">with</span> <span class="n">CONTROL</span><span class="p">:</span> <span class="n">topicmanager</span> + <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_print_turn</span><span class="o">></span><span class="mi">554</span> <span class="p">:</span> <span class="o">**</span> <span class="n">Turn</span> <span class="mi">1</span> <span class="o">**</span> + <span class="n">RuleTopicTrackers</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">infer_domain</span><span class="o">></span><span class="mi">151</span> <span class="p">:</span> <span class="n">CamHotels</span> <span class="n">keyword</span> <span class="n">found</span> <span class="ow">in</span><span class="p">:</span> <span class="n">I</span> <span class="n">want</span> <span class="n">a</span> <span class="n">cheap</span> <span class="n">hotel</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">centre</span> <span class="n">of</span> <span class="n">town</span><span class="o">.</span> + <span class="n">TopicTracking</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">track_topic</span><span class="o">></span><span class="mi">136</span> <span class="p">:</span> <span class="n">TopicTracker</span> <span class="n">switched</span> <span class="n">domains</span><span class="o">.</span> <span class="n">From</span> <span class="n">topicmanager</span> <span class="n">to</span> <span class="n">CamHotels</span> + <span class="n">TopicTracking</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">track_topic</span><span class="o">></span><span class="mi">142</span> <span class="p">:</span> <span class="n">After</span> <span class="n">user_act</span> <span class="o">-</span> <span class="n">domain</span> <span class="ow">is</span> <span class="n">now</span><span class="p">:</span> <span class="n">CamHotels</span> + <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_hand_control</span><span class="o">></span><span class="mi">430</span> <span class="p">:</span> <span class="n">Launching</span> <span class="n">Dialogue</span> <span class="n">Manager</span> <span class="k">for</span> <span class="n">domain</span><span class="p">:</span> <span class="n">CamHotels</span> + <span class="n">SemI</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">decode</span><span class="o">></span><span class="mi">195</span> <span class="p">:</span> <span class="p">[(</span><span class="n">inform</span><span class="p">(</span><span class="n">area</span><span class="o">=</span><span class="n">centre</span><span class="p">)</span><span class="o">|</span><span class="n">inform</span><span class="p">(</span><span class="n">kind</span><span class="o">=</span><span class="n">hotel</span><span class="p">)</span><span class="o">|</span><span class="n">inform</span><span class="p">(</span><span class="n">pricerange</span><span class="o">=</span><span class="n">cheap</span><span class="p">)</span><span class="o">|</span> + <span class="n">inform</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="n">placetostay</span><span class="p">)</span><span class="s1">', 1.0)]</span> + <span class="n">SemI</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_add_context_to_user_act</span><span class="o">></span><span class="mi">254</span> <span class="p">:</span> <span class="n">Possibly</span> <span class="n">adding</span> <span class="n">context</span> <span class="n">to</span> <span class="n">user</span> <span class="n">semi</span> <span class="n">hyps</span><span class="p">:</span> <span class="p">[(</span><span class="n">inform</span><span class="p">(</span><span class="n">area</span><span class="o">=</span><span class="n">centre</span><span class="p">)</span><span class="o">|</span><span class="n">inform</span><span class="p">(</span> + <span class="n">kind</span><span class="o">=</span><span class="n">hotel</span><span class="p">)</span><span class="o">|</span><span class="n">inform</span><span class="p">(</span><span class="n">pricerange</span><span class="o">=</span><span class="n">cheap</span><span class="p">)</span><span class="o">|</span><span class="n">inform</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="n">placetostay</span><span class="p">)</span><span class="s1">', 1.0)]</span> +<span class="n">ModSemBeliefTrack</span><span class="o">.</span><span class="n">p</span><span class="o"><</span><span class="n">update_belief_state</span><span class="o">></span><span class="mi">68</span> <span class="p">:</span> <span class="n">SemI</span> <span class="o">></span> <span class="p">[(</span><span class="n">inform</span><span class="p">(</span><span class="n">area</span><span class="o">=</span><span class="n">centre</span><span class="p">)</span><span class="o">|</span><span class="n">inform</span><span class="p">(</span><span class="n">kind</span><span class="o">=</span><span class="n">hotel</span><span class="p">)</span><span class="o">|</span> + <span class="n">inform</span><span class="p">(</span><span class="n">pricerange</span><span class="o">=</span><span class="n">cheap</span><span class="p">)</span><span class="o">|</span><span class="n">inform</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="n">placetostay</span><span class="p">)</span><span class="s1">', 1.0)]</span> + <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_print_sys_act</span><span class="o">></span><span class="mi">569</span> <span class="p">:</span> <span class="o">|</span> <span class="n">Sys</span> <span class="o">></span> <span class="n">inform</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">none</span><span class="p">,</span> <span class="n">kind</span><span class="o">=</span><span class="s1">'hotel'</span><span class="p">,</span><span class="n">pricerange</span><span class="o">=</span><span class="s1">'cheap'</span><span class="p">,</span><span class="n">area</span><span class="o">=</span><span class="s1">'centre'</span><span class="p">)</span> + <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_agents_semo</span><span class="o">></span><span class="mi">653</span> <span class="p">:</span> <span class="n">Domain</span> <span class="k">with</span> <span class="n">CONTROL</span><span class="p">:</span> <span class="n">CamHotels</span> + <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_print_turn</span><span class="o">></span><span class="mi">554</span> <span class="p">:</span> <span class="o">**</span> <span class="n">Turn</span> <span class="mi">2</span> <span class="o">**</span> +<span class="o">....</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Training-a-policy-">Training a policy <a class="anchor" id="third-bullet" /><a class="anchor-link" href="#Training-a-policy-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The basic system demonstrated above uses very simple hand-crafted components and rule-based dialogue policies. +PyDial.py provides basic functions for training and testing a policy and analysing the results.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Learning-">Learning <a class="anchor" id="5-bullet" /><a class="anchor-link" href="#Learning-">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The dialogue may be seen as a control problem where given a distribution over possible belief states we need to take some action which determines what the system will do next. +We can learn a good policy for making these decisions by defining a reward function and then using reinforcement learning to find a policy which maximises the total reward accumulated in each dialogue. +One algorithm for doing this is GP-SARSA (for a detailed explanation see the Policy module tutorial).</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Lets train a GP policy for the Cambridge Restaurants domain:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">train</span> <span class="n">config</span><span class="o">/</span><span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">CamRestaurants</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>This command will start up the PyDial simulator and GP trainer according to the parameters +set in the config file Tut-gp-CamRestaurants.cfg <a href="#4-bullet">for more details on config files see below</a>. +In this case, the config is set to train the policy in 5 batches of 100 dialogs per batch at zero error rate. +Each batch is tested (with exploration turned off) before moving to the next batch. +Depending on the speed of your computer, this should take only a few minutes. +When it has finished, inspect the directory _tutorialpolicies, it will contain 5 pairs of files, one for each batch. +Each pair contains a dictionary of training points (.dct) and a set of parameters (.prm). +The filenames include the error rate that the policy was trained on and the batch iteration number.</p> +<p>Most of the parameters set in the [exec_config] section of the config file can be overwritten on the command line. +For example, the following will train another GP policy but this time with a 10% simulated error rate:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">train</span> <span class="n">config</span><span class="o">/</span><span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">CamRestaurants</span><span class="o">.</span><span class="n">cfg</span> <span class="o">--</span><span class="n">trainerrorrate</span><span class="o">=</span><span class="mi">10</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You could also extend a previous training run by adding, say another 2 batches:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">train</span> <span class="n">config</span><span class="o">/</span><span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">CamRestaurants</span><span class="o">.</span><span class="n">cfg</span> <span class="o">--</span><span class="n">trainsourceiteration</span><span class="o">=</span><span class="mi">5</span> <span class="o">--</span><span class="n">numtrainbatches</span><span class="o">=</span><span class="mi">2</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>where the --trainsourceiteration option sets the batch to use as the input for the new training run.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Visualising-the-results-">Visualising the results <a class="anchor" id="6-bullet" /><a class="anchor-link" href="#Visualising-the-results-">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>After training, it is useful to see how the reward function and success rate increases as a function of the number of training dialogues. +The pydial plot command will scan log files and produce a composite plot for each policy. +In the case of log files produced by a training run, it will plot the reward and success rate as a function of the total training dialogues:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">plot</span> <span class="n">_tutoriallogs</span><span class="o">/*</span><span class="n">train</span><span class="o">*</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>which should produce a plot something like the following:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="tutorial_train_plot.png" width="600"></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The GP framework enables an effective policy to be trained with relatively few dialogs. +Already after 500 dialogues, the 0% error rate policy achieved 85% success rate using the default kernel parameters.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>All policy information is stored in poldir. Since pydial overrides some config +params, the actual configs used for each run are recorded in cfgdir.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Once trained, a policy can be explicitly tested using the pydial test command. +This runs the same test as used for testing batches during training, however, running separate tests allows performance to be tested with different parameters. For example:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">test</span> <span class="n">config</span><span class="o">/</span><span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">CamRestaurants</span><span class="o">.</span><span class="n">cfg</span> <span class="mi">5</span> <span class="o">--</span><span class="n">trainerrorrate</span><span class="o">=</span><span class="mi">0</span> <span class="o">--</span><span class="n">testerrorrate</span><span class="o">=</span><span class="s1">'(0,50,10)'</span> +<span class="n">pydial</span> <span class="n">test</span> <span class="n">config</span><span class="o">/</span><span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">CamRestaurants</span><span class="o">.</span><span class="n">cfg</span> <span class="mi">5</span> <span class="o">--</span><span class="n">trainerrorrate</span><span class="o">=</span><span class="mi">10</span> <span class="o">--</span><span class="n">testerrorrate</span><span class="o">=</span><span class="s1">'(0,50,10)'</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>will test the 5th iteration of the policy trained at 0% errors over the range of error rates: 0%, 10%, 20%, ... ,50% +and then do the same for the policy trained at 10% errors. +The results can again be viewed by the plot commmand but this time picking up the log files containing eval rather than train:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">plot</span> <span class="n">_tutoriallogs</span><span class="o">/*</span><span class="nb">eval</span><span class="o">*</span> <span class="o">--</span><span class="n">printtab</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>which should produce a plot something like the following:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="tutorial_eval_plot.png" width="600"></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>in this case, the option to print a table of results is also included and should result the following table as well as the graph:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">Tut</span><span class="p">:</span> <span class="n">Performance</span> <span class="n">vs</span> <span class="n">Error</span> <span class="n">Rate</span> +<span class="n">Reward</span> <span class="mi">0</span> <span class="mi">10</span> <span class="mi">20</span> <span class="mi">30</span> <span class="mi">40</span> <span class="mi">50</span> +<span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">CamRestaurants</span><span class="o">-</span><span class="mf">00.5</span> <span class="p">:</span> <span class="mf">10.0</span> <span class="o">+-</span> <span class="mf">0.9</span> <span class="mf">9.8</span> <span class="o">+-</span> <span class="mf">1.0</span> <span class="mf">7.7</span> <span class="o">+-</span> <span class="mf">1.1</span> <span class="mf">4.1</span> <span class="o">+-</span> <span class="mf">1.2</span> <span class="mf">4.0</span> <span class="o">+-</span> <span class="mf">1.2</span> <span class="o">-</span><span class="mf">0.1</span> <span class="o">+-</span> <span class="mf">1.2</span> +<span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">CamRestaurants</span><span class="o">-</span><span class="mf">10.5</span> <span class="p">:</span> <span class="mf">9.6</span> <span class="o">+-</span> <span class="mf">1.0</span> <span class="mf">8.2</span> <span class="o">+-</span> <span class="mf">1.1</span> <span class="mf">6.1</span> <span class="o">+-</span> <span class="mf">1.2</span> <span class="mf">4.1</span> <span class="o">+-</span> <span class="mf">1.2</span> <span class="mf">1.3</span> <span class="o">+-</span> <span class="mf">1.1</span> <span class="o">-</span><span class="mf">0.9</span> <span class="o">+-</span> <span class="mf">1.1</span> + +<span class="n">Success</span> <span class="mi">0</span> <span class="mi">10</span> <span class="mi">20</span> <span class="mi">30</span> <span class="mi">40</span> <span class="mi">50</span> +<span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">CamRestaurants</span><span class="o">-</span><span class="mf">00.5</span> <span class="p">:</span> <span class="mf">85.7</span> <span class="o">+-</span> <span class="mf">4.0</span> <span class="mf">84.7</span> <span class="o">+-</span> <span class="mf">4.1</span> <span class="mf">76.3</span> <span class="o">+-</span> <span class="mf">4.8</span> <span class="mf">61.7</span> <span class="o">+-</span> <span class="mf">5.5</span> <span class="mf">59.7</span> <span class="o">+-</span> <span class="mf">5.6</span> <span class="mf">41.0</span> <span class="o">+-</span> <span class="mf">5.6</span> +<span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">CamRestaurants</span><span class="o">-</span><span class="mf">10.5</span> <span class="p">:</span> <span class="mf">82.0</span> <span class="o">+-</span> <span class="mf">4.4</span> <span class="mf">76.3</span> <span class="o">+-</span> <span class="mf">4.8</span> <span class="mf">66.7</span> <span class="o">+-</span> <span class="mf">5.4</span> <span class="mf">55.7</span> <span class="o">+-</span> <span class="mf">5.6</span> <span class="mf">41.7</span> <span class="o">+-</span> <span class="mf">5.6</span> <span class="mf">30.7</span> <span class="o">+-</span> <span class="mf">5.2</span> + +<span class="n">Turns</span> <span class="mi">0</span> <span class="mi">10</span> <span class="mi">20</span> <span class="mi">30</span> <span class="mi">40</span> <span class="mi">50</span> +<span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">CamRestaurants</span><span class="o">-</span><span class="mf">00.5</span> <span class="p">:</span> <span class="mf">7.1</span> <span class="o">+-</span> <span class="mf">0.4</span> <span class="mf">7.1</span> <span class="o">+-</span> <span class="mf">0.4</span> <span class="mf">7.6</span> <span class="o">+-</span> <span class="mf">0.4</span> <span class="mf">8.2</span> <span class="o">+-</span> <span class="mf">0.4</span> <span class="mf">8.0</span> <span class="o">+-</span> <span class="mf">0.4</span> <span class="mf">8.3</span> <span class="o">+-</span> <span class="mf">0.4</span> +<span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">CamRestaurants</span><span class="o">-</span><span class="mf">10.5</span> <span class="p">:</span> <span class="mf">6.8</span> <span class="o">+-</span> <span class="mf">0.4</span> <span class="mf">7.1</span> <span class="o">+-</span> <span class="mf">0.3</span> <span class="mf">7.2</span> <span class="o">+-</span> <span class="mf">0.3</span> <span class="mf">7.0</span> <span class="o">+-</span> <span class="mf">0.3</span> <span class="mf">7.1</span> <span class="o">+-</span> <span class="mf">0.3</span> <span class="mf">7.0</span> <span class="o">+-</span> <span class="mf">0.3</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Note that the graph itself can be suppressed using the --noplot option, this is useful when running pydial without a graphic display.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="The-Configuration-File-">The Configuration File <a class="anchor" id="4-bullet" /><a class="anchor-link" href="#The-Configuration-File-">¶</a></h3><p>As will be apparent, pydial.py relies on the provision of a configuration file to set up the many differing options in the PyDial system +In fact, virtually all uses of PyDial require a configuration file. +This file is global (there is only ever one config file) and it follows the standard python config file format: i.e. one option=value per line, broken into sections headed by a section name in square brackets. +The [GENERAL] section provides several key global variables:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">GENERAL</span><span class="p">]</span> + <span class="n">singledomain</span> <span class="o">=</span> <span class="bp">True</span> <span class="c1"># turn off multi-domain handling ...</span> + <span class="n">domains</span> <span class="o">=</span> <span class="n">CamRestaurants</span><span class="p">,</span><span class="n">CamHotels</span><span class="p">,</span> <span class="o">....</span> <span class="c1"># or list of possible domains</span> + <span class="n">tracedialog</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># set trace level to 0,1 or 2</span> + <span class="n">seed</span> <span class="o">=</span> <span class="mi">12345</span> <span class="c1"># set to make simulation reproducible</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>PyDial runs in either single or multi-domain mode. In multi-domain mode, the option variable $\verb|domains|$ provides a list of all possible domains. +The $\verb|tracedialog|$ variable sets the console trace level where 0=off, and 2=verbose. +Tracing is distinct from logging, and its prime use is to control the display of dialogue turns in simulation mode. +Logging provides a much more detailed output at 4 possible levels: error, warn, info, debug. Logging to a file and to the screen is controlled independently. +For example, in the following, the system will output in colour all logging levels to the screen (ie errors, warnings, info, and debug messages), but only output errors and warnings to the log file:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">logging</span><span class="p">]</span> +<span class="n">usecolor</span> <span class="o">=</span> <span class="bp">True</span> +<span class="n">screen_level</span> <span class="o">=</span> <span class="n">debug</span> +<span class="n">file_level</span> <span class="o">=</span> <span class="n">warn</span> +<span class="nb">file</span> <span class="o">=</span> <span class="n">debug</span><span class="o">.</span><span class="n">log</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The operation of the pydial.py command line handler is controlled by a section labeled [exec_config]. +The various options are listed below with typical values, most of which have been introduced in the sections above.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">exec_config</span><span class="p">]</span> +<span class="n">domain</span> <span class="o">=</span> <span class="n">CamRestaurants</span> <span class="c1"># specific train/test domain</span> +<span class="n">policytype</span> <span class="o">=</span> <span class="n">gp</span> <span class="c1"># type of policy to train/test</span> +<span class="n">configdir</span> <span class="o">=</span> <span class="n">cfgdir</span> <span class="c1"># folder to store configs</span> +<span class="n">logfiledir</span> <span class="o">=</span> <span class="n">logdir</span> <span class="c1"># folder to store logfiles</span> +<span class="n">numtrainbatches</span> <span class="o">=</span> <span class="mi">2</span> <span class="c1"># num training batches (iterations)</span> +<span class="n">traindialogsperbatch</span> <span class="o">=</span> <span class="mi">10</span> <span class="c1"># num dialogs per batch</span> +<span class="n">numbatchtestdialogs</span> <span class="o">=</span> <span class="mi">100</span> <span class="c1"># num dialogs to eval each batch</span> +<span class="n">trainsourceiteration</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># iteration of source policy to update</span> +<span class="n">testiteration</span> <span class="o">=</span> <span class="mi">1</span> <span class="c1"># policy iteration to test</span> +<span class="n">numtestdialogs</span> <span class="o">=</span> <span class="mi">100</span> <span class="c1"># num dialogs per test</span> +<span class="n">trainerrorrate</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># train error rate in %</span> +<span class="n">testerrorrate</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># test error rate in %</span> +<span class="n">testeverybatch</span> <span class="o">=</span> <span class="bp">True</span> <span class="c1"># enable batch testing</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Note that in actual config files, comments introduced by a # symbol are not allowed on the same line as an option variable but must instead be on a line of their own.</p> +<p>For details of all of the many other configuration variables, see the relevant tutorials and the Configuration Variable Dictionary. The file OPTIONS.cfg will give an overview over all possible configuration options.</p> + +</div> +</div> +</div> + </div> + </div> +</body> + + + + +</html> diff --git a/Page/tutorials/Introduction to PyDial.ipynb b/Page/tutorials/Introduction to PyDial.ipynb new file mode 100644 index 0000000..6b8e3ac --- /dev/null +++ b/Page/tutorials/Introduction to PyDial.ipynb @@ -0,0 +1,582 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction to PyDial\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this short tutorial you will install and explore the most important parts of PyDial so that you can start using and extending the existing architecture." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Content:\n", + "* [Installation](#first-bullet)\n", + "* [Interacting with the system](#second-bullet)\n", + "* [Training a policy](#third-bullet)\n", + " * [Learning](#5-bullet)\n", + " * [Visualising the results](#6-bullet)\n", + " * [Configuration file](#4-bullet)\n", + " * [More detailed configuration](#7-bullet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Installation <a class=\"anchor\" id=\"first-bullet\"></a>\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Firstly, install the repository on your disk and cd to it:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "git clone https://bitbucket.org/dialoguesystems/pydial.git\n", + "cd cued-pydial" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, ensure that you use the requirements.txt file to install the appropriate dependencies via pip. You can install\n", + "pip using easy_install. It is suggested that all packages are installed in your local directory by including the --user option:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "sudo easy_install pip\n", + "pip install --user -r requirements.txt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note: PyDial doesn't depend on many repositories. Nevertheless, it is suggested that the repo and its dependencies are\n", + "installed in a virtual environment (see http://docs.python-guide.org/en/latest/dev/virtualenvs/)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Interacting with the system <a class=\"anchor\" id=\"second-bullet\"></a>" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's start by exploring the basic PyDial system using the pydial.py script. This script is a command-line driven wrapper\n", + "that enables you to chat, train and test architectures, and plot performance data in PyDial. \n", + "\n", + "Firstly, change the permission for the script pydial.py to make it executable and add a symbolic link to it (eg. pydial) \n", + "from your local bin directory so you can run the script from the terminal." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "chmod 700 pydial.py\n", + "ln -s /path/to/repository/cued-pydial/pydial.py /usr/local/bin/pydial" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To have a chat session run:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pydial chat config/Tut-hdc-CamInfo.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "where the configuration file specifies all the parameters needed to run the system. Now you can get to know your favourite restaurant in Cambridge or book a room in some hotel. An example of dialogue is shown below:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "> pydial chat config/Tut-hdc-CamInfo.cfg\n", + "*** Chatting with policies ['CamRestaurants', 'CamHotels']: ***\n", + "Prompt > Hello, welcome to the Cambridge Multi- Domain dialogue system. How may I help you?.\n", + "User > I want a cheap hotel in the centre of town.\n", + "Prompt > I am sorry but there is no place, is a hotel, in the cheap price range and in the area of centre.\n", + "User > Ok, how about a moderately priced hotel?\n", + "Prompt > Cityroomz is a nice place, it is in the moderate price range , it is a hotel and it is in the centre of town.\n", + "User > What is the phone number?\n", + "Prompt > Cityroomz is a nice place Their phone number is 01223304050.\n", + "User > I would also like a cheap chinese restaurant in the centre.\n", + "Prompt > Golden house is a nice place, it is in the centre of town, it is in the cheap price range and it serves chinese food.\n", + "User > What is the address?\n", + "Prompt > Golden house is a nice place. Their address is 12 Lensfield Road, City Centre.\n", + "User > Goodbye.\n", + "Prompt > Thank you, goodbye.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The conversation is divided into turns. Each turn consists of a system act which is converted to a prompt by the generation module, followed by a user response which is converted to a user dialogue act by the semantic decoder.\n", + "A more detailed trace of the dialogue is stored in the log file _tutoriallogs/Tut-hdc-CamInfo-00.0.chat.log. The first few lines of this log file are shown below (truncated and reformated slightly to fit on a page):" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + " FlatOntologyManager.py <_set_ontology>126 : Loading ontology: ontology/ontologies/CamRestaurants-rules.json\n", + " FlatOntologyManager.py <_set_db>141 : Loading database: ontology/ontologies/CamRestaurants-dbase.db\n", + " FlatOntologyManager.py <_set_ontology>126 : Loading ontology: ontology/ontologies/CamHotels-rules.json\n", + " FlatOntologyManager.py <_set_db>141 : Loading database: ontology/ontologies/CamHotels-dbase.db\n", + " pydial <chat_command>729 : *** Chatting with policies ['CamRestaurants', 'CamHotels']: ***\n", + " Agent.py <_hand_control>430 : Launching Dialogue Manager for domain: topicmanager\n", + " Agent.py <start_call>178 : >> NEW DIALOGUE SESSION. Number: 1\n", + " Agent.py <_hand_control>447 : Domain topicmanager is both already running and has control\n", + " Agent.py <_print_turn>554 : ** Turn 0 **\n", + " Agent.py <_print_sys_act>569 : | Sys > hello()\n", + " Agent.py <_agents_semo>653 : Domain with CONTROL: topicmanager\n", + " Agent.py <_print_turn>554 : ** Turn 1 **\n", + " RuleTopicTrackers.py <infer_domain>151 : CamHotels keyword found in: I want a cheap hotel in the centre of town.\n", + " TopicTracking.py <track_topic>136 : TopicTracker switched domains. From topicmanager to CamHotels\n", + " TopicTracking.py <track_topic>142 : After user_act - domain is now: CamHotels\n", + " Agent.py <_hand_control>430 : Launching Dialogue Manager for domain: CamHotels\n", + " SemI.py <decode>195 : [(inform(area=centre)|inform(kind=hotel)|inform(pricerange=cheap)|\n", + " inform(type=placetostay)', 1.0)]\n", + " SemI.py <_add_context_to_user_act>254 : Possibly adding context to user semi hyps: [(inform(area=centre)|inform(\n", + " kind=hotel)|inform(pricerange=cheap)|inform(type=placetostay)', 1.0)]\n", + "ModSemBeliefTrack.p<update_belief_state>68 : SemI > [(inform(area=centre)|inform(kind=hotel)|\n", + " inform(pricerange=cheap)|inform(type=placetostay)', 1.0)]\n", + " Agent.py <_print_sys_act>569 : | Sys > inform(name=none, kind='hotel',pricerange='cheap',area='centre')\n", + " Agent.py <_agents_semo>653 : Domain with CONTROL: CamHotels\n", + " Agent.py <_print_turn>554 : ** Turn 2 **\n", + "....\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Training a policy <a class=\"anchor\" id=\"third-bullet\"></a>" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "The basic system demonstrated above uses very simple hand-crafted components and rule-based dialogue policies.\n", + "PyDial.py provides basic functions for training and testing a policy and analysing the results." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Learning <a class=\"anchor\" id=\"5-bullet\"></a>" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The dialogue may be seen as a control problem where given a distribution over possible belief states we need to take some action which determines what the system will do next. \n", + "We can learn a good policy for making these decisions by defining a reward function and then using reinforcement learning to find a policy which maximises the total reward accumulated in each dialogue.\n", + "One algorithm for doing this is GP-SARSA (for a detailed explanation see the Policy module tutorial)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false, + "scrolled": true + }, + "source": [ + "Lets train a GP policy for the Cambridge Restaurants domain:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false, + "scrolled": true + }, + "outputs": [], + "source": [ + "pydial train config/Tut-gp-CamRestaurants.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This command will start up the PyDial simulator and GP trainer according to the parameters\n", + "set in the config file Tut-gp-CamRestaurants.cfg [for more details on config files see below](#4-bullet).\n", + "In this case, the config is set to train the policy in 5 batches of 100 dialogs per batch at zero error rate.\n", + "Each batch is tested (with exploration turned off) before moving to the next batch.\n", + "Depending on the speed of your computer, this should take only a few minutes.\n", + "When it has finished, inspect the directory _tutorialpolicies, it will contain 5 pairs of files, one for each batch.\n", + "Each pair contains a dictionary of training points (.dct) and a set of parameters (.prm).\n", + "The filenames include the error rate that the policy was trained on and the batch iteration number.\n", + "\n", + "Most of the parameters set in the [exec_config] section of the config file can be overwritten on the command line.\n", + "For example, the following will train another GP policy but this time with a 10% simulated error rate:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pydial train config/Tut-gp-CamRestaurants.cfg --trainerrorrate=10" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You could also extend a previous training run by adding, say another 2 batches:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pydial train config/Tut-gp-CamRestaurants.cfg --trainsourceiteration=5 --numtrainbatches=2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "where the --trainsourceiteration option sets the batch to use as the input for the new training run.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Visualising the results <a class=\"anchor\" id=\"6-bullet\"></a>" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "After training, it is useful to see how the reward function and success rate increases as a function of the number of training dialogues.\n", + "The pydial plot command will scan log files and produce a composite plot for each policy.\n", + "In the case of log files produced by a training run, it will plot the reward and success rate as a function of the total training dialogues:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "pydial plot _tutoriallogs/*train*" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "which should produce a plot something like the following:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<img src=\"tutorial_train_plot.png\" width=\"600\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The GP framework enables an effective policy to be trained with relatively few dialogs.\n", + "Already after 500 dialogues, the 0% error rate policy achieved 85% success rate using the default kernel parameters." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All policy information is stored in poldir. Since pydial overrides some config\n", + "params, the actual configs used for each run are recorded in cfgdir." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once trained, a policy can be explicitly tested using the pydial test command.\n", + "This runs the same test as used for testing batches during training, however, running separate tests allows performance to be tested with different parameters. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "pydial test config/Tut-gp-CamRestaurants.cfg 5 --trainerrorrate=0 --testerrorrate='(0,50,10)'\n", + "pydial test config/Tut-gp-CamRestaurants.cfg 5 --trainerrorrate=10 --testerrorrate='(0,50,10)'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "will test the 5th iteration of the policy trained at 0% errors over the range of error rates: 0%, 10%, 20%, ... ,50%\n", + "and then do the same for the policy trained at 10% errors.\n", + "The results can again be viewed by the plot commmand but this time picking up the log files containing eval rather than train:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "pydial plot _tutoriallogs/*eval* --printtab" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "which should produce a plot something like the following:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<img src=\"tutorial_eval_plot.png\" width=\"600\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "in this case, the option to print a table of results is also included and should result the following table as well as the graph:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "Tut: Performance vs Error Rate\n", + "Reward 0 10 20 30 40 50\n", + "Tut-gp-CamRestaurants-00.5 : 10.0 +- 0.9 9.8 +- 1.0 7.7 +- 1.1 4.1 +- 1.2 4.0 +- 1.2 -0.1 +- 1.2\n", + "Tut-gp-CamRestaurants-10.5 : 9.6 +- 1.0 8.2 +- 1.1 6.1 +- 1.2 4.1 +- 1.2 1.3 +- 1.1 -0.9 +- 1.1\n", + "\n", + "Success 0 10 20 30 40 50\n", + "Tut-gp-CamRestaurants-00.5 : 85.7 +- 4.0 84.7 +- 4.1 76.3 +- 4.8 61.7 +- 5.5 59.7 +- 5.6 41.0 +- 5.6\n", + "Tut-gp-CamRestaurants-10.5 : 82.0 +- 4.4 76.3 +- 4.8 66.7 +- 5.4 55.7 +- 5.6 41.7 +- 5.6 30.7 +- 5.2\n", + "\n", + "Turns 0 10 20 30 40 50\n", + "Tut-gp-CamRestaurants-00.5 : 7.1 +- 0.4 7.1 +- 0.4 7.6 +- 0.4 8.2 +- 0.4 8.0 +- 0.4 8.3 +- 0.4\n", + "Tut-gp-CamRestaurants-10.5 : 6.8 +- 0.4 7.1 +- 0.3 7.2 +- 0.3 7.0 +- 0.3 7.1 +- 0.3 7.0 +- 0.3\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that the graph itself can be suppressed using the --noplot option, this is useful when running pydial without a graphic display." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The Configuration File <a class=\"anchor\" id=\"4-bullet\"></a>\n", + "\n", + "As will be apparent, pydial.py relies on the provision of a configuration file to set up the many differing options in the PyDial system\n", + "In fact, virtually all uses of PyDial require a configuration file. \n", + "This file is global (there is only ever one config file) and it follows the standard python config file format: i.e. one option=value per line, broken into sections headed by a section name in square brackets.\n", + "The [GENERAL] section provides several key global variables:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "[GENERAL]\n", + " singledomain = True # turn off multi-domain handling ...\n", + " domains = CamRestaurants,CamHotels, .... # or list of possible domains\n", + " tracedialog = 0 # set trace level to 0,1 or 2\n", + " seed = 12345 # set to make simulation reproducible\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PyDial runs in either single or multi-domain mode. In multi-domain mode, the option variable $\\verb|domains|$ provides a list of all possible domains.\n", + "The $\\verb|tracedialog|$ variable sets the console trace level where 0=off, and 2=verbose.\n", + "Tracing is distinct from logging, and its prime use is to control the display of dialogue turns in simulation mode.\n", + "Logging provides a much more detailed output at 4 possible levels: error, warn, info, debug. Logging to a file and to the screen is controlled independently.\n", + "For example, in the following, the system will output in colour all logging levels to the screen (ie errors, warnings, info, and debug messages), but only output errors and warnings to the log file:\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[logging]\n", + "usecolor = True\n", + "screen_level = debug\n", + "file_level = warn\n", + "file = debug.log\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The operation of the pydial.py command line handler is controlled by a section labeled [exec_config].\n", + "The various options are listed below with typical values, most of which have been introduced in the sections above.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[exec_config]\n", + "domain = CamRestaurants # specific train/test domain\n", + "policytype = gp # type of policy to train/test\n", + "configdir = cfgdir # folder to store configs\n", + "logfiledir = logdir # folder to store logfiles\n", + "numtrainbatches = 2 # num training batches (iterations)\n", + "traindialogsperbatch = 10 # num dialogs per batch\n", + "numbatchtestdialogs = 100 # num dialogs to eval each batch\n", + "trainsourceiteration = 0 # iteration of source policy to update\n", + "testiteration = 1 # policy iteration to test\n", + "numtestdialogs = 100 # num dialogs per test\n", + "trainerrorrate = 0 # train error rate in %\n", + "testerrorrate = 0 # test error rate in %\n", + "testeverybatch = True # enable batch testing" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that in actual config files, comments introduced by a # symbol are not allowed on the same line as an option variable but must instead be on a line of their own.\n", + "\n", + "For details of all of the many other configuration variables, see the relevant tutorials and the Configuration Variable Dictionary. The file OPTIONS.cfg will give an overview over all possible configuration options.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/Page/tutorials/Introduction+to+PyDial.html b/Page/tutorials/Introduction+to+PyDial.html new file mode 100644 index 0000000..2daba0f --- /dev/null +++ b/Page/tutorials/Introduction+to+PyDial.html @@ -0,0 +1,12412 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<title>Introduction to PyDial</title> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +@media (max-width: 991px) { + #ipython_notebook { + margin-left: 10px; + } +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#login_widget { + float: right; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + text-align: center; + vertical-align: middle; + display: inline; + opacity: 0; + z-index: 2; + width: 12ex; + margin-right: -12ex; +} +.alternate_upload .btn-upload { + height: 22px; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +ul#tabs { + margin-bottom: 4px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: baseline; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +#tree-selector { + padding-right: 0px; +} +#button-select-all { + min-width: 50px; +} +#select-all { + margin-left: 7px; + margin-right: 2px; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight: bold; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + border-left-width: 1px; + padding-left: 5px; + background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} +div.cell.jupyter-soft-selected { + border-left-color: #90CAF9; + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected { + border-color: #ababab; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%); +} +@media print { + div.cell.selected { + border-color: transparent; + } +} +div.cell.selected.jupyter-soft-selected { + border-left-width: 0; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%); +} +.edit_mode div.cell.selected { + border-color: #66BB6A; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%); +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +@-moz-document url-prefix() { + div.inner_cell { + overflow-x: hidden; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding: 0.4em; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding: 0; + border: 0; + border-radius: 0; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul { + list-style: disc; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ul ul { + list-style: square; + margin: 0em 2em; +} +.rendered_html ul ul ul { + list-style: circle; + margin: 0em 2em; +} +.rendered_html ol { + list-style: decimal; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol { + list-style: lower-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; + margin: 0em 2em; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; + margin: 0em 2em; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; +} +.rendered_html pre, +.rendered_html code { + border: 0; + background-color: #fff; + color: #000; + font-size: 100%; + padding: 0px; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: 1px solid black; + border-collapse: collapse; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border: 1px solid black; + border-collapse: collapse; + margin: 1em 2em; +} +.rendered_html td, +.rendered_html th { + text-align: left; + vertical-align: middle; + padding: 4px; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget { + float: right !important; + float: right; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 20ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + margin-top: 6px; +} +span.save_widget span.filename { + height: 1em; + line-height: 1em; + padding: 3px; + margin-left: 16px; + border: none; + font-size: 146.5%; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + display: none; +} +.command-shortcut:before { + content: "(command)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow: visible; + padding: 8px; +} + +div#notebook { + overflow: visible; + border-top: none; +} + +@media print { + div.cell { + display: block; + page-break-inside: avoid; + } + div.output_wrapper { + display: block; + page-break-inside: avoid; + } + div.output { + display: block; + page-break-inside: avoid; + } +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +<!-- Loading mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --></head> +<body> + <div tabindex="-1" id="notebook" class="border-box-sizing"> + <div class="container" id="notebook-container"> + +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="Introduction-to-PyDial">Introduction to PyDial<a class="anchor-link" href="#Introduction-to-PyDial">¶</a></h1> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In this short tutorial you will install and go through most important parts of PyDial which enables you to start using and extending the existing architecture.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Content:">Content:<a class="anchor-link" href="#Content:">¶</a></h2><ul> +<li><a href="#first-bullet">Installation</a></li> +<li><a href="#second-bullet">Interaction with system</a></li> +<li><a href="#third-bullet">Training your own policy - pydial.py</a><ul> +<li><a href="#5-bullet">Learning</a></li> +<li><a href="#6-bullet">Visualising the results</a></li> +<li><a href="#4-bullet">Configuration file</a></li> +<li><a href="#7-bullet">More detailed configuration</a></li> +</ul> +</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Installation-">Installation <a class="anchor" id="first-bullet" /><a class="anchor-link" href="#Installation-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Firstly, install the repository on your disk and cd to it:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">bitbucket</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">dialoguesystems</span><span class="o">/</span><span class="n">cued</span><span class="o">-</span><span class="n">pydial</span><span class="o">.</span><span class="n">git</span> +<span class="n">cd</span> <span class="n">cued</span><span class="o">-</span><span class="n">pydial</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Now, ensure that you use the requirements.txt file to install the appropriate dependencies via pip. You can install +pip using easy_install. It is suggested to install all packages in your local directory by adding the command --user.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">sudo</span> <span class="n">easy_install</span> <span class="n">pip</span> +<span class="n">pip</span> <span class="n">install</span> <span class="o">--</span><span class="n">user</span> <span class="o">-</span><span class="n">r</span> <span class="n">requirements</span><span class="o">.</span><span class="n">txt</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Note: PyDial doesn't dependent on many repositories however it is suggested to install the repo using virtual environment (<a href="http://docs.python-guide.org/en/latest/dev/virtualenvs/">http://docs.python-guide.org/en/latest/dev/virtualenvs/</a>).</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Interaction-with-system-">Interaction with system <a class="anchor" id="second-bullet" /><a class="anchor-link" href="#Interaction-with-system-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Let's start by playing around with the available system using pydial.py script. This script is a big wrapper that enables you to chat, train and test architectures in PyDial.</p> +<p>Firstly, you have to change the permission for the script pydial.py to make it executable and add a symbolic link to it (eg. pydial) from your local bin directory so you can run the script from the terminal.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">chmod</span> <span class="mi">700</span> <span class="n">pydial</span><span class="o">.</span><span class="n">py</span> +<span class="n">ln</span> <span class="o">-</span><span class="n">s</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">repository</span><span class="o">/</span><span class="n">cued</span><span class="o">-</span><span class="n">pydial</span><span class="o">/</span><span class="n">pydial</span><span class="o">.</span><span class="n">py</span> <span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="n">local</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">pydial</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>To have a chat session run:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [32]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span>%%bash +pydial chat config.cfg +</pre></div> + +</div> +</div> +</div> + +<div class="output_wrapper"> +<div class="output"> + + +<div class="output_area"><div class="prompt"></div> +<div class="output_subarea output_stream output_stdout output_text"> +<pre><span class="ansi-green-intense-fg"> INFO </span>:: 14:05:40: root FlatOntologyManager.py <_set_ontology>126 : Loading ontology: ontology/ontologies/CamRestaurants-rules.json +<span class="ansi-green-intense-fg"> INFO </span>:: 14:05:40: root FlatOntologyManager.py <_set_db>141 : Loading database: ontology/ontologies/CamRestaurants-dbase.db +<span class="ansi-yellow-intense-fg">WARNING</span>:: 14:05:40: root FlatOntologyManager.py <_set_domains_informable_and_re : Domain CamRestaurants does not have book yet +*** Chatting with config-10.0: *** +<span class="ansi-green-intense-fg"> INFO </span>:: 14:05:40: root pydial <chat_command>724 : *** Chatting with config-10.0: *** +<span class="ansi-yellow-intense-fg">WARNING</span>:: 14:05:40: root RegexSemI.py <__init__>71 : No rTYPE regex has been set. +<span class="ansi-yellow-intense-fg">WARNING</span>:: 14:05:40: root RegexSemI.py <__init__>71 : No rTYPE regex has been set. +<span class="ansi-yellow-intense-fg">WARNING</span>:: 14:05:40: root RegexSemI.py <__init__>71 : No rTYPE regex has been set. +<span class="ansi-yellow-intense-fg">WARNING</span>:: 14:05:40: root RegexSemI.py <__init__>71 : No rTYPE regex has been set. +<span class="ansi-yellow-intense-fg">WARNING</span>:: 14:05:40: root RegexSemI.py <__init__>71 : No rTYPE regex has been set. +<span class="ansi-green-intense-fg"> INFO </span>:: 14:05:40: root Agent.py <_hand_control>430 : Launching Dialogue Manager for domain: topicmanager +<span class="ansi-yellow-intense-fg">WARNING</span>:: 14:05:40: root PolicyManager.py <_load_domains_policy>214 : No policy section specified for domain: topicmanager - defaulting to HDC +<span class="ansi-yellow-intense-fg">WARNING</span>:: 14:05:40: root Texthub.py <run>85 : NOTE: texthub is not using any error simulation at present. +<span class="ansi-green-intense-fg"> INFO </span>:: 14:05:40: root Agent.py <start_call>178 : >> NEW DIALOGUE SESSION. Number: 1 +<span class="ansi-green-intense-fg"> INFO </span>:: 14:05:40: root Agent.py <_hand_control>447 : Domain topicmanager is both already running and has control + Turn 0 +<span class="ansi-green-intense-fg"> INFO </span>:: 14:05:40: root Agent.py <_print_turn>554 : ** Turn 0 ** + Sys > hello() +<span class="ansi-green-intense-fg"> INFO </span>:: 14:05:40: root Agent.py <_print_sys_act>569 : | Sys > hello() +<span class="ansi-green-intense-fg"> INFO </span>:: 14:05:40: root Agent.py <_agents_semo>653 : Domain with CONTROL: topicmanager +Prompt > hello() +User > <span class="ansi-red-intense-fg"> ERROR </span>:: 14:05:40: root ContextLogger.py <_exceptHook>227 : Uncaught exception: <type 'exceptions.EOFError'>( EOF when reading a line )<span class="ansi-bold"> Traceback (most recent call last): + File "/usr/local/bin/pydial", line 743, in <module> + run() + File "/Users/budzianowski/Library/Python/2.7/lib/python/site-packages/scriptine/command.py", line 196, in autocmds + add_verbosity_option=add_verbosity_option) + File "/Users/budzianowski/Library/Python/2.7/lib/python/site-packages/scriptine/command.py", line 105, in parse_and_run_function + return function(*args[:len(required_args)], **kw) + File "/usr/local/bin/pydial", line 732, in chat_command + hub.run() + File "/Users/budzianowski/cued-pydial/Texthub.py", line 89, in run + obs = raw_input('User > ') + EOFError: EOF when reading a line + </span> +</pre> +</div> +</div> + +<div class="output_area"><div class="prompt"></div> +<div class="output_subarea output_stream output_stderr output_text"> +<pre>WARN: Non-standard config name [no separators] (preferred format ID-pol-dom.cfg) +Traceback (most recent call last): + File "/usr/local/bin/pydial", line 743, in <module> + run() + File "/Users/budzianowski/Library/Python/2.7/lib/python/site-packages/scriptine/command.py", line 196, in autocmds + add_verbosity_option=add_verbosity_option) + File "/Users/budzianowski/Library/Python/2.7/lib/python/site-packages/scriptine/command.py", line 105, in parse_and_run_function + return function(*args[:len(required_args)], **kw) + File "/usr/local/bin/pydial", line 732, in chat_command + hub.run() + File "/Users/budzianowski/cued-pydial/Texthub.py", line 89, in run + obs = raw_input('User > ') +EOFError: EOF when reading a line +</pre> +</div> +</div> + +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>where you specify a configuration file needed to set up an appropriate communication with the system. Now you can get to know your favourite restaurant in Cambridge or book a room in some hotel. An example of the dialogue is shown below:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span> <span class="n">root</span> <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_print_turn</span><span class="o">></span><span class="mi">453</span> <span class="p">:</span> <span class="o">**</span> <span class="n">Turn</span> <span class="mi">0</span> <span class="o">**</span> + <span class="n">Sys</span> <span class="o">></span> <span class="n">hello</span><span class="p">()</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span> <span class="n">root</span> <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_print_sys_act</span><span class="o">></span><span class="mi">463</span> <span class="p">:</span> <span class="o">|</span> <span class="n">Sys</span> <span class="o">></span> <span class="n">hello</span><span class="p">()</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span> <span class="n">root</span> <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_agents_semo</span><span class="o">></span><span class="mi">512</span> <span class="p">:</span> <span class="n">Domain</span> <span class="k">with</span> <span class="n">CONTROL</span><span class="p">:</span> <span class="n">topicmanager</span> +<span class="n">Prompt</span> <span class="o">></span> <span class="n">Hello</span><span class="p">,</span> <span class="n">welcome</span> <span class="n">to</span> <span class="n">the</span> <span class="n">Cambridge</span> <span class="n">Multi</span><span class="o">-</span> <span class="n">Domain</span> <span class="n">dialogue</span> <span class="n">system</span><span class="o">.</span> <span class="n">How</span> <span class="n">may</span> <span class="n">I</span> <span class="n">help</span> you<span class="o">?</span> +<span class="n">User</span> <span class="o">></span> <span class="n">Hello</span> <span class="n">I</span> <span class="n">want</span> <span class="n">a</span> <span class="n">cheap</span> <span class="n">restaurant</span> + <span class="n">Turn</span> <span class="mi">1</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">42</span><span class="p">:</span> <span class="n">root</span> <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_print_turn</span><span class="o">></span><span class="mi">453</span> <span class="p">:</span> <span class="o">**</span> <span class="n">Turn</span> <span class="mi">1</span> <span class="o">**</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">42</span><span class="p">:</span> <span class="n">root</span> <span class="n">RuleTopicTrackers</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">infer_domain</span><span class="o">></span><span class="mi">144</span> <span class="p">:</span> <span class="n">TT</span> <span class="n">keyword</span> <span class="n">found</span> <span class="ow">in</span><span class="p">:</span> <span class="n">Hello</span> <span class="n">I</span> <span class="n">want</span> <span class="n">a</span> <span class="n">cheap</span> <span class="n">restaurant</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">42</span><span class="p">:</span> <span class="n">root</span> <span class="n">TopicTracking</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">track_topic</span><span class="o">></span><span class="mi">124</span> <span class="p">:</span> <span class="n">TopicTracker</span> <span class="n">believes</span> <span class="n">we</span> <span class="n">switched</span> <span class="n">domains</span><span class="o">.</span> <span class="n">From</span> <span class="n">topicmanager</span> <span class="n">to</span> <span class="n">CamRestaurants</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">42</span><span class="p">:</span> <span class="n">root</span> <span class="n">TopicTracking</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">track_topic</span><span class="o">></span><span class="mi">129</span> <span class="p">:</span> <span class="n">After</span> <span class="n">user_act</span> <span class="o">-</span> <span class="n">domain</span> <span class="ow">is</span> <span class="n">now</span><span class="p">:</span> <span class="n">CamRestaurants</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">42</span><span class="p">:</span> <span class="n">root</span> <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_hand_control</span><span class="o">></span><span class="mi">344</span> <span class="p">:</span> <span class="n">Launching</span> <span class="n">Dialogue</span> <span class="n">Manager</span> <span class="k">for</span> <span class="n">domain</span><span class="p">:</span> <span class="n">CamRestaurants</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">43</span><span class="p">:</span> <span class="n">root</span> <span class="n">SemI</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">decode</span><span class="o">></span><span class="mi">139</span> <span class="p">:</span> <span class="p">[(</span><span class="s1">u'inform(pricerange=cheap)|hello()|inform(type=restaurant)'</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">)]</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">43</span><span class="p">:</span> <span class="n">root</span> <span class="n">SemI</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_add_context_to_user_act</span><span class="o">></span><span class="mi">170</span> <span class="p">:</span> <span class="n">Possibly</span> <span class="n">adding</span> <span class="n">context</span> <span class="n">to</span> <span class="n">user</span> <span class="n">semi</span> <span class="n">hyps</span><span class="p">:</span> <span class="p">[(</span><span class="s1">u'inform(pricerange=cheap)|hello()|inform(type=restaurant)'</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">)]</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">43</span><span class="p">:</span> <span class="n">root</span> <span class="n">SemanticBeliefTracker</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">update_belief_state</span><span class="o">></span><span class="mi">48</span> <span class="p">:</span> <span class="n">SemI</span> <span class="o">></span> <span class="p">[(</span><span class="s1">u'inform(pricerange=cheap)|hello()|inform(type=restaurant)'</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">)]</span> + <span class="n">Sys</span> <span class="o">></span> <span class="n">request</span><span class="p">(</span><span class="n">area</span><span class="p">)</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">43</span><span class="p">:</span> <span class="n">root</span> <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_print_sys_act</span><span class="o">></span><span class="mi">463</span> <span class="p">:</span> <span class="o">|</span> <span class="n">Sys</span> <span class="o">></span> <span class="n">request</span><span class="p">(</span><span class="n">area</span><span class="p">)</span> + <span class="n">INFO</span> <span class="p">::</span> <span class="mi">16</span><span class="p">:</span><span class="mo">02</span><span class="p">:</span><span class="mi">43</span><span class="p">:</span> <span class="n">root</span> <span class="n">Agent</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">_agents_semo</span><span class="o">></span><span class="mi">512</span> <span class="p">:</span> <span class="n">Domain</span> <span class="k">with</span> <span class="n">CONTROL</span><span class="p">:</span> <span class="n">CamRestaurants</span> +<span class="n">Prompt</span> <span class="o">></span> <span class="n">What</span> <span class="n">part</span> <span class="n">of</span> <span class="n">town</span> <span class="n">do</span> <span class="n">you</span> <span class="n">have</span> <span class="ow">in</span> mind<span class="o">?</span> +<span class="n">User</span> <span class="o">></span> <span class="n">north</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The conversation is divided into turns. By default the system starts with hello() act. This is turned to the full sentence by the generation module and is shown via Prompt. The user asked for a cheap restaurant. This finishes the first turn. +We can trace how the system finds the appropriate topic via Topic Tracker and how the user sentence is transformed to the user act via Semantic Decoder Module:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[(</span><span class="s1">u'inform(pricerange=cheap)|hello()|inform(type=restaurant)'</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">)]</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The system decides to ask for an area of the town via +request act which is transformed by the semantic generator to the full sentence. The user answers back and the second turn is finished.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Training-your-own-policy---pydial.py-">Training your own policy - pydial.py <a class="anchor" id="third-bullet" /><a class="anchor-link" href="#Training-your-own-policy---pydial.py-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Although playing with the ready-made system is nice, we would like to train our own. We will use again pydial.py script which enables us to train, test and analyse the results.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Learning-">Learning <a class="anchor" id="5-bullet" /><a class="anchor-link" href="#Learning-">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The dialogue may be seen as a control problem where having a distributions over possible belief states we need to take some action which determines what the system says to user. +We may apply the reinforcement learning framework to our problem where we look for the optimal policy. One of the example of such algorithm is GP-SARSA (for detailed explanation read Policy module tutorial) which we will use it right now.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>We can train our model via command:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">train</span> <span class="n">config</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Depending on the computational resources this might take a while. To test a particular iteration of learning we have to specify it after providing config file:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">test</span> <span class="n">config</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Visualising-the-results-">Visualising the results <a class="anchor" id="6-bullet" /><a class="anchor-link" href="#Visualising-the-results-">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>After training, we can analyse how the reward function as well as a the success rate were optimised with more and more dialogues.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">plot</span> <span class="n">logdir</span><span class="o">/*</span><span class="n">train</span><span class="o">*</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>which should look like this:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="gp250.png" width="600"></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>GP framework allows for a fast training of effective policy. Thanks to modelling the dependencies in the belief state space, the convergence rate improved substantially – already after 250 dialogue, it achieved 90% success rate for default kernel parameters.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Setting the option --printtab, also tabulates the performance data. +All policy information is stored in poldir. Since pydial overrides some config +params, the actual configs used for each run are recorded in cfgdir.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Configuration-file-">Configuration file <a class="anchor" id="4-bullet" /><a class="anchor-link" href="#Configuration-file-">¶</a></h3><p>By default we train 10 batches of dialogues with 100 dialogues per batch. After each batch we evaluate our policy on 100 test dialogues. You can specify those values as well many other by changing you configuration file (precisely the [exec_config] section). The default set-up looks as follow:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">exec_config</span><span class="p">]</span> +<span class="n">domain</span> <span class="o">=</span> <span class="n">CamRestaurants</span> +<span class="n">policykind</span> <span class="o">=</span> <span class="n">gp</span> +<span class="n">policydir</span> <span class="o">=</span> <span class="n">poldir</span> <span class="c1"># folder to store policies</span> +<span class="n">configdir</span> <span class="o">=</span> <span class="n">cfgdir</span> <span class="c1"># folder to store configs</span> +<span class="n">logfiledir</span> <span class="o">=</span> <span class="n">logdir</span> <span class="c1"># folder to store logfiles</span> +<span class="n">numtrainbatches</span> <span class="o">=</span> <span class="mi">2</span> <span class="c1"># num training batches (iterations)</span> +<span class="n">traindialogsperbatch</span> <span class="o">=</span> <span class="mi">10</span> <span class="c1"># num dialogs per batch</span> +<span class="n">numbatchtestdialogs</span> <span class="o">=</span> <span class="mi">100</span> <span class="c1"># num dialogs to eval each batch</span> +<span class="n">trainsourceiteration</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># this creates a new policy in n batches where</span> + <span class="c1"># n=numtrainbatches, otherwise an existing policy is trained further</span> +<span class="n">testiteration</span> <span class="o">=</span> <span class="mi">1</span> <span class="c1"># policy iteration to test</span> +<span class="n">numtestdialogs</span> <span class="o">=</span> <span class="mi">100</span> <span class="c1"># num dialogs per test</span> +<span class="n">trainerrorrate</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># train error rate in %</span> +<span class="n">testerrorrate</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1"># test error rate in %</span> +<span class="n">testeverybatch</span> <span class="o">=</span> <span class="bp">True</span> <span class="c1"># enable batch testing</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can also specify how noisy the input will be using trainerrorrate and testerrorrate or change directiories where policies, +configs and logfiles will be stored. For convenience, many config parameters can be overridden on the command line, eg.:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">train</span> <span class="n">config</span><span class="o">.</span><span class="n">cfg</span> <span class="o">--</span><span class="n">trainerrorrate</span><span class="o">=</span><span class="mi">20</span> +<span class="n">pydial</span> <span class="n">test</span> <span class="n">config</span><span class="o">.</span><span class="n">cfg</span> <span class="mi">4</span> <span class="o">--</span><span class="n">testerrorrate</span><span class="o">=</span><span class="mi">50</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>to train a policy at 20% error rate and test the 4th iteration at 50% error rate.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>A range of test error rates can be specified as a triple (stErr,enErr,stepSize), eg.:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">test</span> <span class="n">config</span><span class="o">.</span><span class="n">cfg</span> <span class="mi">5</span> <span class="o">--</span><span class="n">testerrorrate</span><span class="o">=</span><span class="s1">'(0,50,10)'</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>to test a policy at 0%, 10%, 20%, 30%, 40%, and 50% error rates. Logfiles for each train/test run are stored in logdir. The plot commands scan one or more logfiles and extract information to plot. Here you can see how error rate affects the performance of the policy learned in the previous section:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="error250.png" width="600" ></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="More-detailed-configuration-">More detailed configuration <a class="anchor" id="7-bullet" /><a class="anchor-link" href="#More-detailed-configuration-">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>So far we set up general configurations in order to train and test our model. However, we can specify much more detailed information related with specific modules. Let's open an illustrative config file where we can analyse specific sections:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">vi</span> <span class="n">config</span><span class="o">/</span><span class="n">simulate_singledomain</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The most important section is <code>[GENERAL]</code> where you specify domain(s) ($\verb|domains|$), whether you operate in multiple-domain ($\verb|singledomain|$), path to the repo when you run on the grid ($\verb|root|$). In the section [agent] you can specify how often the policy is saved ($\verb|savefrequency|$) or what is the number of maximal turns that system can take ($\verb|maxturns|$).</p> +<p>In section <code>[policy_CamRestaurants]</code> you specify type of belief tracker ($\verb|belieftype|$), policy type ($\verb|policy type|$), if policy should be learnt ($\verb|learning|$), paths to files from you can load and save policy ($\verb|inpolicyfile|$, $\verb|outpolicyfile|$).</p> +<p>You can also specify how evaluation of the dialogue is performed (<code>[eval]</code>), how goals are generated by user simulator (<code>[goalgenerator]</code>) and other. More information can be found in <code>config/OPTIONS.cfg</code></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>To see the general help for the script write:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="o">%</span><span class="k">run</span> pydial help +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>We have prepared a several configurations files to test several modules in PyDial library (directory <code>config</code>).</p> + +</div> +</div> +</div> + </div> + </div> +</body> +</html> diff --git a/Page/tutorials/Natural Language Generation Module.html b/Page/tutorials/Natural Language Generation Module.html new file mode 100644 index 0000000..1b3055b --- /dev/null +++ b/Page/tutorials/Natural Language Generation Module.html @@ -0,0 +1,12194 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<title>Natural Language Generation Module</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +@media (max-width: 991px) { + #ipython_notebook { + margin-left: 10px; + } +} +[dir="rtl"] #ipython_notebook { + float: right !important; +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#login_widget { + float: right; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + text-align: center; + vertical-align: middle; + display: inline; + opacity: 0; + z-index: 2; + width: 12ex; + margin-right: -12ex; +} +.alternate_upload .btn-upload { + height: 22px; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +[dir="rtl"] #tabs li { + float: right; +} +ul#tabs { + margin-bottom: 4px; +} +[dir="rtl"] ul#tabs { + margin-right: 0px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +[dir="rtl"] .list_toolbar .tree-buttons { + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-right { + padding-top: 1px; + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-left { + float: right !important; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: baseline; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +#tree-selector { + padding-right: 0px; +} +[dir="rtl"] #tree-selector a { + float: right; +} +#button-select-all { + min-width: 50px; +} +#select-all { + margin-left: 7px; + margin-right: 2px; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +[dir="rtl"] #new-menu { + text-align: right; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +[dir="rtl"] #running .col-sm-8 { + float: right !important; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight: bold; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + border-left-width: 1px; + padding-left: 5px; + background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} +div.cell.jupyter-soft-selected { + border-left-color: #90CAF9; + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected { + border-color: #ababab; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%); +} +@media print { + div.cell.selected { + border-color: transparent; + } +} +div.cell.selected.jupyter-soft-selected { + border-left-width: 0; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%); +} +.edit_mode div.cell.selected { + border-color: #66BB6A; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%); +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + min-width: 0; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding: 0.4em; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding: 0; + border: 0; + border-radius: 0; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul { + list-style: disc; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ul ul { + list-style: square; + margin: 0em 2em; +} +.rendered_html ul ul ul { + list-style: circle; + margin: 0em 2em; +} +.rendered_html ol { + list-style: decimal; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol { + list-style: lower-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; + margin: 0em 2em; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; + margin: 0em 2em; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; +} +.rendered_html pre, +.rendered_html code { + border: 0; + background-color: #fff; + color: #000; + font-size: 100%; + padding: 0px; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: 1px solid black; + border-collapse: collapse; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border: 1px solid black; + border-collapse: collapse; + margin: 1em 2em; +} +.rendered_html td, +.rendered_html th { + text-align: left; + vertical-align: middle; + padding: 4px; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget { + float: right !important; + float: right; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 21ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + margin-top: 6px; +} +span.save_widget span.filename { + height: 1em; + line-height: 1em; + padding: 3px; + margin-left: 16px; + border: none; + font-size: 146.5%; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + display: none; +} +.command-shortcut:before { + content: "(command)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + width: 100%; + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal .xterm-rows { + padding: 10px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow: visible; + padding: 8px; +} + +div#notebook { + overflow: visible; + border-top: none; +}@media print { + div.cell { + display: block; + page-break-inside: avoid; + } + div.output_wrapper { + display: block; + page-break-inside: avoid; + } + div.output { + display: block; + page-break-inside: avoid; + } +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +<!-- Loading mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --></head> +<body> + <div tabindex="-1" id="notebook" class="border-box-sizing"> + <div class="container" id="notebook-container"> + +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="Natural-Language-Generation">Natural Language Generation<a class="anchor-link" href="#Natural-Language-Generation">¶</a></h1><p>In the previous tutorial we faced the problem of appropriate delexicalization of the user sentence and creation of an user dialogue act which then can be processed in the reinforcement learning module. In this tutorial we will look at the reversed problem, i.e. learning a natural language generation (NLG) model that transforms a dialogue act to the full sentence in natural language and it can be understood by an user. The NLG module has a significant impact both on usability and perceived quality of the system.</p> +<p>Thus, our task consists of finding a mapping from an abstract dialogue act consisting of an act type and a set of attribute-value pairs into an appropriate surface text, for example:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">Dialogue</span> <span class="n">act</span><span class="p">:</span> <span class="n">Inform</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">Seven_days</span><span class="p">,</span> <span class="n">food</span><span class="o">=</span><span class="n">Chinese</span><span class="p">)</span> + +<span class="n">System</span> <span class="n">Output</span><span class="p">:</span> <span class="n">Seven_days</span> <span class="n">serves</span> <span class="n">Chinese</span> <span class="n">food</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Before we will describe four main models that can be used in PyDial, you can play around with one of them already to see +how it works and how it generates natural language sentences based on dialogue acts produced by the system by running the command:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">config</span><span class="o">/</span><span class="n">texthub</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Content:">Content:<a class="anchor-link" href="#Content:">¶</a></h2><ul> +<li><a href="#first-bullet">Rule-based models</a></li> +<li><a href="#2-bullet">Stochastic language generation with Recurrent Neural Networks</a><ul> +<li><a href="#3-bullet">RNN-based natural language generation model:</a></li> +<li><a href="#4-bullet">Semantically Conditioned LSTM-based natural language generation model:</a></li> +<li><a href="#5-bullet">Encoder-decoder for the NLG system</a></li> +</ul> +</li> +<li><a href="#0-bullet">PyDial/semo</a></li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Rule-based-model-">Rule-based model <a class="anchor" id="first-bullet" /><a class="anchor-link" href="#Rule-based-model-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>A convential approach to the natural language generation is to create a list of rules defining system +prompts for dialogue acts. The set of rules has variables for slot names and value names that are changed to the +specific values if we provide the dialogue act using regex expressions. You can find full of rules for all domains in <code>semo/templates</code>. Here we show some examples of them:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">inform</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="err">$</span><span class="n">X</span><span class="p">,</span><span class="nb">type</span><span class="o">=</span><span class="err">$</span><span class="n">U</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"$X serves $U food."</span><span class="p">;</span> +<span class="n">inform</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="err">$</span><span class="n">X</span><span class="p">,</span><span class="nb">type</span><span class="o">=</span><span class="err">$</span><span class="n">U</span><span class="p">,</span><span class="err">$</span><span class="n">Y</span><span class="o">=</span><span class="err">$</span><span class="n">O</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"$X is a nice $bU %$Y_inf($O)."</span><span class="p">;</span> +<span class="n">inform</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="err">$</span><span class="n">X</span><span class="p">,</span><span class="nb">type</span><span class="o">=</span><span class="err">$</span><span class="n">U</span><span class="p">,</span><span class="err">$</span><span class="n">Y</span><span class="o">=</span><span class="err">$</span><span class="n">O</span><span class="p">,</span><span class="err">$</span><span class="n">Z</span><span class="o">=</span><span class="err">$</span><span class="n">P</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"$X is a nice $U, %$Y_inf($O) and %$Z_inf($P)."</span><span class="p">;</span> + +<span class="n">request</span><span class="p">(</span><span class="nb">type</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"What are you looking for?"</span><span class="p">;</span> +<span class="n">request</span><span class="p">(</span><span class="n">area</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"What part of town do you have in mind? "</span><span class="p">;</span> +<span class="n">request</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"What is the name of the place you are looking for?"</span><span class="p">;</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In the case of the dialogue act from the previous section, we change variables X and U to Seven_days and Chinese based +on ontology and use inform rule based on the dialogue act.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Although such an approach is theoretically very easy to implement, it requires a substantial amount of handcrafting. Thus, in next sections we look at +automatic and data-driven approaches that will be not only more robust but provide better results in terms of +the user experience.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can test this model (it is implemented for all PyDial's domains) by running a command:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">config</span><span class="o">/</span><span class="n">texthub</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Stochastic-language-generation-with-Recurrent-Neural-Networks-(RNNs)-">Stochastic language generation with Recurrent Neural Networks (RNNs) <a class="anchor" id="2-bullet" /><a class="anchor-link" href="#Stochastic-language-generation-with-Recurrent-Neural-Networks-(RNNs)-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>An approach taken in the previous section is expensive to build because many of the processing components require a substantial amount of handcrafting which also requires expert knowledge. Moreover, such system cannot be easily adapted to new domains and the maintenance of it is a very challenging task.</p> +<p>That is why, the use of data-driven natural language generation methods for spoken dialogue systems might be seen as a natural solution to problems mentioned above. In PyDial library three statistical models are implemented that are based on recurrent neural networks.</p> +<p>An one-hot encoding $\mathbf{w}_t$ of a token is an input at each time step $t$ conditioned on a recurrent hidden layer $\mathbf{h}_t$ and outputs the probability distribution of the next token $w_{t+1}$. Because the system outputs probability vector we can sample from it which introduce randomness during generation and greatly improves the variability of generated utterances which is another advantage over rule-based systems. Finally, tokens can be lexicalised to form system utterance.</p> +<p>A graph below shows the standard recurrent architecture that is shared by all three models that we will describe in next sections.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="rnn.png" alt="Drawing" align="left" style="width: 400px; "/></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Before we will look at the differences in the architecture, you can chat with the system using one of them by running the command:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">config</span><span class="o">/</span><span class="n">texthub_rnnlg</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="RNN-based-natural-language-generation-model:">RNN-based natural language generation model:<a class="anchor-link" href="#RNN-based-natural-language-generation-model:">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Architectures based on a stand-alone RNN cell was often found to duplicate or omit some slot-value pairs from the dialogue act. In order to force network to use the information what parts of diaogue act was used or is missing we can introduce a control vector $\mathbf{f}$ constructed from the concatenation of one-hot encodings of the required dialogue act and slot-value pairs. We use this vector at every time step using a gated version $\mathbf{f}_t$ designed to discourage duplication of information in the generated output.</p> +<p>In order to handle the cases when there is no explicit value to delexicalise (for example, food=dont_care, kids_allowed=false) a convolutional neural network sentence model is used to ensure that the required dialogue +act and slot-value pairs are represented in the generated utterance, including the non-standard cases.</p> +<p>Finally, in vanilla RNNLM model the consecutive words are generated based only on the preceding history. In order to model backward contexts, after computing forward pass we use backward RNN to re-rank the candidates.</p> +<p>You can find more information about this model in <a href="http://mi.eng.cam.ac.uk/~thw28/papers/SigDial2015.pdf">Wen et al., 2015</a></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In order to use this architecture, in the config file under section <code>semo</code> you need to choose model 'hlstm':</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">semo_CamRestaurants</span><span class="p">]</span> +<span class="n">semotype</span> <span class="o">=</span> <span class="n">RNNSemO</span> +<span class="n">configfile</span> <span class="o">=</span> <span class="n">semo</span><span class="o">/</span><span class="n">RNNLG</span><span class="o">/</span><span class="n">config</span><span class="o">/</span><span class="n">hlstm</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Currently, the architecture was implemented only in CamRestaurants domain.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Semantically-Conditioned-LSTM-based-natural-language-generation-model:">Semantically Conditioned LSTM-based natural language generation model:<a class="anchor-link" href="#Semantically-Conditioned-LSTM-based-natural-language-generation-model:">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The next model that we will analyse uses LSTM cell inside the neural network architecture which helps prevent the vanishing +gradient problem which makes very difficult for vanilla RNN cell to learn long range dependencies.</p> +<p>To ensure that the whole dialogue act is generated and to avoid duplications or omissions of slots information we can introduce again control vector $\mathbf{d}$, a one-hot representation of the dialogue act type and its slot-value pairs. Unlike in the previous section won't use simple heuristics to turn off slot feature values in the control vector but gating mechanism through control cell. Starting from the original dialogue act one-hot +vector $\mathbf{d}_0$, at each time step the control cell decides what information should be retained for future +time steps and discards the others, i.e.:</p> +<p>$$\mathbf{r}_t = f(\mathbf{w}_t, \mathbf{h}_{t-1}),$$ +$$\mathbf{d}_t = g(\mathbf{r}_t, \mathbf{d}_{t-1}),$$</p> +<p>where $\mathbf{r}_t$ is a reading gate, $\mathbf{h}_{t-1}$ is a hidden vector from LSTM cell and $f$ and $g$ are functions that combine the information using specific operations. As previously, a one-hot encoding $\mathbf{w}_t$ of a token $w_t$ is an input at time step $t$ and the networks outputs the probability distribution of the next token $w_{t+1}$.</p> +<p>Adding additional layers of features proved to be effective way to improve performance in variety of tasks. In our case we can stack multiple LSTM cells on top of the dialogue act cell.</p> +<p>The resulting architecture has the form (in the shallow case):</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="lstm.png" alt="Drawing" align="left" style="width: 400px; "/></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can find more information about this model in <a href="http://mi.eng.cam.ac.uk/~thw28/papers/EMNLP15.pdf">Wen et al., 2015</a></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In order to use this architecture (shallow one), in the config file under section <code>semo</code> you need to choose model 'hlstm':</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">semo_CamRestaurants</span><span class="p">]</span> +<span class="n">semotype</span> <span class="o">=</span> <span class="n">RNNSemO</span> +<span class="n">configfile</span> <span class="o">=</span> <span class="n">semo</span><span class="o">/</span><span class="n">RNNLG</span><span class="o">/</span><span class="n">config</span><span class="o">/</span><span class="n">sclstm</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Currently, the architecture was implemented only in CamRestaurants domain.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Encoder-decoder-for-the-NLG-system">Encoder-decoder for the NLG system<a class="anchor-link" href="#Encoder-decoder-for-the-NLG-system">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>This time, we won't feed a dialogue act at every step of the generation of the output but rather encode it to a vector representation $\mathbf{z}$ that then will be used during generation.</p> +<p>First, we embed each slot-value pair into its vector representation: +$$ \mathbf{z}_i = \mathbf{s}_i + \mathbf{v}_i$$ +where $\mathbf{s}_i$ and $\mathbf{v}_i$ are the $i$-th slot and value embedding. The dialogue act at time $t$, $\mathbf{d}_t$, is then formed using attention mechanism which at a given time $t$ use appropriate parts of the dialogue act vector. +Finally $\mathbf{d}_t$ is fed to the normal LSTM cell. The figure below shows described architecture in hollistic way.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="encoder.png" alt="Drawing" align="left" style="width: 300px; "/></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can find more information about this model in <a href="http://mi.eng.cam.ac.uk/~thw28/papers/slunips2015.pdf">Wen et al., 2015</a></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In order to use this architecture, in the config file under section <code>semo</code> you need to choose model 'hlstm':</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">semo_CamRestaurants</span><span class="p">]</span> +<span class="n">semotype</span> <span class="o">=</span> <span class="n">RNNSemO</span> +<span class="n">configfile</span> <span class="o">=</span> <span class="n">semo</span><span class="o">/</span><span class="n">RNNLG</span><span class="o">/</span><span class="n">config</span><span class="o">/</span><span class="n">encdec</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Currently, the architecture was implemented only in CamRestaurants domain.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="PyDial/semo-">PyDial/semo <a class="anchor" id="0-bullet" /><a class="anchor-link" href="#PyDial/semo-">¶</a></h2><p>In PyDial there is a dedicated module for natural language generation under directory <code>semo</code> (semantic output). +The interface class is <code>SemO</code> in <code>SemOManager.py</code> which chooses which domain to generate from.</p> +<p>RNN models are instantiated through <code>RNNSemOMethods.py</code>, which reads appropriate configuration parameters from config file. The models themselves are in <code>semo/RNNLG</code> where all data needed to train and test from scratch your own RNN generator are provided. The code is based on Theano. For the requirements and more detailed documentation see <code>semo/RNNLG/README.md</code>.</p> +<p>The rule-based model is implemented in <code>RuleSemOMethods.py</code>. It supports all domains in PyDial. The basic template generator loads a list of template-based rules from a string. These are then applied on any input dialogue act and used to generate an output string. Templates for all domains can be found in <code>semo/templates</code>.</p> + +</div> +</div> +</div> + </div> + </div> +</body> + + + + +</html> diff --git a/Page/tutorials/Natural Language Generation Module.ipynb b/Page/tutorials/Natural Language Generation Module.ipynb new file mode 100644 index 0000000..d71d2d9 --- /dev/null +++ b/Page/tutorials/Natural Language Generation Module.ipynb @@ -0,0 +1,393 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Natural Language Generation\n", + "\n", + "In the previous tutorial we faced the problem of appropriate delexicalization of the user sentence and creation of an user dialogue act which then can be processed in the reinforcement learning module. In this tutorial we will look at the reversed problem, i.e. learning a natural language generation (NLG) model that transforms a dialogue act to the full sentence in natural language and it can be understood by an user. The NLG module has a significant impact both on usability and perceived quality of the system.\n", + "\n", + "Thus, our task consists of finding a mapping from an abstract dialogue act consisting of an act type and a set of attribute-value pairs into an appropriate surface text, for example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "Dialogue act: Inform(name=Seven_days, food=Chinese)\n", + "\n", + "System Output: Seven_days serves Chinese food" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before we will describe four main models that can be used in PyDial, you can play around with one of them already to see \n", + "how it works and how it generates natural language sentences based on dialogue acts produced by the system by running the command:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pydial chat config/texthub.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Content:\n", + "* [Rule-based models](#first-bullet)\n", + "* [Stochastic language generation with Recurrent Neural Networks](#2-bullet)\n", + " * [RNN-based natural language generation model:](#3-bullet)\n", + " * [Semantically Conditioned LSTM-based natural language generation model:](#4-bullet)\n", + " * [Encoder-decoder for the NLG system](#5-bullet)\n", + "* [PyDial/semo](#0-bullet)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Rule-based model <a class=\"anchor\" id=\"first-bullet\"></a>" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "A convential approach to the natural language generation is to create a list of rules defining system \n", + "prompts for dialogue acts. The set of rules has variables for slot names and value names that are changed to the\n", + "specific values if we provide the dialogue act using regex expressions. You can find full of rules for all domains in `semo/templates`. Here we show some examples of them:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "inform(name=$X,type=$U) : \"$X serves $U food.\";\n", + "inform(name=$X,type=$U,$Y=$O) : \"$X is a nice $bU %$Y_inf($O).\";\n", + "inform(name=$X,type=$U,$Y=$O,$Z=$P) : \"$X is a nice $U, %$Y_inf($O) and %$Z_inf($P).\";\n", + " \n", + "request(type) : \"What are you looking for?\";\n", + "request(area) : \"What part of town do you have in mind? \";\n", + "request(name) : \"What is the name of the place you are looking for?\";" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the case of the dialogue act from the previous section, we change variables X and U to Seven_days and Chinese based\n", + "on ontology and use inform rule based on the dialogue act." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Although such an approach is theoretically very easy to implement, it requires a substantial amount of handcrafting. Thus, in next sections we look at\n", + "automatic and data-driven approaches that will be not only more robust but provide better results in terms of\n", + "the user experience." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can test this model (it is implemented for all PyDial's domains) by running a command:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pydial chat config/texthub.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Stochastic language generation with Recurrent Neural Networks (RNNs) <a class=\"anchor\" id=\"2-bullet\"></a>\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "An approach taken in the previous section is expensive to build because many of the processing components require a substantial amount of handcrafting which also requires expert knowledge. Moreover, such system cannot be easily adapted to new domains and the maintenance of it is a very challenging task.\n", + "\n", + "That is why, the use of data-driven natural language generation methods for spoken dialogue systems might be seen as a natural solution to problems mentioned above. In PyDial library three statistical models are implemented that are based on recurrent neural networks.\n", + "\n", + "An one-hot encoding $\\mathbf{w}_t$ of a token is an input at each time step $t$ conditioned on a recurrent hidden layer $\\mathbf{h}_t$ and outputs the probability distribution of the next token $w_{t+1}$. Because the system outputs probability vector we can sample from it which introduce randomness during generation and greatly improves the variability of generated utterances which is another advantage over rule-based systems. Finally, tokens can be lexicalised to form system utterance. \n", + "\n", + "A graph below shows the standard recurrent architecture that is shared by all three models that we will describe in next sections." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<img src=\"rnn.png\" alt=\"Drawing\" align=\"left\" style=\"width: 400px; \"/>\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before we will look at the differences in the architecture, you can chat with the system using one of them by running the command:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pydial chat config/texthub_rnnlg.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### RNN-based natural language generation model:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Architectures based on a stand-alone RNN cell was often found to duplicate or omit some slot-value pairs from the dialogue act. In order to force network to use the information what parts of diaogue act was used or is missing we can introduce a control vector $\\mathbf{f}$ constructed from the concatenation of one-hot encodings of the required dialogue act and slot-value pairs. We use this vector at every time step using a gated version $\\mathbf{f}_t$ designed to discourage duplication of information in the generated output.\n", + "\n", + "In order to handle the cases when there is no explicit value to delexicalise (for example, food=dont_care, kids_allowed=false) a convolutional neural network sentence model is used to ensure that the required dialogue\n", + "act and slot-value pairs are represented in the generated utterance, including the non-standard cases.\n", + "\n", + "Finally, in vanilla RNNLM model the consecutive words are generated based only on the preceding history. In order to model backward contexts, after computing forward pass we use backward RNN to re-rank the candidates.\n", + "\n", + "You can find more information about this model in [Wen et al., 2015](http://mi.eng.cam.ac.uk/~thw28/papers/SigDial2015.pdf)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to use this architecture, in the config file under section `semo` you need to choose model 'hlstm':" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[semo_CamRestaurants]\n", + "semotype = RNNSemO\n", + "configfile = semo/RNNLG/config/hlstm.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Currently, the architecture was implemented only in CamRestaurants domain." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Semantically Conditioned LSTM-based natural language generation model:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The next model that we will analyse uses LSTM cell inside the neural network architecture which helps prevent the vanishing\n", + "gradient problem which makes very difficult for vanilla RNN cell to learn long range dependencies.\n", + "\n", + "To ensure that the whole dialogue act is generated and to avoid duplications or omissions of slots information we can introduce again control vector $\\mathbf{d}$, a one-hot representation of the dialogue act type and its slot-value pairs. Unlike in the previous section won't use simple heuristics to turn off slot feature values in the control vector but gating mechanism through control cell. Starting from the original dialogue act one-hot\n", + "vector $\\mathbf{d}_0$, at each time step the control cell decides what information should be retained for future\n", + "time steps and discards the others, i.e.:\n", + "\n", + "$$\\mathbf{r}_t = f(\\mathbf{w}_t, \\mathbf{h}_{t-1}),$$\n", + "$$\\mathbf{d}_t = g(\\mathbf{r}_t, \\mathbf{d}_{t-1}),$$\n", + "\n", + "where $\\mathbf{r}_t$ is a reading gate, $\\mathbf{h}_{t-1}$ is a hidden vector from LSTM cell and $f$ and $g$ are functions that combine the information using specific operations. As previously, a one-hot encoding $\\mathbf{w}_t$ of a token $w_t$ is an input at time step $t$ and the networks outputs the probability distribution of the next token $w_{t+1}$.\n", + "\n", + "Adding additional layers of features proved to be effective way to improve performance in variety of tasks. In our case we can stack multiple LSTM cells on top of the dialogue act cell.\n", + "\n", + "The resulting architecture has the form (in the shallow case):" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<img src=\"lstm.png\" alt=\"Drawing\" align=\"left\" style=\"width: 400px; \"/>\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can find more information about this model in [Wen et al., 2015](http://mi.eng.cam.ac.uk/~thw28/papers/EMNLP15.pdf)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to use this architecture (shallow one), in the config file under section `semo` you need to choose model 'hlstm':" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "[semo_CamRestaurants]\n", + "semotype = RNNSemO\n", + "configfile = semo/RNNLG/config/sclstm.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Currently, the architecture was implemented only in CamRestaurants domain." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Encoder-decoder for the NLG system" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This time, we won't feed a dialogue act at every step of the generation of the output but rather encode it to a vector representation $\\mathbf{z}$ that then will be used during generation. \n", + "\n", + "First, we embed each slot-value pair into its vector representation:\n", + "$$ \\mathbf{z}_i = \\mathbf{s}_i + \\mathbf{v}_i$$\n", + "where $\\mathbf{s}_i$ and $\\mathbf{v}_i$ are the $i$-th slot and value embedding. The dialogue act at time $t$, $\\mathbf{d}_t$, is then formed using attention mechanism which at a given time $t$ use appropriate parts of the dialogue act vector. \n", + "Finally $\\mathbf{d}_t$ is fed to the normal LSTM cell. The figure below shows described architecture in hollistic way." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<img src=\"encoder.png\" alt=\"Drawing\" align=\"left\" style=\"width: 300px; \"/>" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can find more information about this model in [Wen et al., 2015](http://mi.eng.cam.ac.uk/~thw28/papers/slunips2015.pdf)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to use this architecture, in the config file under section `semo` you need to choose model 'hlstm':" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[semo_CamRestaurants]\n", + "semotype = RNNSemO\n", + "configfile = semo/RNNLG/config/encdec.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Currently, the architecture was implemented only in CamRestaurants domain." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PyDial/semo <a class=\"anchor\" id=\"0-bullet\"></a>\n", + "\n", + "In PyDial there is a dedicated module for natural language generation under directory `semo` (semantic output). \n", + "The interface class is `SemO` in `SemOManager.py` which chooses which domain to generate from. \n", + "\n", + "RNN models are instantiated through `RNNSemOMethods.py`, which reads appropriate configuration parameters from config file. The models themselves are in `semo/RNNLG` where all data needed to train and test from scratch your own RNN generator are provided. The code is based on Theano. For the requirements and more detailed documentation see `semo/RNNLG/README.md`.\n", + "\n", + "The rule-based model is implemented in `RuleSemOMethods.py`. It supports all domains in PyDial. The basic template generator loads a list of template-based rules from a string. These are then applied on any input dialogue act and used to generate an output string. Templates for all domains can be found in `semo/templates`." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Page/tutorials/Natural+Language+Generation+Module.html b/Page/tutorials/Natural+Language+Generation+Module.html new file mode 100644 index 0000000..cf64e04 --- /dev/null +++ b/Page/tutorials/Natural+Language+Generation+Module.html @@ -0,0 +1,12192 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<title>Natural Language Generation Module</title> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +@media (max-width: 991px) { + #ipython_notebook { + margin-left: 10px; + } +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#login_widget { + float: right; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + text-align: center; + vertical-align: middle; + display: inline; + opacity: 0; + z-index: 2; + width: 12ex; + margin-right: -12ex; +} +.alternate_upload .btn-upload { + height: 22px; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +ul#tabs { + margin-bottom: 4px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: baseline; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +#tree-selector { + padding-right: 0px; +} +#button-select-all { + min-width: 50px; +} +#select-all { + margin-left: 7px; + margin-right: 2px; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight: bold; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + border-left-width: 1px; + padding-left: 5px; + background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} +div.cell.jupyter-soft-selected { + border-left-color: #90CAF9; + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected { + border-color: #ababab; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%); +} +@media print { + div.cell.selected { + border-color: transparent; + } +} +div.cell.selected.jupyter-soft-selected { + border-left-width: 0; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%); +} +.edit_mode div.cell.selected { + border-color: #66BB6A; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%); +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +@-moz-document url-prefix() { + div.inner_cell { + overflow-x: hidden; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding: 0.4em; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding: 0; + border: 0; + border-radius: 0; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul { + list-style: disc; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ul ul { + list-style: square; + margin: 0em 2em; +} +.rendered_html ul ul ul { + list-style: circle; + margin: 0em 2em; +} +.rendered_html ol { + list-style: decimal; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol { + list-style: lower-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; + margin: 0em 2em; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; + margin: 0em 2em; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; +} +.rendered_html pre, +.rendered_html code { + border: 0; + background-color: #fff; + color: #000; + font-size: 100%; + padding: 0px; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: 1px solid black; + border-collapse: collapse; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border: 1px solid black; + border-collapse: collapse; + margin: 1em 2em; +} +.rendered_html td, +.rendered_html th { + text-align: left; + vertical-align: middle; + padding: 4px; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget { + float: right !important; + float: right; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 20ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + margin-top: 6px; +} +span.save_widget span.filename { + height: 1em; + line-height: 1em; + padding: 3px; + margin-left: 16px; + border: none; + font-size: 146.5%; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + display: none; +} +.command-shortcut:before { + content: "(command)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow: visible; + padding: 8px; +} + +div#notebook { + overflow: visible; + border-top: none; +} + +@media print { + div.cell { + display: block; + page-break-inside: avoid; + } + div.output_wrapper { + display: block; + page-break-inside: avoid; + } + div.output { + display: block; + page-break-inside: avoid; + } +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +<!-- Loading mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --></head> +<body> + <div tabindex="-1" id="notebook" class="border-box-sizing"> + <div class="container" id="notebook-container"> + +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="Natural-Language-Generation">Natural Language Generation<a class="anchor-link" href="#Natural-Language-Generation">¶</a></h1><p>In the previous tutorial we faced the problem of appropriate delexicalization of the user sentence and creation of an user dialogue act which then can be processed in the reinforcement learning module. In this tutorial we will look at the reversed problem, i.e. learning a natural language generation (NLG) model that transforms a dialogue act to the full sentence in natural language and it can be understood by an user. The NLG module has a significant impact both on usability and perceived quality of the system.</p> +<p>Thus, our task consists of finding a mapping from an abstract dialogue act consisting of an act type and a set of attribute-value pairs into an appropriate surface text, for example:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">Dialogue</span> <span class="n">act</span><span class="p">:</span> <span class="n">Inform</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">Seven_days</span><span class="p">,</span> <span class="n">food</span><span class="o">=</span><span class="n">Chinese</span><span class="p">)</span> + +<span class="n">System</span> <span class="n">Output</span><span class="p">:</span> <span class="n">Seven_days</span> <span class="n">serves</span> <span class="n">Chinese</span> <span class="n">food</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Before we will describe four main models that can be used in PyDial, you can play around with one of them already to see +how it works and how it generates natural language sentences based on dialogue acts produced by the system by running the command:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">texthub</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Content:">Content:<a class="anchor-link" href="#Content:">¶</a></h2><ul> +<li><a href="#first-bullet">Rule-based models</a></li> +<li><a href="#2-bullet">Stochastic language generation with Recurrent Neural Networks</a><ul> +<li><a href="#3-bullet">RNN-based natural language generation model:</a></li> +<li><a href="#4-bullet">Semantically Conditioned LSTM-based natural language generation model:</a></li> +<li><a href="#5-bullet">Encoder-decoder for the NLG system</a></li> +</ul> +</li> +<li><a href="#0-bullet">PyDial/semo</a></li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Rule-based-model-">Rule-based model <a class="anchor" id="first-bullet" /><a class="anchor-link" href="#Rule-based-model-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>A convential approach to the natural language generation is to create a list of rules defining system +prompts for dialogue acts. The set of rules has variables for slot names and value names that are changed to the +specific values if we provide the dialogue act using regex expressions. You can find full of rules for all domains in <code>semo/templates</code>. Here we show some examples of them:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">inform</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="err">$</span><span class="n">X</span><span class="p">,</span><span class="nb">type</span><span class="o">=</span><span class="err">$</span><span class="n">U</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"$X serves $U food."</span><span class="p">;</span> +<span class="n">inform</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="err">$</span><span class="n">X</span><span class="p">,</span><span class="nb">type</span><span class="o">=</span><span class="err">$</span><span class="n">U</span><span class="p">,</span><span class="err">$</span><span class="n">Y</span><span class="o">=</span><span class="err">$</span><span class="n">O</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"$X is a nice $bU %$Y_inf($O)."</span><span class="p">;</span> +<span class="n">inform</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="err">$</span><span class="n">X</span><span class="p">,</span><span class="nb">type</span><span class="o">=</span><span class="err">$</span><span class="n">U</span><span class="p">,</span><span class="err">$</span><span class="n">Y</span><span class="o">=</span><span class="err">$</span><span class="n">O</span><span class="p">,</span><span class="err">$</span><span class="n">Z</span><span class="o">=</span><span class="err">$</span><span class="n">P</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"$X is a nice $U, %$Y_inf($O) and %$Z_inf($P)."</span><span class="p">;</span> + +<span class="n">request</span><span class="p">(</span><span class="nb">type</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"What are you looking for?"</span><span class="p">;</span> +<span class="n">request</span><span class="p">(</span><span class="n">area</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"What part of town do you have in mind? "</span><span class="p">;</span> +<span class="n">request</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="p">:</span> <span class="s2">"What is the name of the place you are looking for?"</span><span class="p">;</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In the case of the dialogue act from the previous section, we change variables X and U to Seven_days and Chinese based +on ontology and use inform rule based on the dialogue act.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Although such an approach is theoretically very easy to implement, it requires a substantial amount of handcrafting. Thus, in next sections we look at +automatic and data-driven approaches that will be not only more robust but provide better results in terms of +the user experience.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can test this model (it is implemented for all PyDial's domains) by running a command:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">texthub</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Stochastic-language-generation-with-Recurrent-Neural-Networks-(RNNs)-">Stochastic language generation with Recurrent Neural Networks (RNNs) <a class="anchor" id="2-bullet" /><a class="anchor-link" href="#Stochastic-language-generation-with-Recurrent-Neural-Networks-(RNNs)-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>An approach taken in the previous section is expensive to build because many of the processing components require a substantial amount of handcrafting which also requires expert knowledge. Moreover, such system cannot be easily adapted to new domains and the maintenance of it is a very challenging task.</p> +<p>That is why, the use of data-driven natural language generation methods for spoken dialogue systems might be seen as a natural solution to problems mentioned above. In PyDial library three statistical models are implemented that are based on recurrent neural networks.</p> +<p>An one-hot encoding $\mathbf{w}_t$ of a token is an input at each time step $t$ conditioned on a recurrent hidden layer $\mathbf{h}_t$ and outputs the probability distribution of the next token $w_{t+1}$. Because the system outputs probability vector we can sample from it which introduce randomness during generation and greatly improves the variability of generated utterances which is another advantage over rule-based systems. Finally, tokens can be lexicalised to form system utterance.</p> +<p>A graph below shows the standard recurrent architecture that is shared by all three models that we will describe in next sections.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="rnn.png" alt="Drawing" align="left" style="width: 400px; "/></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Before we will look at the differences in the architecture, you can chat with the system using one of them by running the command:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">texthub_rnnlg</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="RNN-based-natural-language-generation-model:">RNN-based natural language generation model:<a class="anchor-link" href="#RNN-based-natural-language-generation-model:">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Architectures based on a stand-alone RNN cell was often found to duplicate or omit some slot-value pairs from the dialogue act. In order to force network to use the information what parts of diaogue act was used or is missing we can introduce a control vector $\mathbf{f}$ constructed from the concatenation of one-hot encodings of the required dialogue act and slot-value pairs. We use this vector at every time step using a gated version $\mathbf{f}_t$ designed to discourage duplication of information in the generated output.</p> +<p>In order to handle the cases when there is no explicit value to delexicalise (for example, food=dont_care, kids_allowed=false) a convolutional neural network sentence model is used to ensure that the required dialogue +act and slot-value pairs are represented in the generated utterance, including the non-standard cases.</p> +<p>Finally, in vanilla RNNLM model the consecutive words are generated based only on the preceding history. In order to model backward contexts, after computing forward pass we use backward RNN to re-rank the candidates.</p> +<p>You can find more information about this model in <a href="http://mi.eng.cam.ac.uk/~thw28/papers/SigDial2015.pdf">Wen et al., 2015</a></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In order to use this architecture, in the config file under section <code>semo</code> you need to choose model 'hlstm':</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">semo_CamRestaurants</span><span class="p">]</span> +<span class="n">semotype</span> <span class="o">=</span> <span class="n">RNNSemO</span> +<span class="n">configfile</span> <span class="o">=</span> <span class="n">semo</span><span class="o">/</span><span class="n">RNNLG</span><span class="o">/</span><span class="n">config</span><span class="o">/</span><span class="n">hlstm</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Currently, the architecture was implemented only in CamRestaurants domain.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Semantically-Conditioned-LSTM-based-natural-language-generation-model:">Semantically Conditioned LSTM-based natural language generation model:<a class="anchor-link" href="#Semantically-Conditioned-LSTM-based-natural-language-generation-model:">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The next model that we will analyse uses LSTM cell inside the neural network architecture which helps prevent the vanishing +gradient problem which makes very difficult for vanilla RNN cell to learn long range dependencies.</p> +<p>To ensure that the whole dialogue act is generated and to avoid duplications or omissions of slots information we can introduce again control vector $\mathbf{d}$, a one-hot representation of the dialogue act type and its slot-value pairs. Unlike in the previous section won't use simple heuristics to turn off slot feature values in the control vector but gating mechanism through control cell. Starting from the original dialogue act one-hot +vector $\mathbf{d}_0$, at each time step the control cell decides what information should be retained for future +time steps and discards the others, i.e.:</p> +$$\mathbf{r}_t = f(\mathbf{w}_t, \mathbf{h}_{t-1}),$$$$\mathbf{d}_t = g(\mathbf{r}_t, \mathbf{d}_{t-1}),$$<p>where $\mathbf{r}_t$ is a reading gate, $\mathbf{h}_{t-1}$ is a hidden vector from LSTM cell and $f$ and $g$ are functions that combine the information using specific operations. As previously, a one-hot encoding $\mathbf{w}_t$ of a token $w_t$ is an input at time step $t$ and the networks outputs the probability distribution of the next token $w_{t+1}$.</p> +<p>Adding additional layers of features proved to be effective way to improve performance in variety of tasks. In our case we can stack multiple LSTM cells on top of the dialogue act cell.</p> +<p>The resulting architecture has the form (in the shallow case):</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="lstm.png" alt="Drawing" align="left" style="width: 400px; "/></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can find more information about this model in <a href="http://mi.eng.cam.ac.uk/~thw28/papers/EMNLP15.pdf">Wen et al., 2015</a></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In order to use this architecture (shallow one), in the config file under section <code>semo</code> you need to choose model 'hlstm':</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">semo_CamRestaurants</span><span class="p">]</span> +<span class="n">semotype</span> <span class="o">=</span> <span class="n">RNNSemO</span> +<span class="n">configfile</span> <span class="o">=</span> <span class="n">semo</span><span class="o">/</span><span class="n">RNNLG</span><span class="o">/</span><span class="n">config</span><span class="o">/</span><span class="n">sclstm</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Currently, the architecture was implemented only in CamRestaurants domain.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Encoder-decoder-for-the-NLG-system">Encoder-decoder for the NLG system<a class="anchor-link" href="#Encoder-decoder-for-the-NLG-system">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>This time, we won't feed a dialogue act at every step of the generation of the output but rather encode it to a vector representation $\mathbf{z}$ that then will be used during generation.</p> +<p>First, we embed each slot-value pair into its vector representation: +$$ \mathbf{z}_i = \mathbf{s}_i + \mathbf{v}_i$$ +where $\mathbf{s}_i$ and $\mathbf{v}_i$ are the $i$-th slot and value embedding. The dialogue act at time $t$, $\mathbf{d}_t$, is then formed using attention mechanism which at a given time $t$ use appropriate parts of the dialogue act vector. +Finally $\mathbf{d}_t$ is fed to the normal LSTM cell. The figure below shows described architecture in hollistic way.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><img src="encoder.png" alt="Drawing" align="left" style="width: 300px; "/></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can find more information about this model in <a href="http://mi.eng.cam.ac.uk/~thw28/papers/slunips2015.pdf">Wen et al., 2015</a></p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In order to use this architecture, in the config file under section <code>semo</code> you need to choose model 'hlstm':</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">semo_CamRestaurants</span><span class="p">]</span> +<span class="n">semotype</span> <span class="o">=</span> <span class="n">RNNSemO</span> +<span class="n">configfile</span> <span class="o">=</span> <span class="n">semo</span><span class="o">/</span><span class="n">RNNLG</span><span class="o">/</span><span class="n">config</span><span class="o">/</span><span class="n">encdec</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Currently, the architecture was implemented only in CamRestaurants domain.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="PyDial/semo-">PyDial/semo <a class="anchor" id="0-bullet" /><a class="anchor-link" href="#PyDial/semo-">¶</a></h2><p>In PyDial there is a dedicated module for natural language generation under directory <code>semo</code> (semantic output). +The interface class is <code>SemO</code> in <code>SemOManager.py</code> which chooses which domain to generate from.</p> +<p>RNN models are instantiated through <code>RNNSemOMethods.py</code>, which reads appropriate configuration parameters from config file. The models themselves are in <code>semo/RNNLG</code> where all data needed to train and test from scratch your own RNN generator are provided. The code is based on Theano. For the requirements and more detailed documentation see <code>semo/RNNLG/README.md</code>.</p> +<p>The rule-based model is implemented in <code>RuleSemOMethods.py</code>. It supports all domains in PyDial. The basic template generator loads a list of template-based rules from a string. These are then applied on any input dialogue act and used to generate an output string. Templates for all domains can be found in <code>semo/templates</code>.</p> + +</div> +</div> +</div> + </div> + </div> +</body> +</html> diff --git a/Page/tutorials/Policy module.html b/Page/tutorials/Policy module.html new file mode 100644 index 0000000..39c3538 --- /dev/null +++ b/Page/tutorials/Policy module.html @@ -0,0 +1,12159 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<title>Policy module</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +@media (max-width: 991px) { + #ipython_notebook { + margin-left: 10px; + } +} +[dir="rtl"] #ipython_notebook { + float: right !important; +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#login_widget { + float: right; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + text-align: center; + vertical-align: middle; + display: inline; + opacity: 0; + z-index: 2; + width: 12ex; + margin-right: -12ex; +} +.alternate_upload .btn-upload { + height: 22px; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +[dir="rtl"] #tabs li { + float: right; +} +ul#tabs { + margin-bottom: 4px; +} +[dir="rtl"] ul#tabs { + margin-right: 0px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +[dir="rtl"] .list_toolbar .tree-buttons { + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-right { + padding-top: 1px; + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-left { + float: right !important; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: baseline; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +#tree-selector { + padding-right: 0px; +} +[dir="rtl"] #tree-selector a { + float: right; +} +#button-select-all { + min-width: 50px; +} +#select-all { + margin-left: 7px; + margin-right: 2px; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +[dir="rtl"] #new-menu { + text-align: right; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +[dir="rtl"] #running .col-sm-8 { + float: right !important; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight: bold; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + border-left-width: 1px; + padding-left: 5px; + background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} +div.cell.jupyter-soft-selected { + border-left-color: #90CAF9; + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected { + border-color: #ababab; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%); +} +@media print { + div.cell.selected { + border-color: transparent; + } +} +div.cell.selected.jupyter-soft-selected { + border-left-width: 0; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%); +} +.edit_mode div.cell.selected { + border-color: #66BB6A; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%); +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + min-width: 0; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding: 0.4em; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding: 0; + border: 0; + border-radius: 0; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul { + list-style: disc; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ul ul { + list-style: square; + margin: 0em 2em; +} +.rendered_html ul ul ul { + list-style: circle; + margin: 0em 2em; +} +.rendered_html ol { + list-style: decimal; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol { + list-style: lower-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; + margin: 0em 2em; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; + margin: 0em 2em; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; +} +.rendered_html pre, +.rendered_html code { + border: 0; + background-color: #fff; + color: #000; + font-size: 100%; + padding: 0px; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: 1px solid black; + border-collapse: collapse; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border: 1px solid black; + border-collapse: collapse; + margin: 1em 2em; +} +.rendered_html td, +.rendered_html th { + text-align: left; + vertical-align: middle; + padding: 4px; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget { + float: right !important; + float: right; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 21ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + margin-top: 6px; +} +span.save_widget span.filename { + height: 1em; + line-height: 1em; + padding: 3px; + margin-left: 16px; + border: none; + font-size: 146.5%; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + display: none; +} +.command-shortcut:before { + content: "(command)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + width: 100%; + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal .xterm-rows { + padding: 10px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow: visible; + padding: 8px; +} + +div#notebook { + overflow: visible; + border-top: none; +}@media print { + div.cell { + display: block; + page-break-inside: avoid; + } + div.output_wrapper { + display: block; + page-break-inside: avoid; + } + div.output { + display: block; + page-break-inside: avoid; + } +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +<!-- Loading mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --></head> +<body> + <div tabindex="-1" id="notebook" class="border-box-sizing"> + <div class="container" id="notebook-container"> + +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="Policy-module">Policy module<a class="anchor-link" href="#Policy-module">¶</a></h1> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>One way of describing human-computer dialogue is to view it as a sequence of dialogue turns in which each turn consists of a system utterance followed by an user utterance. In the traditional approach to builiding spoken dialogue systems, the system utterances are determined by hand-coded rules and depend on the input that is received from the speech recogniser. We will</p> +<p>PyDial library provides an RL-environment where you can in easy way test your existing policies or train your own system.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Content:">Content:<a class="anchor-link" href="#Content:">¶</a></h2><ul> +<li><a href="#1-bullet">Hand-crafted policy</a></li> +<li><a href="#2-bullet">Dialogue as a control problem</a><ul> +<li><a href="#10-bullet">Gaussian Processes-SARSA algorithm</a></li> +</ul> +</li> +<li><a href="#5-bullet">Policy committee</a></li> +<li><a href="#0-bullet">PyDial/policy</a><ul> +<li><a href="#4-bullet">Configuration file</a><ul> +<li><a href="#6-bullet">GP-Policy settings</a></li> +<li><a href="#7-bullet">Committee settings</a></li> +</ul> +</li> +</ul> +</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Hand-crafted-policy-">Hand-crafted policy <a class="anchor" id="1-bullet" /><a class="anchor-link" href="#Hand-crafted-policy-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>A convential approach to handling human-computer dialogue is to create a set of rule based on +the slots defined in the ontology and fix thresholds. The illustrative global rules look as follows:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="k">if</span> <span class="n">global_summary</span><span class="p">[</span><span class="s1">'GLOBAL_BYCONSTRAINTS'</span><span class="p">]</span> <span class="o">></span> <span class="mf">0.5</span> <span class="ow">and</span> <span class="n">global_summary</span><span class="p">[</span><span class="s1">'GLOBAL_COUNT80'</span><span class="p">]</span> <span class="o">></span> <span class="mi">3</span><span class="p">:</span> + <span class="n">act</span> <span class="o">=</span> <span class="n">PolicyUtils</span><span class="o">.</span><span class="n">getGlobalAction</span><span class="p">(</span><span class="n">belief</span><span class="p">,</span> <span class="s1">'INFORM_BYNAME'</span><span class="p">,</span> <span class="n">domainString</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">domainString</span><span class="p">)</span> +<span class="k">elif</span> <span class="n">global_summary</span><span class="p">[</span><span class="s1">'GLOBAL_BYALTERNATIVES'</span><span class="p">]</span> <span class="o">></span> <span class="mf">0.5</span><span class="p">:</span> + <span class="n">act</span> <span class="o">=</span> <span class="n">PolicyUtils</span><span class="o">.</span><span class="n">getGlobalAction</span><span class="p">(</span><span class="n">belief</span><span class="p">,</span> <span class="s1">'INFORM_ALTERNATIVES'</span><span class="p">,</span> <span class="n">domainString</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">domainString</span><span class="p">)</span> +<span class="k">elif</span> <span class="n">global_summary</span><span class="p">[</span><span class="s1">'GLOBAL_BYNAME'</span><span class="p">]</span> <span class="o">></span> <span class="mf">0.5</span><span class="p">:</span> + <span class="n">act</span> <span class="o">=</span> <span class="n">PolicyUtils</span><span class="o">.</span><span class="n">getGlobalAction</span><span class="p">(</span><span class="n">belief</span><span class="p">,</span> <span class="s1">'INFORM_REQUESTED'</span><span class="p">,</span> <span class="n">domainString</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">domainString</span> <span class="p">,</span> + <span class="n">bookinginfo</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">booking_slots_got_value_for</span><span class="p">)</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In order to test this approach you can just run:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">config</span><span class="o">/</span><span class="n">Tut</span><span class="o">-</span><span class="n">hdc</span><span class="o">-</span><span class="n">CamInfo</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>For a real world dialogue system the number of such rules can be very large and a designer is required to manually implement +each of them. Moreover, the maintenance of the system is a very challenging task. Thus, in next sections we will analyse statistical +methods for learning dialogue policy.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Dialogue-as-a-control-problem-">Dialogue as a control problem <a class="anchor" id="2-bullet" /><a class="anchor-link" href="#Dialogue-as-a-control-problem-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The dialogue may be seen as a control problem where having a distributions over possible belief states we need to take some action which determines what the system says to user. +We may apply the reinforcement learning framework to our problem where we look for the optimal policy $\pi : \mathcal{B} \times \mathcal{A} \rightarrow [0,1]$ during the dialogues with the user. In the learning procedure we update the $Q$-function which has the form: +$$Q^{\pi}(\mathbf{b}, a) = \text{E}_{\pi} \{ \sum_{k=0}^{T-t} \gamma^k r_{t+k} | b_t = \mathbf{b}, a_t = a \},$$ +where $r_t$ is a reward at a time $t$, $\gamma > 0 $ is a discount factor. Then, the policy can be obtained by: +$$\pi(\mathbf{b}) = \arg \max_a \{Q(\mathbf{b,a}) : a \in \mathcal{A} \}.$$</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Gaussian-Processes-SARSA-algorithm-">Gaussian Processes-SARSA algorithm <a class="anchor" id="10-bullet" /><a class="anchor-link" href="#Gaussian-Processes-SARSA-algorithm-">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>We may model the $Q$-function using non-parametric approach via Gaussian processes with a zero mean and some kernel function $k(\cdot, \cdot)$, i.e.</p> +<p>$$Q(\mathbf{b},a) \sim \mathcal{GP}\left(0, k((\mathbf{b},a),(\mathbf{b},a)) \right).$$</p> +<p>Gaussian Processes follow a pure Bayesian framework which allows us to obtain the posterior given a new collected pair $(\mathbf{b},a)$. The chosen kernel function $k$ defines the observation's correlation with points collected so far which substantially increases the policy learning speed. Moreover, the non-parametric approach prevents us from over-fitting. This model is combined with classic RL method, SARSA, for the policy improvement.</p> +<p>You can find more information about this method in <a href="http://mi.eng.cam.ac.uk/~mg436/papers/gp-techrep.pdf">Gasic and Young, 2013</a></p> +<p>In order to test this model you can just run:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">train</span> <span class="n">config</span><span class="o">/</span><span class="n">Tut</span><span class="o">-</span><span class="n">gp</span><span class="o">-</span><span class="n">Multidomain</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Policy-committee-">Policy committee <a class="anchor" id="5-bullet" /><a class="anchor-link" href="#Policy-committee-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>PyDial enables also to build multi-domain dialogue system using Bayesian committee (BCM) approach which builds so-called 'committee' to take advantage advantage of having dialogue corpora even though from different domains. Committee members consist of estimators trained on different datasets. Training is analogous to the one described in the previous section. At every turn their estimated $Q$-values are combined to propose the final $Q$-value estimates using following formula:</p> +<p>$$\overline{Q} = \Sigma^Q(\mathbf{b},a)\sum_{i=1}^M \Sigma^Q_i(\mathbf{b},a)^{-1}\overline{Q}_i(\mathbf{b},a),\\ +\Sigma^Q(\mathbf{b},a)^{-1} = -(M-1)\ast k((\mathbf{b},a),(\mathbf{b},a))^{-1} + \sum_{i=1}^M \Sigma_i^Q (\mathbf{b},a)^{-1}$$</p> +<p>It was shown that such approach is especially beneficial for adaptation in multi-domain dialogue system. +In order to produce a generic policy that works across multiple domains belief state and action state are mapped to an abstract representation which is used for all committee members.</p> +<p>You can find more information about this method in <a href="https://arxiv.org/pdf/1609.02846.pdf">Gasic et al., 2016</a></p> +<p>In order to test this model you can just run:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">train</span> <span class="n">config</span><span class="o">/</span><span class="n">Tut</span><span class="o">-</span><span class="n">bcm</span><span class="o">-</span><span class="n">Multidomain</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="PyDial/policy-">PyDial/policy <a class="anchor" id="0-bullet" /><a class="anchor-link" href="#PyDial/policy-">¶</a></h2><p>In PyDial there is a dedicated module for policy learning under directory <code>policy</code>. <code>Policy</code> - an abstract class that defines an interface for a single domain policy is in Policy.py script. It has all required functions to build generic reward model.</p> +<p>GP-SARSA dialogue policy is implemented in <code>GPPolicy.py</code> with additional functionalities in <code>GPLib.py</code>. It derives from <code>Policy</code> class.</p> +<p>Hand-crafted policy is implemented <code>HDCPolicy.py</code>. It can be run with all provided domains.</p> +<p>Bayesian committee machine model is implemented in <code>PolicyCommittee.py</code> with class <code>CommitteeMember</code> providing interface methods for single domains. The policy is for a committee is handled by <code>PolicyCommittee</code> class.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Configuration-file-">Configuration file <a class="anchor" id="4-bullet" /><a class="anchor-link" href="#Configuration-file-">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">You</span> <span class="n">can</span> <span class="n">specify</span> <span class="n">detailed</span> <span class="n">parameters</span> <span class="n">of</span> <span class="n">your</span> <span class="n">policy</span> <span class="n">system</span> <span class="n">through</span> <span class="n">the</span> <span class="n">configuration</span> <span class="nb">file</span><span class="o">.</span> <span class="n">The</span> <span class="n">general</span> <span class="n">settings</span> <span class="ow">is</span> +<span class="n">under</span> <span class="n">the</span> <span class="n">section</span> <span class="sb">`policy_DOMAIN`</span><span class="o">.</span> <span class="n">We</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">policy_DOMAIN</span><span class="p">]</span> +<span class="n">belieftype</span> <span class="o">=</span> <span class="n">baseline</span> <span class="ow">or</span> <span class="n">focus</span> +<span class="n">useconfreq</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> <span class="c1"># use confirm request ?</span> +<span class="n">learning</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> <span class="c1"># policy learning?</span> +<span class="n">outpolicyfile</span> <span class="o">=</span> <span class="s1">''</span> +<span class="n">inpolicyfile</span> <span class="o">=</span> <span class="s1">''</span> +<span class="n">policytype</span> <span class="o">=</span> <span class="n">hdc</span> <span class="ow">or</span> <span class="n">gp</span> +<span class="n">startwithhello</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can choose belief tracker using <code>belieftype</code>. If you use the HDC policy you can choose to confirm request +using <code>useconfreq</code> option. Setting <code>learning</code> to True will train a model and you can specify whether to train from scratch +or by loading prexisting model providing a path to <code>inpolicyfile</code>. The policy can be saved to a provided path via +<code>outpolicyfile</code>. Finally, <code>startwithhello</code> is a domain dependent setting and it is overruled and set to True if using single domain +option.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h4 id="GP-Policy-settings-">GP-Policy settings <a class="anchor" id="6-bullet" /><a class="anchor-link" href="#GP-Policy-settings-">¶</a></h4><p>The specific option settings for a GP-Policy module can be given in <code>gppolicy</code> section. Here is the list of all options with possible values with default ones if there is only one provided:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">gppolicy_DOMAIN</span><span class="p">]</span> +<span class="n">kernel</span> <span class="o">=</span> <span class="n">polysort</span> <span class="ow">or</span> <span class="n">gausssort</span> +<span class="n">actionkerneltype</span> <span class="o">=</span> <span class="n">delta</span> <span class="ow">or</span> <span class="n">hdc</span> <span class="ow">or</span> <span class="n">distributed</span> +<span class="n">abstractslots</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +<span class="n">unabstractslots</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +<span class="n">thetafile</span> <span class="o">=</span> <span class="s1">''</span> +<span class="n">slotabstractionfile</span> <span class="o">=</span> <span class="s1">''</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>This section is relevant only if policytype under policy_DOMAIN is set to gp. <code>kernel</code> and <code>actionkerneltype</code> choose +belief and action kernels respectively. Option <code>abstractslots</code> is set to True if we want to use BCM. If training was performed +with BCM and now we train single domain <code>unabstractslots</code> should be set to True. <code>thetafile</code> sets a path to belief kernel hyperparameters file. +Default option for performing slot abstraction is to use hardcoded mapping found in <code>policy/slot_abstraction/</code> but can be given +another one through <code>slotabstractionfile</code>.</p> +<p>The detailed options for SARSA training are given under section <code>gpsarsa_DOMAIN</code> section:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">gpsarsa_DOMAIN</span><span class="p">]</span> +<span class="n">random</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +<span class="n">scale</span> <span class="o">=</span> <span class="mi">3</span> +<span class="n">saveasprior</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +<span class="n">numprior</span> <span class="o">=</span> <span class="mi">0</span> +<span class="n">gamma</span> <span class="o">=</span> <span class="mf">1.0</span> +<span class="n">sigma</span> <span class="o">=</span> <span class="mf">5.0</span> +<span class="n">nu</span> <span class="o">=</span> <span class="mf">0.001</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><code>random</code> specifies whether actions are chosen randomly. <code>scale</code> parameter chooses how much exploration we want +to perform as we sample from Gaussians of mean and std dev * scale. Learning scale set to be above 1 encourages exploration) +and for testing <code>scale</code> is usually set to 1. <code>saveasprior</code> and <code>numprior</code> control saving and the number of prior means. <code>gamma</code> is a discount factor and it is usually set to $1$ as we perform episodic tasks. <code>nu</code> is a dictionary sparcification threshold and <code>sigma</code> is residual noise.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h4 id="Committee-settings-">Committee settings <a class="anchor" id="7-bullet" /><a class="anchor-link" href="#Committee-settings-">¶</a></h4><p>The specific option settings for a BCM module can be given in <code>policycommittee</code> section. Here is the list of all options with possible values:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">policycommittee</span><span class="p">]</span> +<span class="n">bcm</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +<span class="n">pctype</span> <span class="o">=</span> <span class="n">hdc</span> <span class="ow">or</span> <span class="n">configset</span> +<span class="n">configsetcommittee</span> <span class="o">=</span> <span class="nb">list</span> <span class="n">of</span> <span class="n">domains</span> <span class="n">to</span> <span class="n">be</span> <span class="ow">in</span> <span class="n">committee</span> <span class="k">if</span> <span class="n">using</span> <span class="n">above</span> <span class="n">configset</span> +<span class="n">learningmethod</span> <span class="o">=</span> <span class="n">singleagent</span> <span class="ow">or</span> <span class="n">multiagent</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>BCM is used if <code>bcm = True</code>. Note that in that case you need to set abstractslots to True under [gppolicy_DOMAIN]. <code>pctype</code> chooses whether to youse hand-crafted policy (<code>hdc</code>) or policy specified by <code>configset</code> - this option requires configsetcommittee. <code>learningmethod</code> specifies whether we are learning an agent only in one domain. Default is just to do single agent learning - whereby only domain where actions are actually being taken is learning - with multiagent learning all in committee will learn.</p> + +</div> +</div> +</div> + </div> + </div> +</body> + + + + +</html> diff --git a/Page/tutorials/Policy module.ipynb b/Page/tutorials/Policy module.ipynb new file mode 100644 index 0000000..2f6802d --- /dev/null +++ b/Page/tutorials/Policy module.ipynb @@ -0,0 +1,379 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "# Policy module" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "One way of describing human-computer dialogue is to view it as a sequence of dialogue turns in which each turn consists of a system utterance followed by an user utterance. In the traditional approach to builiding spoken dialogue systems, the system utterances are determined by hand-coded rules and depend on the input that is received from the speech recogniser. We will \n", + "\n", + "\n", + "PyDial library provides an RL-environment where you can in easy way test your existing policies or train your own system." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Content:\n", + "* [Hand-crafted policy](#1-bullet)\n", + "* [Dialogue as a control problem](#2-bullet)\n", + " * [Gaussian Processes-SARSA algorithm](#10-bullet)\n", + "* [Policy committee](#5-bullet)\n", + "* [PyDial/policy](#0-bullet)\n", + " * [Configuration file](#4-bullet)\n", + " * [GP-Policy settings](#6-bullet)\n", + " * [Committee settings](#7-bullet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Hand-crafted policy <a class=\"anchor\" id=\"1-bullet\"></a>" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "A convential approach to handling human-computer dialogue is to create a set of rule based on \n", + "the slots defined in the ontology and fix thresholds. The illustrative global rules look as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "if global_summary['GLOBAL_BYCONSTRAINTS'] > 0.5 and global_summary['GLOBAL_COUNT80'] > 3:\n", + " act = PolicyUtils.getGlobalAction(belief, 'INFORM_BYNAME', domainString=self.domainString)\n", + "elif global_summary['GLOBAL_BYALTERNATIVES'] > 0.5:\n", + " act = PolicyUtils.getGlobalAction(belief, 'INFORM_ALTERNATIVES', domainString=self.domainString)\n", + "elif global_summary['GLOBAL_BYNAME'] > 0.5:\n", + " act = PolicyUtils.getGlobalAction(belief, 'INFORM_REQUESTED', domainString=self.domainString , \n", + " bookinginfo=self.booking_slots_got_value_for)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to test this approach you can just run:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pydial chat config/Tut-hdc-CamInfo.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "For a real world dialogue system the number of such rules can be very large and a designer is required to manually implement\n", + "each of them. Moreover, the maintenance of the system is a very challenging task. Thus, in next sections we will analyse statistical\n", + "methods for learning dialogue policy." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## Dialogue as a control problem <a class=\"anchor\" id=\"2-bullet\"></a>" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The dialogue may be seen as a control problem where having a distributions over possible belief states we need to take some action which determines what the system says to user. \n", + "We may apply the reinforcement learning framework to our problem where we look for the optimal policy $\\pi : \\mathcal{B} \\times \\mathcal{A} \\rightarrow [0,1]$ during the dialogues with the user. In the learning procedure we update the $Q$-function which has the form:\n", + "$$Q^{\\pi}(\\mathbf{b}, a) = \\text{E}_{\\pi} \\{ \\sum_{k=0}^{T-t} \\gamma^k r_{t+k} | b_t = \\mathbf{b}, a_t = a \\},$$\n", + "where $r_t$ is a reward at a time $t$, $\\gamma > 0 $ is a discount factor. Then, the policy can be obtained by:\n", + "$$\\pi(\\mathbf{b}) = \\arg \\max_a \\{Q(\\mathbf{b,a}) : a \\in \\mathcal{A} \\}.$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "### Gaussian Processes-SARSA algorithm <a class=\"anchor\" id=\"10-bullet\"></a>" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We may model the $Q$-function using non-parametric approach via Gaussian processes with a zero mean and some kernel function $k(\\cdot, \\cdot)$, i.e.\n", + "\n", + "$$Q(\\mathbf{b},a) \\sim \\mathcal{GP}\\left(0, k((\\mathbf{b},a),(\\mathbf{b},a)) \\right).$$ \n", + "\n", + "Gaussian Processes follow a pure Bayesian framework which allows us to obtain the posterior given a new collected pair $(\\mathbf{b},a)$. The chosen kernel function $k$ defines the observation's correlation with points collected so far which substantially increases the policy learning speed. Moreover, the non-parametric approach prevents us from over-fitting. This model is combined with classic RL method, SARSA, for the policy improvement. \n", + "\n", + "You can find more information about this method in [Gasic and Young, 2013](http://mi.eng.cam.ac.uk/~mg436/papers/gp-techrep.pdf)\n", + "\n", + "In order to test this model you can just run:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pydial train config/Tut-gp-Multidomain.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Policy committee <a class=\"anchor\" id=\"5-bullet\"></a>" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PyDial enables also to build multi-domain dialogue system using Bayesian committee (BCM) approach which builds so-called 'committee' to take advantage advantage of having dialogue corpora even though from different domains. Committee members consist of estimators trained on different datasets. Training is analogous to the one described in the previous section. At every turn their estimated $Q$-values are combined to propose the final $Q$-value estimates using following formula:\n", + "\n", + "$$\\overline{Q} = \\Sigma^Q(\\mathbf{b},a)\\sum_{i=1}^M \\Sigma^Q_i(\\mathbf{b},a)^{-1}\\overline{Q}_i(\\mathbf{b},a),\\\\\n", + "\\Sigma^Q(\\mathbf{b},a)^{-1} = -(M-1)\\ast k((\\mathbf{b},a),(\\mathbf{b},a))^{-1} + \\sum_{i=1}^M \\Sigma_i^Q (\\mathbf{b},a)^{-1}$$\n", + "\n", + "It was shown that such approach is especially beneficial for adaptation in multi-domain dialogue system.\n", + "In order to produce a generic policy that works across multiple domains belief state and action state are mapped to an abstract representation which is used for all committee members.\n", + "\n", + "You can find more information about this method in [Gasic et al., 2016](https://arxiv.org/pdf/1609.02846.pdf)\n", + "\n", + "In order to test this model you can just run:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pydial train config/Tut-bcm-Multidomain.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "## PyDial/policy <a class=\"anchor\" id=\"0-bullet\"></a>\n", + "\n", + "In PyDial there is a dedicated module for policy learning under directory `policy`. `Policy` - an abstract class that defines an interface for a single domain policy is in Policy.py script. It has all required functions to build generic reward model. \n", + "\n", + "GP-SARSA dialogue policy is implemented in `GPPolicy.py` with additional functionalities in `GPLib.py`. It derives from `Policy` class.\n", + "\n", + "Hand-crafted policy is implemented `HDCPolicy.py`. It can be run with all provided domains.\n", + "\n", + "Bayesian committee machine model is implemented in `PolicyCommittee.py` with class `CommitteeMember` providing interface methods for single domains. The policy is for a committee is handled by `PolicyCommittee` class.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "### Configuration file <a class=\"anchor\" id=\"4-bullet\"></a>" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "You can specify detailed parameters of your policy system through the configuration file. The general settings is \n", + "under the section `policy_DOMAIN`. We " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[policy_DOMAIN] \n", + "belieftype = baseline or focus\n", + "useconfreq = False or True # use confirm request ?\n", + "learning = False or True # policy learning?\n", + "outpolicyfile = '' \n", + "inpolicyfile = '' \n", + "policytype = hdc or gp \n", + "startwithhello = False or True " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can choose belief tracker using `belieftype`. If you use the HDC policy you can choose to confirm request \n", + "using `useconfreq` option. Setting `learning` to True will train a model and you can specify whether to train from scratch \n", + "or by loading prexisting model providing a path to `inpolicyfile`. The policy can be saved to a provided path via \n", + "`outpolicyfile`. Finally, `startwithhello` is a domain dependent setting and it is overruled and set to True if using single domain \n", + "option." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### GP-Policy settings <a class=\"anchor\" id=\"6-bullet\"></a>\n", + "\n", + "The specific option settings for a GP-Policy module can be given in `gppolicy` section. Here is the list of all options with possible values with default ones if there is only one provided:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[gppolicy_DOMAIN] \n", + "kernel = polysort or gausssort \n", + "actionkerneltype = delta or hdc or distributed \n", + "abstractslots = False or True \n", + "unabstractslots = False or True\n", + "thetafile = '' \n", + "slotabstractionfile = '' " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This section is relevant only if policytype under policy_DOMAIN is set to gp. `kernel` and `actionkerneltype` choose\n", + "belief and action kernels respectively. Option `abstractslots` is set to True if we want to use BCM. If training was performed\n", + "with BCM and now we train single domain `unabstractslots` should be set to True. `thetafile` sets a path to belief kernel hyperparameters file. \n", + "Default option for performing slot abstraction is to use hardcoded mapping found in `policy/slot_abstraction/` but can be given\n", + "another one through `slotabstractionfile`.\n", + "\n", + "The detailed options for SARSA training are given under section `gpsarsa_DOMAIN` section:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[gpsarsa_DOMAIN]\n", + "random = False or True \n", + "scale = 3 \n", + "saveasprior = False or True \n", + "numprior = 0 \n", + "gamma = 1.0 \n", + "sigma = 5.0 \n", + "nu = 0.001 " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`random` specifies whether actions are chosen randomly. `scale` parameter chooses how much exploration we want \n", + "to perform as we sample from Gaussians of mean and std dev * scale. Learning scale set to be above 1 encourages exploration)\n", + "and for testing `scale` is usually set to 1. `saveasprior` and `numprior` control saving and the number of prior means. `gamma` is a discount factor and it is usually set to $1$ as we perform episodic tasks. `nu` is a dictionary sparcification threshold and `sigma` is residual noise." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Committee settings <a class=\"anchor\" id=\"7-bullet\"></a>\n", + "\n", + "The specific option settings for a BCM module can be given in `policycommittee` section. Here is the list of all options with possible values:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[policycommittee] \n", + "bcm = False or True \n", + "pctype = hdc or configset \n", + "configsetcommittee = list of domains to be in committee if using above configset\n", + "learningmethod = singleagent or multiagent " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "BCM is used if `bcm = True`. Note that in that case you need to set abstractslots to True under [gppolicy_DOMAIN]. `pctype` chooses whether to youse hand-crafted policy (`hdc`) or policy specified by `configset` - this option requires configsetcommittee. `learningmethod` specifies whether we are learning an agent only in one domain. Default is just to do single agent learning - whereby only domain where actions are actually being taken is learning - with multiagent learning all in committee will learn.\n", + " " + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Page/tutorials/Policy+module.html b/Page/tutorials/Policy+module.html new file mode 100644 index 0000000..47aa87a --- /dev/null +++ b/Page/tutorials/Policy+module.html @@ -0,0 +1,12150 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<title>Policy module</title> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +@media (max-width: 991px) { + #ipython_notebook { + margin-left: 10px; + } +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#login_widget { + float: right; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + text-align: center; + vertical-align: middle; + display: inline; + opacity: 0; + z-index: 2; + width: 12ex; + margin-right: -12ex; +} +.alternate_upload .btn-upload { + height: 22px; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +ul#tabs { + margin-bottom: 4px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: baseline; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +#tree-selector { + padding-right: 0px; +} +#button-select-all { + min-width: 50px; +} +#select-all { + margin-left: 7px; + margin-right: 2px; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight: bold; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + border-left-width: 1px; + padding-left: 5px; + background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} +div.cell.jupyter-soft-selected { + border-left-color: #90CAF9; + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected { + border-color: #ababab; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%); +} +@media print { + div.cell.selected { + border-color: transparent; + } +} +div.cell.selected.jupyter-soft-selected { + border-left-width: 0; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%); +} +.edit_mode div.cell.selected { + border-color: #66BB6A; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%); +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +@-moz-document url-prefix() { + div.inner_cell { + overflow-x: hidden; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding: 0.4em; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding: 0; + border: 0; + border-radius: 0; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul { + list-style: disc; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ul ul { + list-style: square; + margin: 0em 2em; +} +.rendered_html ul ul ul { + list-style: circle; + margin: 0em 2em; +} +.rendered_html ol { + list-style: decimal; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol { + list-style: lower-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; + margin: 0em 2em; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; + margin: 0em 2em; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; +} +.rendered_html pre, +.rendered_html code { + border: 0; + background-color: #fff; + color: #000; + font-size: 100%; + padding: 0px; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: 1px solid black; + border-collapse: collapse; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border: 1px solid black; + border-collapse: collapse; + margin: 1em 2em; +} +.rendered_html td, +.rendered_html th { + text-align: left; + vertical-align: middle; + padding: 4px; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget { + float: right !important; + float: right; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 20ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + margin-top: 6px; +} +span.save_widget span.filename { + height: 1em; + line-height: 1em; + padding: 3px; + margin-left: 16px; + border: none; + font-size: 146.5%; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + display: none; +} +.command-shortcut:before { + content: "(command)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow: visible; + padding: 8px; +} + +div#notebook { + overflow: visible; + border-top: none; +} + +@media print { + div.cell { + display: block; + page-break-inside: avoid; + } + div.output_wrapper { + display: block; + page-break-inside: avoid; + } + div.output { + display: block; + page-break-inside: avoid; + } +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +<!-- Loading mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --></head> +<body> + <div tabindex="-1" id="notebook" class="border-box-sizing"> + <div class="container" id="notebook-container"> + +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="Policy-module">Policy module<a class="anchor-link" href="#Policy-module">¶</a></h1> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>One way of describing human-computer dialogue is to view it as a sequence of dialogue turns in which each turn consists of a system utterance followed by an user utterance. In the traditional approach to builiding spoken dialogue systems, the system utterances are determined by hand-coded rules and depend on the input that is received from the speech recogniser. We will</p> +<p>PyDial library provides an RL-environment where you can in easy way test your existing policies or train your own system.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Content:">Content:<a class="anchor-link" href="#Content:">¶</a></h2><ul> +<li><a href="#1-bullet">Hand-crafted policy</a></li> +<li><a href="#2-bullet">Dialogue as a control problem</a><ul> +<li><a href="#10-bullet">Gaussian Processes-SARSA algorithm</a></li> +</ul> +</li> +<li><a href="#5-bullet">Policy committee</a></li> +<li><a href="#0-bullet">PyDial/policy</a><ul> +<li><a href="#4-bullet">Configuration file</a><ul> +<li><a href="#6-bullet">GP-Policy settings</a></li> +<li><a href="#7-bullet">Committee settings</a></li> +</ul> +</li> +</ul> +</li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Hand-crafted-policy-">Hand-crafted policy <a class="anchor" id="1-bullet" /><a class="anchor-link" href="#Hand-crafted-policy-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>A convential approach to handling human-computer dialogue is to create a set of rule based on +the slots defined in the ontology and fix thresholds. The illustrative global rules look as follows:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="k">if</span> <span class="n">global_summary</span><span class="p">[</span><span class="s1">'GLOBAL_BYCONSTRAINTS'</span><span class="p">]</span> <span class="o">></span> <span class="mf">0.5</span> <span class="ow">and</span> <span class="n">global_summary</span><span class="p">[</span><span class="s1">'GLOBAL_COUNT80'</span><span class="p">]</span> <span class="o">></span> <span class="mi">3</span><span class="p">:</span> + <span class="n">act</span> <span class="o">=</span> <span class="n">PolicyUtils</span><span class="o">.</span><span class="n">getGlobalAction</span><span class="p">(</span><span class="n">belief</span><span class="p">,</span> <span class="s1">'INFORM_BYNAME'</span><span class="p">,</span> <span class="n">domainString</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">domainString</span><span class="p">)</span> +<span class="k">elif</span> <span class="n">global_summary</span><span class="p">[</span><span class="s1">'GLOBAL_BYALTERNATIVES'</span><span class="p">]</span> <span class="o">></span> <span class="mf">0.5</span><span class="p">:</span> + <span class="n">act</span> <span class="o">=</span> <span class="n">PolicyUtils</span><span class="o">.</span><span class="n">getGlobalAction</span><span class="p">(</span><span class="n">belief</span><span class="p">,</span> <span class="s1">'INFORM_ALTERNATIVES'</span><span class="p">,</span> <span class="n">domainString</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">domainString</span><span class="p">)</span> +<span class="k">elif</span> <span class="n">global_summary</span><span class="p">[</span><span class="s1">'GLOBAL_BYNAME'</span><span class="p">]</span> <span class="o">></span> <span class="mf">0.5</span><span class="p">:</span> + <span class="n">act</span> <span class="o">=</span> <span class="n">PolicyUtils</span><span class="o">.</span><span class="n">getGlobalAction</span><span class="p">(</span><span class="n">belief</span><span class="p">,</span> <span class="s1">'INFORM_REQUESTED'</span><span class="p">,</span> <span class="n">domainString</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">domainString</span> <span class="p">,</span> + <span class="n">bookinginfo</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">booking_slots_got_value_for</span><span class="p">)</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>In order to test this approach you can just run:m</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">simulate_multiDomains_HDC</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>For a real world dialogue system the number of such rules can be very large and a designer is required to manually implement +each of them. Moreover, the maintenance of the system is a very challenging task. Thus, in next sections we will analyse statistical +methods for learning dialogue policy.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Dialogue-as-a-control-problem-">Dialogue as a control problem <a class="anchor" id="2-bullet" /><a class="anchor-link" href="#Dialogue-as-a-control-problem-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>The dialogue may be seen as a control problem where having a distributions over possible belief states we need to take some action which determines what the system says to user. +We may apply the reinforcement learning framework to our problem where we look for the optimal policy $\pi : \mathcal{B} \times \mathcal{A} \rightarrow [0,1]$ during the dialogues with the user. In the learning procedure we update the $Q$-function which has the form: +$$Q^{\pi}(\mathbf{b}, a) = \text{E}_{\pi} \{ \sum_{k=0}^{T-t} \gamma^k r_{t+k} | b_t = \mathbf{b}, a_t = a \},$$ +where $r_t$ is a reward at a time $t$, $\gamma > 0 $ is a discount factor. Then, the policy can be obtained by: +$$\pi(\mathbf{b}) = \arg \max_a \{Q(\mathbf{b,a}) : a \in \mathcal{A} \}.$$</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Gaussian-Processes-SARSA-algorithm-">Gaussian Processes-SARSA algorithm <a class="anchor" id="10-bullet" /><a class="anchor-link" href="#Gaussian-Processes-SARSA-algorithm-">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>We may model the $Q$-function using non-parametric approach via Gaussian processes with a zero mean and some kernel function $k(\cdot, \cdot)$, i.e.</p> +$$Q(\mathbf{b},a) \sim \mathcal{GP}\left(0, k((\mathbf{b},a),(\mathbf{b},a)) \right).$$<p></p> +<p>Gaussian Processes follow a pure Bayesian framework which allows us to obtain the posterior given a new collected pair $(\mathbf{b},a)$. The chosen kernel function $k$ defines the observation's correlation with points collected so far which substantially increases the policy learning speed. Moreover, the non-parametric approach prevents us from over-fitting. This model is combined with classic RL method, SARSA, for the policy improvement.</p> +<p>You can find more information about this method in <a href="http://mi.eng.cam.ac.uk/~mg436/papers/gp-techrep.pdf">Gasic and Young, 2013</a></p> +<p>In order to test this model you can just run:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">simulate_multiDomains_GP</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Policy-committee-">Policy committee <a class="anchor" id="5-bullet" /><a class="anchor-link" href="#Policy-committee-">¶</a></h2> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>PyDial enables also to build multi-domain dialogue system using Bayesian committee (BCM) approach which builds so-called 'committee' to take advantage advantage of having dialogue corpora even though from different domains. Committee members consist of estimators trained on different datasets. Training is analogous to the one described in the previous section. At every turn their estimated $Q$-values are combined to propose the final $Q$-value estimates using following formula:</p> +$$\overline{Q} = \Sigma^Q(\mathbf{b},a)\sum_{i=1}^M \Sigma^Q_i(\mathbf{b},a)^{-1}\overline{Q}_i(\mathbf{b},a),\\ +\Sigma^Q(\mathbf{b},a)^{-1} = -(M-1)\ast k((\mathbf{b},a),(\mathbf{b},a))^{-1} + \sum_{i=1}^M \Sigma_i^Q (\mathbf{b},a)^{-1}$$<p>It was shown that such approach is especially beneficial for adaptation in multi-domain dialogue system. +In order to produce a generic policy that works across multiple domains belief state and action state are mapped to an abstract representation which is used for all committee members.</p> +<p>You can find more information about this method in <a href="https://arxiv.org/pdf/1609.02846.pdf">Gasic et al., 2016</a></p> +<p>In order to test this model you can just run:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">simulate_BCM</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="PyDial/policy-">PyDial/policy <a class="anchor" id="0-bullet" /><a class="anchor-link" href="#PyDial/policy-">¶</a></h2><p>In PyDial there is a dedicated module for policy learning under directory <code>policy</code>. <code>Policy</code> - an abstract class that defines an interface for a single domain policy is in Policy.py script. It has all required functions to build generic reward model.</p> +<p>GP-SARSA dialogue policy is implemented in <code>GPPolicy.py</code> with additional functionalities in <code>GPLib.py</code>. It derives from <code>Policy</code> class.</p> +<p>Hand-crafted policy is implemented <code>HDCPolicy.py</code>. It can be run with all provided domains.</p> +<p>Bayesian committee machine model is implemented in <code>PolicyCommittee.py</code> with class <code>CommitteeMember</code> providing interface methods for single domains. The policy is for a committee is handled by <code>PolicyCommittee</code> class.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h3 id="Configuration-file-">Configuration file <a class="anchor" id="4-bullet" /><a class="anchor-link" href="#Configuration-file-">¶</a></h3> +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">You</span> <span class="n">can</span> <span class="n">specify</span> <span class="n">detailed</span> <span class="n">parameters</span> <span class="n">of</span> <span class="n">your</span> <span class="n">policy</span> <span class="n">system</span> <span class="n">through</span> <span class="n">the</span> <span class="n">configuration</span> <span class="nb">file</span><span class="o">.</span> <span class="n">The</span> <span class="n">general</span> <span class="n">settings</span> <span class="ow">is</span> +<span class="n">under</span> <span class="n">the</span> <span class="n">section</span> <span class="sb">`policy_DOMAIN`</span><span class="o">.</span> <span class="n">We</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">policy_DOMAIN</span><span class="p">]</span> +<span class="n">belieftype</span> <span class="o">=</span> <span class="n">baseline</span> <span class="ow">or</span> <span class="n">focus</span> +<span class="n">useconfreq</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> <span class="c1"># use confirm request ?</span> +<span class="n">learning</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> <span class="c1"># policy learning?</span> +<span class="n">outpolicyfile</span> <span class="o">=</span> <span class="s1">''</span> +<span class="n">inpolicyfile</span> <span class="o">=</span> <span class="s1">''</span> +<span class="n">policytype</span> <span class="o">=</span> <span class="n">hdc</span> <span class="ow">or</span> <span class="n">gp</span> +<span class="n">startwithhello</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can choose belief tracker using <code>belieftype</code>. If you use the HDC policy you can choose to confirm request +using <code>useconfreq</code> option. Setting <code>learning</code> to True will train a model and you can specify whether to train from scratch +or by loading prexisting model providing a path to <code>inpolicyfile</code>. The policy can be saved to a provided path via +<code>outpolicyfile</code>. Finally, <code>startwithhello</code> is a domain dependent setting and it is overruled and set to True if using single domain +option.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h4 id="GP-Policy-settings-">GP-Policy settings <a class="anchor" id="6-bullet" /><a class="anchor-link" href="#GP-Policy-settings-">¶</a></h4><p>The specific option settings for a GP-Policy module can be given in <code>gppolicy</code> section. Here is the list of all options with possible values with default ones if there is only one provided:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">gppolicy_DOMAIN</span><span class="p">]</span> +<span class="n">kernel</span> <span class="o">=</span> <span class="n">polysort</span> <span class="ow">or</span> <span class="n">gausssort</span> +<span class="n">actionkerneltype</span> <span class="o">=</span> <span class="n">delta</span> <span class="ow">or</span> <span class="n">hdc</span> <span class="ow">or</span> <span class="n">distributed</span> +<span class="n">abstractslots</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +<span class="n">unabstractslots</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +<span class="n">thetafile</span> <span class="o">=</span> <span class="s1">''</span> +<span class="n">slotabstractionfile</span> <span class="o">=</span> <span class="s1">''</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>This section is relevant only if policytype under policy_DOMAIN is set to gp. <code>kernel</code> and <code>actionkerneltype</code> choose +belief and action kernels respectively. Option <code>abstractslots</code> is set to True if we want to use BCM. If training was performed +with BCM and now we train single domain <code>unabstractslots</code> should be set to True. <code>thetafile</code> sets a path to belief kernel hyperparameters file. +Default option for performing slot abstraction is to use hardcoded mapping found in <code>policy/slot_abstraction/</code> but can be given +another one through <code>slotabstractionfile</code>.</p> +<p>The detailed options for SARSA training are given under section <code>gpsarsa_DOMAIN</code> section:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">gpsarsa_DOMAIN</span><span class="p">]</span> +<span class="n">random</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +<span class="n">scale</span> <span class="o">=</span> <span class="mi">3</span> +<span class="n">saveasprior</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +<span class="n">numprior</span> <span class="o">=</span> <span class="mi">0</span> +<span class="n">gamma</span> <span class="o">=</span> <span class="mf">1.0</span> +<span class="n">sigma</span> <span class="o">=</span> <span class="mf">5.0</span> +<span class="n">nu</span> <span class="o">=</span> <span class="mf">0.001</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p><code>random</code> specifies whether actions are chosen randomly. <code>scale</code> parameter chooses how much exploration we want +to perform as we sample from Gaussians of mean and std dev * scale. Learning scale set to be above 1 encourages exploration) +and for testing <code>scale</code> is usually set to 1. <code>saveasprior</code> and <code>numprior</code> control saving and the number of prior means. <code>gamma</code> is a discount factor and it is usually set to $1$ as we perform episodic tasks. <code>nu</code> is a dictionary sparcification threshold and <code>sigma</code> is residual noise.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h4 id="Committee-settings-">Committee settings <a class="anchor" id="7-bullet" /><a class="anchor-link" href="#Committee-settings-">¶</a></h4><p>The specific option settings for a BCM module can be given in <code>policycommittee</code> section. Here is the list of all options with possible values:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">policycommittee</span><span class="p">]</span> +<span class="n">bcm</span> <span class="o">=</span> <span class="bp">False</span> <span class="ow">or</span> <span class="bp">True</span> +<span class="n">pctype</span> <span class="o">=</span> <span class="n">hdc</span> <span class="ow">or</span> <span class="n">configset</span> +<span class="n">configsetcommittee</span> <span class="o">=</span> <span class="nb">list</span> <span class="n">of</span> <span class="n">domains</span> <span class="n">to</span> <span class="n">be</span> <span class="ow">in</span> <span class="n">committee</span> <span class="k">if</span> <span class="n">using</span> <span class="n">above</span> <span class="n">configset</span> +<span class="n">learningmethod</span> <span class="o">=</span> <span class="n">singleagent</span> <span class="ow">or</span> <span class="n">multiagent</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>BCM is used if <code>bcm = True</code>. Note that in that case you need to set abstractslots to True under [gppolicy_DOMAIN]. <code>pctype</code> chooses whether to youse hand-crafted policy (<code>hdc</code>) or policy specified by <code>configset</code> - this option requires configsetcommittee. <code>learningmethod</code> specifies whether we are learning an agent only in one domain. Default is just to do single agent learning - whereby only domain where actions are actually being taken is learning - with multiagent learning all in committee will learn.</p> + +</div> +</div> +</div> + </div> + </div> +</body> +</html> diff --git a/Page/tutorials/README b/Page/tutorials/README new file mode 100644 index 0000000..5ebc4e3 --- /dev/null +++ b/Page/tutorials/README @@ -0,0 +1,18 @@ +The Jupyter Notebook App is a server-client application that allows editing and running +notebook documents via a web browser. However, no internet access is required. + +# INSTALLATION +It is recommended to install Jupyter through Anaconda or conda as they install this package by default. +Alternatively just run: +pip install jupyter + +# RUNNING +To open jupyter run in terminal (cd to cued-pydial before): +$jupyter notebook + +This will launch a new browser window (or a new tab) showing the Notebook Dashboard, +a sort of control panel that allows (among other things) to select which notebook to open. +Navigate to Tutorials folder to see available notebooks. + +To open on of them just click on it. You can run the notebook document step-by-step +(one cell a time) by pressing shift + enter. For more advanced options just press "h". \ No newline at end of file diff --git a/Page/tutorials/Spoken Language Understanding.html b/Page/tutorials/Spoken Language Understanding.html new file mode 100644 index 0000000..fe54a61 --- /dev/null +++ b/Page/tutorials/Spoken Language Understanding.html @@ -0,0 +1,11979 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<title>Spoken Language Understanding</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +@media (max-width: 991px) { + #ipython_notebook { + margin-left: 10px; + } +} +[dir="rtl"] #ipython_notebook { + float: right !important; +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#login_widget { + float: right; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + text-align: center; + vertical-align: middle; + display: inline; + opacity: 0; + z-index: 2; + width: 12ex; + margin-right: -12ex; +} +.alternate_upload .btn-upload { + height: 22px; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +[dir="rtl"] #tabs li { + float: right; +} +ul#tabs { + margin-bottom: 4px; +} +[dir="rtl"] ul#tabs { + margin-right: 0px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +[dir="rtl"] .list_toolbar .tree-buttons { + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-right { + padding-top: 1px; + float: left !important; +} +[dir="rtl"] .list_toolbar .pull-left { + float: right !important; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: baseline; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +#tree-selector { + padding-right: 0px; +} +[dir="rtl"] #tree-selector a { + float: right; +} +#button-select-all { + min-width: 50px; +} +#select-all { + margin-left: 7px; + margin-right: 2px; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +[dir="rtl"] #new-menu { + text-align: right; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +[dir="rtl"] #running .col-sm-8 { + float: right !important; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight: bold; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + border-left-width: 1px; + padding-left: 5px; + background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} +div.cell.jupyter-soft-selected { + border-left-color: #90CAF9; + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected { + border-color: #ababab; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%); +} +@media print { + div.cell.selected { + border-color: transparent; + } +} +div.cell.selected.jupyter-soft-selected { + border-left-width: 0; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%); +} +.edit_mode div.cell.selected { + border-color: #66BB6A; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%); +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + min-width: 0; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding: 0.4em; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding: 0; + border: 0; + border-radius: 0; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul { + list-style: disc; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ul ul { + list-style: square; + margin: 0em 2em; +} +.rendered_html ul ul ul { + list-style: circle; + margin: 0em 2em; +} +.rendered_html ol { + list-style: decimal; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol { + list-style: lower-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; + margin: 0em 2em; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; + margin: 0em 2em; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; +} +.rendered_html pre, +.rendered_html code { + border: 0; + background-color: #fff; + color: #000; + font-size: 100%; + padding: 0px; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: 1px solid black; + border-collapse: collapse; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border: 1px solid black; + border-collapse: collapse; + margin: 1em 2em; +} +.rendered_html td, +.rendered_html th { + text-align: left; + vertical-align: middle; + padding: 4px; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget { + float: right !important; + float: right; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 21ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + margin-top: 6px; +} +span.save_widget span.filename { + height: 1em; + line-height: 1em; + padding: 3px; + margin-left: 16px; + border: none; + font-size: 146.5%; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + display: none; +} +.command-shortcut:before { + content: "(command)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + width: 100%; + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal .xterm-rows { + padding: 10px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #0000FF } /* Name.Function.Magic */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .vm { color: #19177C } /* Name.Variable.Magic */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow: visible; + padding: 8px; +} + +div#notebook { + overflow: visible; + border-top: none; +}@media print { + div.cell { + display: block; + page-break-inside: avoid; + } + div.output_wrapper { + display: block; + page-break-inside: avoid; + } + div.output { + display: block; + page-break-inside: avoid; + } +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +<!-- Loading mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --></head> +<body> + <div tabindex="-1" id="notebook" class="border-box-sizing"> + <div class="container" id="notebook-container"> + +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="Spoken-Language-Understanding-(SLU)">Spoken Language Understanding (SLU)<a class="anchor-link" href="#Spoken-Language-Understanding-(SLU)">¶</a></h1> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Semantic decoding system is responsible for decoding the meaning of utterances sent to the system. Often dialogue systems are deployed in a noisy setting, where background noise and diverse user populations can result in high speech recognition error rates. Thus, SLU systems operate on the top $k$ hypotheses output by the speech recogniser and this creates additional challenges for effective transformation of spoken utterances to dialogue acts. Let's look at the illustrative procedure:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">Dialogue</span> <span class="n">turn</span><span class="p">:</span> <span class="n">Is</span> <span class="n">there</span> <span class="n">maybe</span> <span class="n">a</span> <span class="n">cheap</span> <span class="n">place</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">north</span> <span class="n">of</span> <span class="n">town</span> please<span class="o">?</span> +<span class="n">Dialogue</span> <span class="n">act</span> <span class="nb">type</span><span class="p">:</span> <span class="n">inform</span> +<span class="n">Semantic</span> <span class="n">slots</span><span class="p">:</span> <span class="n">price</span><span class="p">,</span> <span class="n">area</span> +<span class="n">Semantic</span> <span class="n">values</span><span class="p">:</span> <span class="n">cheap</span><span class="p">,</span> <span class="n">north</span> +<span class="n">Dialogue</span> <span class="n">act</span><span class="p">:</span> <span class="n">inform</span><span class="p">(</span><span class="n">price</span><span class="o">=</span><span class="n">cheap</span><span class="p">,</span> <span class="n">area</span><span class="o">=</span><span class="n">north</span><span class="p">)</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>As we can see, during the semantic decoding process we extract the information about dialogue act type, +which encodes the system or the user intention in a dialogue turn, and semantic slots and values that further +describe entities from the ontology that a dialogue turn refers to.</p> +<p>We can tackle this problem from two perspectives - first one involves creation of list of grammar rules that parse user utterances. Second approach relies on statistically trained models where we train classifiers to directly label utterances based on training data.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Content:">Content:<a class="anchor-link" href="#Content:">¶</a></h2><ul> +<li><a href="#first-bullet">Rule-based models</a></li> +<li><a href="#6-bullet">Support Vector Machines</a></li> +<li><a href="#0-bullet">PyDial/semi</a></li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Rule-based-model:-">Rule-based model: <a class="anchor" id="first-bullet" /><a class="anchor-link" href="#Rule-based-model:-">¶</a></h2><p>A natural solution to the problem is to create a set of rules that transforms the utterance to the dialogue act based +on the domain ontology. In the case of the general communication with the system, they might look like this:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="bp">self</span><span class="o">.</span><span class="n">rHELLO</span> <span class="o">=</span> <span class="s2">"(</span><span class="se">\b</span><span class="s2">|^|\ )(hi|hello)\s"</span> +<span class="bp">self</span><span class="o">.</span><span class="n">rNEG</span> <span class="o">=</span> <span class="s2">"(</span><span class="se">\b</span><span class="s2">|^|\ )(no</span><span class="se">\b</span><span class="s2">|wrong|incorrect|error)|not\ (true|correct|right)\s"</span> +<span class="bp">self</span><span class="o">.</span><span class="n">rAFFIRM</span> <span class="o">=</span> <span class="s2">"(yes|ok</span><span class="se">\b</span><span class="s2">|OK</span><span class="se">\b</span><span class="s2">|okay|sure|(that('?s| is) )?right)"</span> +<span class="bp">self</span><span class="o">.</span><span class="n">rBYE</span> <span class="o">=</span> <span class="s2">"(</span><span class="se">\b</span><span class="s2">|^|\ )(bye|goodbye|that'*s*\ (is\ )*all)(\s|$|\ )"</span> +<span class="bp">self</span><span class="o">.</span><span class="n">GREAT</span> <span class="o">=</span> <span class="s2">"(great|good|awesome)"</span> +<span class="bp">self</span><span class="o">.</span><span class="n">HELPFUL</span> <span class="o">=</span> <span class="s2">"(that((</span><span class="se">\'</span><span class="s2">)?s|\ (is|was))\ (very\ )?helpful)"</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>More specific expressions depend completely on the domain that we are operating on. A general framework for implementation rule-based system can be derived from <code>semi/RegexSemI.py</code>. +You can find specific scripts with regular expression for every domain in folder <code>semi/RegexSemI_DOMAIN</code>. In order to test this model you can just run:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">config</span><span class="o">/</span><span class="n">texthub</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>To use it in your specific config file you have to change in <code>semi</code> section the variable <code>semitype</code> to <code>RegexSemI</code>, for example:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">semi_CamRestaurants</span><span class="p">]</span> +<span class="n">semitype</span> <span class="o">=</span> <span class="n">RegexSemI</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Support-Vector-Machines--">Support Vector Machines <a class="anchor" id="6-bullet" /><a class="anchor-link" href="#Support-Vector-Machines--">¶</a></h2><p>As it was mentioned previously, we can look at semantic decoding as a classification task in which +we need to make predictions about the set of semantic concepts. However, this requires corpora data with labelled semantic concepts. Such an approach can easily handle $N$-best list of automatic speech recogniser hypotheses as in real conversational systems error rate of the top hypothesis is typically about 20-30% and thus robust system is needed.</p> +<p>Classification model that is implemented in PyDial is support vector machines which map input into a high-dimensional feature space where data is linearly separable. It was shown that such statistical approach can substantially improve performance both in terms of accuracy and overall dialogue reward.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>To use this approach with your specific config file you have to change in <code>semi</code> section the variable <code>semitype</code> to <code>SVMSemI</code>, for example:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">semi_CamRestaurants</span><span class="p">]</span> +<span class="n">semitype</span> <span class="o">=</span> <span class="n">SVMSemI</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can test it with just chatting with the system through pydial:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt"></div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">config</span><span class="o">/</span><span class="n">texthub_svm</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="PyDial/semi-">PyDial/semi <a class="anchor" id="0-bullet" /><a class="anchor-link" href="#PyDial/semi-">¶</a></h2><p>In PyDial there is a dedicated module for spoken language understanding under directory <code>semi</code> (semantic input). The interface class is <code>SemI</code> in <code>SemI.py</code> from which models explained above derive from. SVM model is implemented in <code>SVMSemI.py</code> while base class for rule-based model is in <code>RegexSemI.py</code> with specific instances for a given domain in <code>RegexSemI_DOMAIN.py</code>.</p> + +</div> +</div> +</div> + </div> + </div> +</body> + + + + +</html> diff --git a/Page/tutorials/Spoken Language Understanding.ipynb b/Page/tutorials/Spoken Language Understanding.ipynb new file mode 100644 index 0000000..145764c --- /dev/null +++ b/Page/tutorials/Spoken Language Understanding.ipynb @@ -0,0 +1,199 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Spoken Language Understanding (SLU)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Semantic decoding system is responsible for decoding the meaning of utterances sent to the system. Often dialogue systems are deployed in a noisy setting, where background noise and diverse user populations can result in high speech recognition error rates. Thus, SLU systems operate on the top $k$ hypotheses output by the speech recogniser and this creates additional challenges for effective transformation of spoken utterances to dialogue acts. Let's look at the illustrative procedure:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "Dialogue turn: Is there maybe a cheap place in the north of town please?\n", + "Dialogue act type: inform\n", + "Semantic slots: price, area\n", + "Semantic values: cheap, north\n", + "Dialogue act: inform(price=cheap, area=north)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we can see, during the semantic decoding process we extract the information about dialogue act type,\n", + "which encodes the system or the user intention in a dialogue turn, and semantic slots and values that further\n", + "describe entities from the ontology that a dialogue turn refers to.\n", + "\n", + "We can tackle this problem from two perspectives - first one involves creation of list of grammar rules that parse user utterances. Second approach relies on statistically trained models where we train classifiers to directly label utterances based on training data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Content:\n", + "* [Rule-based models](#first-bullet)\n", + "* [Support Vector Machines](#6-bullet)\n", + "* [PyDial/semi](#0-bullet)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Rule-based model: <a class=\"anchor\" id=\"first-bullet\"></a>\n", + "\n", + "A natural solution to the problem is to create a set of rules that transforms the utterance to the dialogue act based\n", + "on the domain ontology. In the case of the general communication with the system, they might look like this:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "self.rHELLO = \"(\\b|^|\\ )(hi|hello)\\s\"\n", + "self.rNEG = \"(\\b|^|\\ )(no\\b|wrong|incorrect|error)|not\\ (true|correct|right)\\s\" \n", + "self.rAFFIRM = \"(yes|ok\\b|OK\\b|okay|sure|(that('?s| is) )?right)\" \n", + "self.rBYE = \"(\\b|^|\\ )(bye|goodbye|that'*s*\\ (is\\ )*all)(\\s|$|\\ )\"\n", + "self.GREAT = \"(great|good|awesome)\"\n", + "self.HELPFUL = \"(that((\\')?s|\\ (is|was))\\ (very\\ )?helpful)\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "More specific expressions depend completely on the domain that we are operating on. A general framework for implementation rule-based system can be derived from `semi/RegexSemI.py`.\n", + "You can find specific scripts with regular expression for every domain in folder `semi/RegexSemI_DOMAIN`. In order to test this model you can just run:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pydial chat config/texthub.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To use it in your specific config file you have to change in `semi` section the variable `semitype` to `RegexSemI`, for example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[semi_CamRestaurants]\n", + "semitype = RegexSemI" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Support Vector Machines <a class=\"anchor\" id=\"6-bullet\"></a>\n", + "\n", + "As it was mentioned previously, we can look at semantic decoding as a classification task in which\n", + "we need to make predictions about the set of semantic concepts. However, this requires corpora data with labelled semantic concepts. Such an approach can easily handle $N$-best list of automatic speech recogniser hypotheses as in real conversational systems error rate of the top hypothesis is typically about 20-30% and thus robust system is needed.\n", + "\n", + "Classification model that is implemented in PyDial is support vector machines which map input into a high-dimensional feature space where data is linearly separable. It was shown that such statistical approach can substantially improve performance both in terms of accuracy and overall dialogue reward." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To use this approach with your specific config file you have to change in `semi` section the variable `semitype` to `SVMSemI`, for example:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "[semi_CamRestaurants]\n", + "semitype = SVMSemI" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can test it with just chatting with the system through pydial:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pydial chat config/texthub_svm.cfg" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PyDial/semi <a class=\"anchor\" id=\"0-bullet\"></a>\n", + "\n", + "In PyDial there is a dedicated module for spoken language understanding under directory `semi` (semantic input). The interface class is `SemI` in `SemI.py` from which models explained above derive from. SVM model is implemented in `SVMSemI.py` while base class for rule-based model is in `RegexSemI.py` with specific instances for a given domain in `RegexSemI_DOMAIN.py`." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Page/tutorials/Spoken+Language+Understanding.html b/Page/tutorials/Spoken+Language+Understanding.html new file mode 100644 index 0000000..39ac6da --- /dev/null +++ b/Page/tutorials/Spoken+Language+Understanding.html @@ -0,0 +1,11961 @@ +<!DOCTYPE html> +<html> +<head><meta charset="utf-8" /> +<title>Spoken Language Understanding</title> + +<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> + +<style type="text/css"> + /*! +* +* Twitter Bootstrap +* +*/ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); + src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + line-height: 1.42857143; + color: #000; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 3px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 18px; + margin-bottom: 18px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 18px; + margin-bottom: 9px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 9px; + margin-bottom: 9px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 33px; +} +h2, +.h2 { + font-size: 27px; +} +h3, +.h3 { + font-size: 23px; +} +h4, +.h4 { + font-size: 17px; +} +h5, +.h5 { + font-size: 13px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 9px; +} +.lead { + margin-bottom: 18px; + font-size: 14px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 19.5px; + } +} +small, +.small { + font-size: 92%; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 8px; + margin: 36px 0 18px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 9px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 18px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 541px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 9px 18px; + margin: 0 0 18px; + font-size: inherit; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 18px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 2px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #888; + background-color: transparent; + border-radius: 1px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; +} +pre { + display: block; + padding: 8.5px; + margin: 0 0 9px; + font-size: 12px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 2px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 768px) { + .container { + width: 768px; + } +} +@media (min-width: 992px) { + .container { + width: 940px; + } +} +@media (min-width: 1200px) { + .container { + width: 1140px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 0px; + padding-right: 0px; +} +.row { + margin-left: 0px; + margin-right: 0px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 0px; + padding-right: 0px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 18px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + overflow-x: auto; + min-height: 0.01%; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 13.5px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 18px; + font-size: 19.5px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control::-ms-expand { + border: 0; + background-color: transparent; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 32px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 45px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 18px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; + min-height: 31px; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 30px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-lg { + height: 45px; + line-height: 45px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.form-group-lg select.form-control { + height: 45px; + line-height: 45px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 45px; + min-height: 35px; + padding: 11px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 40px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 45px; + height: 45px; + line-height: 45px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 23px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #404040; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 25px; +} +.form-horizontal .form-group { + margin-left: 0px; + margin-right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 0px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 17px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + border-radius: 2px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + color: #337ab7; + font-weight: normal; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 2px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #262626; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + outline: 0; + background-color: #337ab7; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 541px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-top-left-radius: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; + border-radius: 3px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 13px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 2px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 1px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 17px; + border-radius: 3px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 8px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 2px 2px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 2px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 2px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 2px 2px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 30px; + margin-bottom: 18px; + border: 1px solid transparent; +} +@media (min-width: 541px) { + .navbar { + border-radius: 2px; + } +} +@media (min-width: 541px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 0px; + padding-left: 0px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 541px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 540px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: 0px; + margin-left: 0px; +} +@media (min-width: 541px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 541px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 541px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 6px 0px; + font-size: 17px; + line-height: 18px; + height: 30px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 541px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: 0px; + } +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 0px; + padding: 9px 10px; + margin-top: -2px; + margin-bottom: -2px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 2px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 541px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 3px 0px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 18px; +} +@media (max-width: 540px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 18px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 541px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 6px; + padding-bottom: 6px; + } +} +.navbar-form { + margin-left: 0px; + margin-right: 0px; + padding: 10px 0px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: -1px; + margin-bottom: -1px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 540px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 541px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-right-radius: 2px; + border-top-left-radius: 2px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: -1px; + margin-bottom: -1px; +} +.navbar-btn.btn-sm { + margin-top: 0px; + margin-bottom: 0px; +} +.navbar-btn.btn-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.navbar-text { + margin-top: 6px; + margin-bottom: 6px; +} +@media (min-width: 541px) { + .navbar-text { + float: left; + margin-left: 0px; + margin-right: 0px; + } +} +@media (min-width: 541px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + margin-right: 0px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555; +} +@media (max-width: 540px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #fff; +} +@media (max-width: 540px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 18px; + list-style: none; + background-color: #f5f5f5; + border-radius: 2px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #5e5e5e; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 18px 0; + border-radius: 2px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 17px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 1px; + border-top-left-radius: 1px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 1px; + border-top-right-radius: 1px; +} +.pager { + padding-left: 0; + margin: 18px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #fff; + line-height: 1; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 20px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 3px; + padding-left: 0px; + padding-right: 0px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 59px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 18px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 2px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #000; +} +.alert { + padding: 15px; + margin-bottom: 18px; + border: 1px solid transparent; + border-radius: 2px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 18px; + margin-bottom: 18px; + background-color: #f5f5f5; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 18px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + zoom: 1; + overflow: hidden; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 2px; + border-bottom-left-radius: 2px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; + cursor: not-allowed; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 18px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 2px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 15px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 1px; + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 1px; + border-top-right-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 1px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 1px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 1px; + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 1px; + border-bottom-right-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 1px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 1px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 18px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 2px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 3px; +} +.well-sm { + padding: 9px; + border-radius: 1px; +} +.close { + float: right; + font-size: 19.5px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 12px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} +.tooltip.top { + margin-top: -3px; + padding: 5px 0; +} +.tooltip.right { + margin-left: 3px; + padding: 0 5px; +} +.tooltip.bottom { + margin-top: 3px; + padding: 5px 0; +} +.tooltip.left { + margin-left: -3px; + padding: 0 5px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 2px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + right: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 13px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 3px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 13px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 2px 2px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top > .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; +} +.popover.bottom > .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -moz-transition: -moz-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + -moz-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after, +.item_buttons:before, +.item_buttons:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after, +.item_buttons:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*! +* +* Font Awesome +* +*/ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #fff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +/*! +* +* IPython base +* +*/ +.modal.fade .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +code { + color: #000; +} +pre { + font-size: inherit; + line-height: inherit; +} +label { + font-weight: normal; +} +/* Make the page background atleast 100% the height of the view port */ +/* Make the page itself atleast 70% the height of the view port */ +.border-box-sizing { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.corner-all { + border-radius: 2px; +} +.no-padding { + padding: 0px; +} +/* Flexible box model classes */ +/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ +/* This file is a compatability layer. It allows the usage of flexible box +model layouts accross multiple browsers, including older browsers. The newest, +universal implementation of the flexible box model is used when available (see +`Modern browsers` comments below). Browsers that are known to implement this +new spec completely include: + + Firefox 28.0+ + Chrome 29.0+ + Internet Explorer 11+ + Opera 17.0+ + +Browsers not listed, including Safari, are supported via the styling under the +`Old browsers` comments below. +*/ +.hbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +.hbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.vbox { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +.vbox > * { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; +} +.hbox.reverse, +.vbox.reverse, +.reverse { + /* Old browsers */ + -webkit-box-direction: reverse; + -moz-box-direction: reverse; + box-direction: reverse; + /* Modern browsers */ + flex-direction: row-reverse; +} +.hbox.box-flex0, +.vbox.box-flex0, +.box-flex0 { + /* Old browsers */ + -webkit-box-flex: 0; + -moz-box-flex: 0; + box-flex: 0; + /* Modern browsers */ + flex: none; + width: auto; +} +.hbox.box-flex1, +.vbox.box-flex1, +.box-flex1 { + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex, +.vbox.box-flex, +.box-flex { + /* Old browsers */ + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +.hbox.box-flex2, +.vbox.box-flex2, +.box-flex2 { + /* Old browsers */ + -webkit-box-flex: 2; + -moz-box-flex: 2; + box-flex: 2; + /* Modern browsers */ + flex: 2; +} +.box-group1 { + /* Deprecated */ + -webkit-box-flex-group: 1; + -moz-box-flex-group: 1; + box-flex-group: 1; +} +.box-group2 { + /* Deprecated */ + -webkit-box-flex-group: 2; + -moz-box-flex-group: 2; + box-flex-group: 2; +} +.hbox.start, +.vbox.start, +.start { + /* Old browsers */ + -webkit-box-pack: start; + -moz-box-pack: start; + box-pack: start; + /* Modern browsers */ + justify-content: flex-start; +} +.hbox.end, +.vbox.end, +.end { + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; +} +.hbox.center, +.vbox.center, +.center { + /* Old browsers */ + -webkit-box-pack: center; + -moz-box-pack: center; + box-pack: center; + /* Modern browsers */ + justify-content: center; +} +.hbox.baseline, +.vbox.baseline, +.baseline { + /* Old browsers */ + -webkit-box-pack: baseline; + -moz-box-pack: baseline; + box-pack: baseline; + /* Modern browsers */ + justify-content: baseline; +} +.hbox.stretch, +.vbox.stretch, +.stretch { + /* Old browsers */ + -webkit-box-pack: stretch; + -moz-box-pack: stretch; + box-pack: stretch; + /* Modern browsers */ + justify-content: stretch; +} +.hbox.align-start, +.vbox.align-start, +.align-start { + /* Old browsers */ + -webkit-box-align: start; + -moz-box-align: start; + box-align: start; + /* Modern browsers */ + align-items: flex-start; +} +.hbox.align-end, +.vbox.align-end, +.align-end { + /* Old browsers */ + -webkit-box-align: end; + -moz-box-align: end; + box-align: end; + /* Modern browsers */ + align-items: flex-end; +} +.hbox.align-center, +.vbox.align-center, +.align-center { + /* Old browsers */ + -webkit-box-align: center; + -moz-box-align: center; + box-align: center; + /* Modern browsers */ + align-items: center; +} +.hbox.align-baseline, +.vbox.align-baseline, +.align-baseline { + /* Old browsers */ + -webkit-box-align: baseline; + -moz-box-align: baseline; + box-align: baseline; + /* Modern browsers */ + align-items: baseline; +} +.hbox.align-stretch, +.vbox.align-stretch, +.align-stretch { + /* Old browsers */ + -webkit-box-align: stretch; + -moz-box-align: stretch; + box-align: stretch; + /* Modern browsers */ + align-items: stretch; +} +div.error { + margin: 2em; + text-align: center; +} +div.error > h1 { + font-size: 500%; + line-height: normal; +} +div.error > p { + font-size: 200%; + line-height: normal; +} +div.traceback-wrapper { + text-align: left; + max-width: 800px; + margin: auto; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color: #fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position: absolute; + left: 0px; + right: 0px; + top: 0px; + bottom: 0px; + overflow: visible; +} +body > #header { + /* Initially hidden to prevent FLOUC */ + display: none; + background-color: #fff; + /* Display over codemirror */ + position: relative; + z-index: 100; +} +body > #header #header-container { + padding-bottom: 5px; + padding-top: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +body > #header .header-bar { + width: 100%; + height: 1px; + background: #e7e7e7; + margin-bottom: -1px; +} +@media print { + body > #header { + display: none !important; + } +} +#header-spacer { + width: 100%; + visibility: hidden; +} +@media print { + #header-spacer { + display: none; + } +} +#ipython_notebook { + padding-left: 0px; + padding-top: 1px; + padding-bottom: 1px; +} +@media (max-width: 991px) { + #ipython_notebook { + margin-left: 10px; + } +} +#noscript { + width: auto; + padding-top: 16px; + padding-bottom: 16px; + text-align: center; + font-size: 22px; + color: red; + font-weight: bold; +} +#ipython_notebook img { + height: 28px; +} +#site { + width: 100%; + display: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: auto; +} +@media print { + #site { + height: auto !important; + } +} +/* Smaller buttons */ +.ui-button .ui-button-text { + padding: 0.2em 0.8em; + font-size: 77%; +} +input.ui-button { + padding: 0.3em 0.9em; +} +span#login_widget { + float: right; +} +span#login_widget > .button, +#logout { + color: #333; + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +span#login_widget > .button:hover, +#logout:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image: none; +} +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color: #fff; + border-color: #ccc; +} +span#login_widget > .button .badge, +#logout .badge { + color: #fff; + background-color: #333; +} +.nav-header { + text-transform: none; +} +#header > span { + margin-top: 10px; +} +.modal_stretch .modal-dialog { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + min-height: 80vh; +} +.modal_stretch .modal-dialog .modal-body { + max-height: calc(100vh - 200px); + overflow: auto; + flex: 1; +} +@media (min-width: 768px) { + .modal .modal-dialog { + width: 700px; + } +} +@media (min-width: 768px) { + select.form-control { + margin-left: 12px; + margin-right: 12px; + } +} +/*! +* +* IPython auth +* +*/ +.center-nav { + display: inline-block; + margin-bottom: -4px; +} +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color: none; + display: inline; +} +.alternate_upload.form { + padding: 0; + margin: 0; +} +.alternate_upload input.fileinput { + text-align: center; + vertical-align: middle; + display: inline; + opacity: 0; + z-index: 2; + width: 12ex; + margin-right: -12ex; +} +.alternate_upload .btn-upload { + height: 22px; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +ul#tabs { + margin-bottom: 4px; +} +ul#tabs a { + padding-top: 6px; + padding-bottom: 4px; +} +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration: none; +} +ul.breadcrumb i.icon-home { + font-size: 16px; + margin-right: 4px; +} +ul.breadcrumb span { + color: #5e5e5e; +} +.list_toolbar { + padding: 4px 0 4px 0; + vertical-align: middle; +} +.list_toolbar .tree-buttons { + padding-top: 1px; +} +.dynamic-buttons { + padding-top: 3px; + display: inline-block; +} +.list_toolbar [class*="span"] { + min-height: 24px; +} +.list_header { + font-weight: bold; + background-color: #EEE; +} +.list_placeholder { + font-weight: bold; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; +} +.list_container { + margin-top: 4px; + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 2px; +} +.list_container > div { + border-bottom: 1px solid #ddd; +} +.list_container > div:hover .list-item { + background-color: red; +} +.list_container > div:last-child { + border: none; +} +.list_item:hover .list_item { + background-color: #ddd; +} +.list_item a { + text-decoration: none; +} +.list_item:hover { + background-color: #fafafa; +} +.list_header > div, +.list_item > div { + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +.list_header > div input, +.list_item > div input { + margin-right: 7px; + margin-left: 14px; + vertical-align: baseline; + line-height: 22px; + position: relative; + top: -1px; +} +.list_header > div .item_link, +.list_item > div .item_link { + margin-left: -1px; + vertical-align: baseline; + line-height: 22px; +} +.new-file input[type=checkbox] { + visibility: hidden; +} +.item_name { + line-height: 22px; + height: 24px; +} +.item_icon { + font-size: 14px; + color: #5e5e5e; + margin-right: 7px; + margin-left: 7px; + line-height: 22px; + vertical-align: baseline; +} +.item_buttons { + line-height: 1em; + margin-left: -5px; +} +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float: left; +} +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left: 5px; +} +.item_buttons .btn { + min-width: 13ex; +} +.item_buttons .running-indicator { + padding-top: 4px; + color: #5cb85c; +} +.item_buttons .kernel-name { + padding-top: 4px; + color: #5bc0de; + margin-right: 7px; + float: left; +} +.toolbar_info { + height: 24px; + line-height: 24px; +} +.list_item input:not([type=checkbox]) { + padding-top: 3px; + padding-bottom: 3px; + height: 22px; + line-height: 14px; + margin: 0px; +} +.highlight_text { + color: blue; +} +#project_name { + display: inline-block; + padding-left: 7px; + margin-left: -2px; +} +#project_name > .breadcrumb { + padding: 0px; + margin-bottom: 0px; + background-color: transparent; + font-weight: bold; +} +#tree-selector { + padding-right: 0px; +} +#button-select-all { + min-width: 50px; +} +#select-all { + margin-left: 7px; + margin-right: 2px; +} +.menu_icon { + margin-right: 2px; +} +.tab-content .row { + margin-left: 0px; + margin-right: 0px; +} +.folder_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f114"; +} +.folder_icon:before.pull-left { + margin-right: .3em; +} +.folder_icon:before.pull-right { + margin-left: .3em; +} +.notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; +} +.notebook_icon:before.pull-left { + margin-right: .3em; +} +.notebook_icon:before.pull-right { + margin-left: .3em; +} +.running_notebook_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f02d"; + position: relative; + top: -1px; + color: #5cb85c; +} +.running_notebook_icon:before.pull-left { + margin-right: .3em; +} +.running_notebook_icon:before.pull-right { + margin-left: .3em; +} +.file_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f016"; + position: relative; + top: -2px; +} +.file_icon:before.pull-left { + margin-right: .3em; +} +.file_icon:before.pull-right { + margin-left: .3em; +} +#notebook_toolbar .pull-right { + padding-top: 0px; + margin-right: -1px; +} +ul#new-menu { + left: auto; + right: 0; +} +.kernel-menu-icon { + padding-right: 12px; + width: 24px; + content: "\f096"; +} +.kernel-menu-icon:before { + content: "\f096"; +} +.kernel-menu-icon-current:before { + content: "\f00c"; +} +#tab_content { + padding-top: 20px; +} +#running .panel-group .panel { + margin-top: 3px; + margin-bottom: 1em; +} +#running .panel-group .panel .panel-heading { + background-color: #EEE; + padding-top: 4px; + padding-bottom: 4px; + padding-left: 7px; + padding-right: 7px; + line-height: 22px; +} +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration: none; +} +#running .panel-group .panel .panel-body { + padding: 0px; +} +#running .panel-group .panel .panel-body .list_container { + margin-top: 0px; + margin-bottom: 0px; + border: 0px; + border-radius: 0px; +} +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom: 1px solid #ddd; +} +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom: 0px; +} +.delete-button { + display: none; +} +.duplicate-button { + display: none; +} +.rename-button { + display: none; +} +.shutdown-button { + display: none; +} +.dynamic-instructions { + display: inline-block; + padding-top: 4px; +} +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding: 0px 5px; +} +.selected-keymap i.fa:before { + content: "\f00c"; +} +#mode-menu { + overflow: auto; + max-height: 20em; +} +.edit_app #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom: -1px; +} +.dirty-indicator { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator.pull-left { + margin-right: .3em; +} +.dirty-indicator.pull-right { + margin-left: .3em; +} +.dirty-indicator-dirty { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-dirty.pull-left { + margin-right: .3em; +} +.dirty-indicator-dirty.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 20px; +} +.dirty-indicator-clean.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean.pull-right { + margin-left: .3em; +} +.dirty-indicator-clean:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f00c"; +} +.dirty-indicator-clean:before.pull-left { + margin-right: .3em; +} +.dirty-indicator-clean:before.pull-right { + margin-left: .3em; +} +#filename { + font-size: 16pt; + display: table; + padding: 0px 5px; +} +#current-mode { + padding-left: 5px; + padding-right: 5px; +} +#texteditor-backdrop { + padding-top: 20px; + padding-bottom: 20px; +} +@media not print { + #texteditor-backdrop { + background-color: #EEE; + } +} +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color: #fff; + } +} +@media not print { + #texteditor-backdrop #texteditor-container { + padding: 0px; + background-color: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight: bold; +} +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color: black; +} +.ansired { + color: darkred; +} +.ansigreen { + color: darkgreen; +} +.ansiyellow { + color: #c4a000; +} +.ansiblue { + color: darkblue; +} +.ansipurple { + color: darkviolet; +} +.ansicyan { + color: steelblue; +} +.ansigray { + color: gray; +} +/* and light for background, for the same reason */ +.ansibgblack { + background-color: black; +} +.ansibgred { + background-color: red; +} +.ansibggreen { + background-color: green; +} +.ansibgyellow { + background-color: yellow; +} +.ansibgblue { + background-color: blue; +} +.ansibgpurple { + background-color: magenta; +} +.ansibgcyan { + background-color: cyan; +} +.ansibggray { + background-color: gray; +} +div.cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + border-radius: 2px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + border-width: 1px; + border-style: solid; + border-color: transparent; + width: 100%; + padding: 5px; + /* This acts as a spacer between cells, that is outside the border */ + margin: 0px; + outline: none; + border-left-width: 1px; + padding-left: 5px; + background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} +div.cell.jupyter-soft-selected { + border-left-color: #90CAF9; + border-left-color: #E3F2FD; + border-left-width: 1px; + padding-left: 5px; + border-right-color: #E3F2FD; + border-right-width: 1px; + background: #E3F2FD; +} +@media print { + div.cell.jupyter-soft-selected { + border-color: transparent; + } +} +div.cell.selected { + border-color: #ababab; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%); +} +@media print { + div.cell.selected { + border-color: transparent; + } +} +div.cell.selected.jupyter-soft-selected { + border-left-width: 0; + padding-left: 6px; + background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%); +} +.edit_mode div.cell.selected { + border-color: #66BB6A; + border-left-width: 0px; + padding-left: 6px; + background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%); +} +@media print { + .edit_mode div.cell.selected { + border-color: transparent; + } +} +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width: 14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding: 0.4em; + margin: 0px; + font-family: monospace; + text-align: right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* Use default cursor */ + cursor: default; +} +@media (max-width: 540px) { + .prompt { + text-align: left; + } +} +div.inner_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +@-moz-document url-prefix() { + div.inner_cell { + overflow-x: hidden; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border: 1px solid #cfcfcf; + border-radius: 2px; + background: #f7f7f7; + line-height: 1.21429em; +} +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top: 0; + padding-bottom: 0; +} +div.unrecognized_cell { + padding: 5px 5px 5px 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.unrecognized_cell .inner_cell { + border-radius: 2px; + padding: 5px; + font-weight: bold; + color: red; + border: 1px solid #cfcfcf; + background: #eaeaea; +} +div.unrecognized_cell .inner_cell a { + color: inherit; + text-decoration: none; +} +div.unrecognized_cell .inner_cell a:hover { + color: inherit; + text-decoration: none; +} +@media (max-width: 540px) { + div.unrecognized_cell > div.prompt { + display: none; + } +} +div.code_cell { + /* avoid page breaking on code cells when printing */ +} +@media print { + div.code_cell { + page-break-inside: avoid; + } +} +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.input { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color: #303F9F; + border-top: 1px solid transparent; +} +div.input_area > div.highlight { + margin: 0.4em; + border: none; + padding: 0px; + background-color: transparent; +} +div.input_area > div.highlight > pre { + margin: 0px; + border: none; + padding: 0px; + background-color: transparent; +} +/* The following gets added to the <head> if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height: 1.21429em; + /* Changed from 1em to our global default */ + font-size: 14px; + height: auto; + /* Changed to auto to autogrow */ + background: none; + /* Changed from white to allow our bg to show through */ +} +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y: hidden; + overflow-x: auto; +} +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding: 0.4em; +} +.CodeMirror-linenumber { + padding: 0 8px 0 4px; +} +.CodeMirror-gutters { + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; +} +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding: 0; + border: 0; + border-radius: 0; +} +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> +Adapted from GitHub theme + +*/ +.highlight-base { + color: #000; +} +.highlight-variable { + color: #000; +} +.highlight-variable-2 { + color: #1a1a1a; +} +.highlight-variable-3 { + color: #333333; +} +.highlight-string { + color: #BA2121; +} +.highlight-comment { + color: #408080; + font-style: italic; +} +.highlight-number { + color: #080; +} +.highlight-atom { + color: #88F; +} +.highlight-keyword { + color: #008000; + font-weight: bold; +} +.highlight-builtin { + color: #008000; +} +.highlight-error { + color: #f00; +} +.highlight-operator { + color: #AA22FF; + font-weight: bold; +} +.highlight-meta { + color: #AA22FF; +} +/* previously not defined, copying from default codemirror */ +.highlight-def { + color: #00f; +} +.highlight-string-2 { + color: #f50; +} +.highlight-qualifier { + color: #555; +} +.highlight-bracket { + color: #997; +} +.highlight-tag { + color: #170; +} +.highlight-attribute { + color: #00c; +} +.highlight-header { + color: blue; +} +.highlight-quote { + color: #090; +} +.highlight-link { + color: #00c; +} +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color: #008000; + font-weight: bold; +} +.cm-s-ipython span.cm-atom { + color: #88F; +} +.cm-s-ipython span.cm-number { + color: #080; +} +.cm-s-ipython span.cm-def { + color: #00f; +} +.cm-s-ipython span.cm-variable { + color: #000; +} +.cm-s-ipython span.cm-operator { + color: #AA22FF; + font-weight: bold; +} +.cm-s-ipython span.cm-variable-2 { + color: #1a1a1a; +} +.cm-s-ipython span.cm-variable-3 { + color: #333333; +} +.cm-s-ipython span.cm-comment { + color: #408080; + font-style: italic; +} +.cm-s-ipython span.cm-string { + color: #BA2121; +} +.cm-s-ipython span.cm-string-2 { + color: #f50; +} +.cm-s-ipython span.cm-meta { + color: #AA22FF; +} +.cm-s-ipython span.cm-qualifier { + color: #555; +} +.cm-s-ipython span.cm-builtin { + color: #008000; +} +.cm-s-ipython span.cm-bracket { + color: #997; +} +.cm-s-ipython span.cm-tag { + color: #170; +} +.cm-s-ipython span.cm-attribute { + color: #00c; +} +.cm-s-ipython span.cm-header { + color: blue; +} +.cm-s-ipython span.cm-quote { + color: #090; +} +.cm-s-ipython span.cm-link { + color: #00c; +} +.cm-s-ipython span.cm-error { + color: #f00; +} +.cm-s-ipython span.cm-tab { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position: right; + background-repeat: no-repeat; +} +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position: relative; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + z-index: 1; +} +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height: 24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width: 100%; + overflow: auto; + border-radius: 2px; + -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); + display: block; +} +/* output div while it is collapsed */ +div.output_collapsed { + margin: 0px; + padding: 0px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +div.out_prompt_overlay { + height: 100%; + padding: 0px 0.4em; + position: absolute; + border-radius: 2px; +} +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow: inset 0 0 1px #000; + box-shadow: inset 0 0 1px #000; + background: rgba(240, 240, 240, 0.5); +} +div.output_prompt { + color: #D84315; +} +/* This class is the outer container of all output sections. */ +div.output_area { + padding: 0px; + page-break-inside: avoid; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +div.output_area .MathJax_Display { + text-align: left !important; +} +div.output_area .rendered_html table { + margin-left: 0; + margin-right: 0; +} +div.output_area .rendered_html img { + margin-left: 0; + margin-right: 0; +} +div.output_area img, +div.output_area svg { + max-width: 100%; + height: auto; +} +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width: none; +} +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; +} +@media (max-width: 540px) { + div.output_area { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-align: stretch; + display: box; + box-orient: vertical; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: column; + align-items: stretch; + } +} +div.output_area pre { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; + color: black; + background-color: transparent; + border-radius: 0; +} +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x: auto; + padding: 0.4em; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; + max-width: calc(100% - 14ex); +} +div.output_scroll div.output_subarea { + overflow-x: visible; +} +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align: left; + color: #000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height: 1.21429em; +} +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background: #fdd; + /* very light red background for stderr */ +} +div.output_latex { + text-align: left; +} +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding: 0; +} +.js-error { + color: darkred; +} +/* raw_input styles */ +div.raw_input_container { + line-height: 1.21429em; + padding-top: 5px; +} +pre.raw_input_prompt { + /* nothing needed here. */ +} +input.raw_input { + font-family: monospace; + font-size: inherit; + color: inherit; + width: auto; + /* make sure input baseline aligns with prompt */ + vertical-align: baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding: 0em 0.25em; + margin: 0em 0.25em; +} +input.raw_input:focus { + box-shadow: none; +} +p.p-space { + margin-bottom: 10px; +} +div.output_unrecognized { + padding: 5px; + font-weight: bold; + color: red; +} +div.output_unrecognized a { + color: inherit; + text-decoration: none; +} +div.output_unrecognized a:hover { + color: inherit; + text-decoration: none; +} +.rendered_html { + color: #000; + /* any extras will just be numbers: */ +} +.rendered_html em { + font-style: italic; +} +.rendered_html strong { + font-weight: bold; +} +.rendered_html u { + text-decoration: underline; +} +.rendered_html :link { + text-decoration: underline; +} +.rendered_html :visited { + text-decoration: underline; +} +.rendered_html h1 { + font-size: 185.7%; + margin: 1.08em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h2 { + font-size: 157.1%; + margin: 1.27em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h3 { + font-size: 128.6%; + margin: 1.55em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h4 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; +} +.rendered_html h5 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h6 { + font-size: 100%; + margin: 2em 0 0 0; + font-weight: bold; + line-height: 1.0; + font-style: italic; +} +.rendered_html h1:first-child { + margin-top: 0.538em; +} +.rendered_html h2:first-child { + margin-top: 0.636em; +} +.rendered_html h3:first-child { + margin-top: 0.777em; +} +.rendered_html h4:first-child { + margin-top: 1em; +} +.rendered_html h5:first-child { + margin-top: 1em; +} +.rendered_html h6:first-child { + margin-top: 1em; +} +.rendered_html ul { + list-style: disc; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ul ul { + list-style: square; + margin: 0em 2em; +} +.rendered_html ul ul ul { + list-style: circle; + margin: 0em 2em; +} +.rendered_html ol { + list-style: decimal; + margin: 0em 2em; + padding-left: 0px; +} +.rendered_html ol ol { + list-style: upper-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol { + list-style: lower-alpha; + margin: 0em 2em; +} +.rendered_html ol ol ol ol { + list-style: lower-roman; + margin: 0em 2em; +} +.rendered_html ol ol ol ol ol { + list-style: decimal; + margin: 0em 2em; +} +.rendered_html * + ul { + margin-top: 1em; +} +.rendered_html * + ol { + margin-top: 1em; +} +.rendered_html hr { + color: black; + background-color: black; +} +.rendered_html pre { + margin: 1em 2em; +} +.rendered_html pre, +.rendered_html code { + border: 0; + background-color: #fff; + color: #000; + font-size: 100%; + padding: 0px; +} +.rendered_html blockquote { + margin: 1em 2em; +} +.rendered_html table { + margin-left: auto; + margin-right: auto; + border: 1px solid black; + border-collapse: collapse; +} +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border: 1px solid black; + border-collapse: collapse; + margin: 1em 2em; +} +.rendered_html td, +.rendered_html th { + text-align: left; + vertical-align: middle; + padding: 4px; +} +.rendered_html th { + font-weight: bold; +} +.rendered_html * + table { + margin-top: 1em; +} +.rendered_html p { + text-align: left; +} +.rendered_html * + p { + margin-top: 1em; +} +.rendered_html img { + display: block; + margin-left: auto; + margin-right: auto; +} +.rendered_html * + img { + margin-top: 1em; +} +.rendered_html img, +.rendered_html svg { + max-width: 100%; + height: auto; +} +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width: none; +} +div.text_cell { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; +} +@media (max-width: 540px) { + div.text_cell > div.prompt { + display: none; + } +} +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline: none; + resize: none; + width: inherit; + border-style: none; + padding: 0.5em 0.5em 0.5em 0.4em; + color: #000; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +a.anchor-link:link { + text-decoration: none; + padding: 0px 20px; + visibility: hidden; +} +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility: visible; +} +.text_cell.rendered .input_area { + display: none; +} +.text_cell.rendered .rendered_html { + overflow-x: auto; + overflow-y: hidden; +} +.text_cell.unrendered .text_cell_render { + display: none; +} +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight: bold; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.cm-header-1 { + font-size: 185.7%; +} +.cm-header-2 { + font-size: 157.1%; +} +.cm-header-3 { + font-size: 128.6%; +} +.cm-header-4 { + font-size: 110%; +} +.cm-header-5 { + font-size: 100%; + font-style: italic; +} +.cm-header-6 { + font-size: 100%; + font-style: italic; +} +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width: 767px) { + .notebook_app { + padding-left: 0px; + padding-right: 0px; + } +} +#ipython-main-app { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook_panel { + margin: 0px; + padding: 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + height: 100%; +} +div#notebook { + font-size: 14px; + line-height: 20px; + overflow-y: hidden; + overflow-x: auto; + width: 100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top: 20px; + margin: 0px; + outline: none; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + min-height: 100%; +} +@media not print { + #notebook-container { + padding: 15px; + background-color: #fff; + min-height: 0; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} +@media print { + #notebook-container { + width: 100%; + } +} +div.ui-widget-content { + border: 1px solid #ababab; + outline: none; +} +pre.dialog { + background-color: #f7f7f7; + border: 1px solid #ddd; + border-radius: 2px; + padding: 0.4em; + padding-left: 2em; +} +p.dialog { + padding: 0.2em; +} +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space: pre-wrap; +} +#fonttest { + font-family: monospace; +} +p { + margin-bottom: 0; +} +.end_space { + min-height: 100px; + transition: height .2s ease; +} +.notebook_app > #header { + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +@media not print { + .notebook_app { + background-color: #EEE; + } +} +kbd { + border-style: solid; + border-width: 1px; + box-shadow: none; + margin: 2px; + padding-left: 2px; + padding-right: 2px; + padding-top: 1px; + padding-bottom: 1px; +} +/* CSS for the cell toolbar */ +.celltoolbar { + border: thin solid #CFCFCF; + border-bottom: none; + background: #EEE; + border-radius: 2px 2px 0px 0px; + width: 100%; + height: 29px; + padding-right: 4px; + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + /* Old browsers */ + -webkit-box-pack: end; + -moz-box-pack: end; + box-pack: end; + /* Modern browsers */ + justify-content: flex-end; + display: -webkit-flex; +} +@media print { + .celltoolbar { + display: none; + } +} +.ctb_hideshow { + display: none; + vertical-align: bottom; +} +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display: block; +} +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius: 0px; + border-top-left-radius: 0px; +} +.ctb_global_show .ctb_show ~ div.text_cell_render { + border: 1px solid #cfcfcf; +} +.celltoolbar { + font-size: 87%; + padding-top: 3px; +} +.celltoolbar select { + display: block; + width: 100%; + height: 32px; + padding: 6px 12px; + font-size: 13px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 1px; + width: inherit; + font-size: inherit; + height: 22px; + padding: 0px; + display: inline-block; +} +.celltoolbar select:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.celltoolbar select::-moz-placeholder { + color: #999; + opacity: 1; +} +.celltoolbar select:-ms-input-placeholder { + color: #999; +} +.celltoolbar select::-webkit-input-placeholder { + color: #999; +} +.celltoolbar select::-ms-expand { + border: 0; + background-color: transparent; +} +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color: #eeeeee; + opacity: 1; +} +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor: not-allowed; +} +textarea.celltoolbar select { + height: auto; +} +select.celltoolbar select { + height: 30px; + line-height: 30px; +} +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height: auto; +} +.celltoolbar label { + margin-left: 5px; + margin-right: 5px; +} +.completions { + position: absolute; + z-index: 110; + overflow: hidden; + border: 1px solid #ababab; + border-radius: 2px; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + line-height: 1; +} +.completions select { + background: white; + outline: none; + border: none; + padding: 0px; + margin: 0px; + overflow: auto; + font-family: monospace; + font-size: 110%; + color: #000; + width: auto; +} +.completions select option.context { + color: #286090; +} +#kernel_logo_widget { + float: right !important; + float: right; +} +#kernel_logo_widget .current_kernel_logo { + display: none; + margin-top: -1px; + margin-bottom: -1px; + width: 32px; + height: 32px; +} +#menubar { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin-top: 1px; +} +#menubar .navbar { + border-top: 1px; + border-radius: 0px 0px 2px 2px; + margin-bottom: 0px; +} +#menubar .navbar-toggle { + float: left; + padding-top: 7px; + padding-bottom: 7px; + border: none; +} +#menubar .navbar-collapse { + clear: left; +} +.nav-wrapper { + border-bottom: 1px solid #e7e7e7; +} +i.menu-icon { + padding-top: 4px; +} +ul#help_menu li a { + overflow: hidden; + padding-right: 2.2em; +} +ul#help_menu li a i { + margin-right: -1.2em; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu > a:after { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + display: block; + content: "\f0da"; + float: right; + color: #333333; + margin-top: 2px; + margin-right: -10px; +} +.dropdown-submenu > a:after.pull-left { + margin-right: .3em; +} +.dropdown-submenu > a:after.pull-right { + margin-left: .3em; +} +.dropdown-submenu:hover > a:after { + color: #262626; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; +} +#notification_area { + float: right !important; + float: right; + z-index: 10; +} +.indicator_area { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#kernel_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + border-left: 1px solid; +} +#kernel_indicator .kernel_indicator_name { + padding-left: 5px; + padding-right: 5px; +} +#modal_indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; +} +#readonly-indicator { + float: right !important; + float: right; + color: #777; + margin-left: 5px; + margin-right: 5px; + width: 11px; + z-index: 10; + text-align: center; + width: auto; + margin-top: 2px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + display: none; +} +.modal_indicator:before { + width: 1.28571429em; + text-align: center; +} +.edit_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f040"; +} +.edit_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.edit_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.command_mode .modal_indicator:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: ' '; +} +.command_mode .modal_indicator:before.pull-left { + margin-right: .3em; +} +.command_mode .modal_indicator:before.pull-right { + margin-left: .3em; +} +.kernel_idle_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f10c"; +} +.kernel_idle_icon:before.pull-left { + margin-right: .3em; +} +.kernel_idle_icon:before.pull-right { + margin-left: .3em; +} +.kernel_busy_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f111"; +} +.kernel_busy_icon:before.pull-left { + margin-right: .3em; +} +.kernel_busy_icon:before.pull-right { + margin-left: .3em; +} +.kernel_dead_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f1e2"; +} +.kernel_dead_icon:before.pull-left { + margin-right: .3em; +} +.kernel_dead_icon:before.pull-right { + margin-left: .3em; +} +.kernel_disconnected_icon:before { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + content: "\f127"; +} +.kernel_disconnected_icon:before.pull-left { + margin-right: .3em; +} +.kernel_disconnected_icon:before.pull-right { + margin-left: .3em; +} +.notification_widget { + color: #777; + z-index: 10; + background: rgba(240, 240, 240, 0.5); + margin-right: 4px; + color: #333; + background-color: #fff; + border-color: #ccc; +} +.notification_widget:focus, +.notification_widget.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.notification_widget:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image: none; +} +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color: #fff; + border-color: #ccc; +} +.notification_widget .badge { + color: #fff; + background-color: #333; +} +.notification_widget.warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.notification_widget.warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image: none; +} +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color: #f0ad4e; + border-color: #eea236; +} +.notification_widget.warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.notification_widget.success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success:focus, +.notification_widget.success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.notification_widget.success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image: none; +} +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color: #5cb85c; + border-color: #4cae4c; +} +.notification_widget.success .badge { + color: #5cb85c; + background-color: #fff; +} +.notification_widget.info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info:focus, +.notification_widget.info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.notification_widget.info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image: none; +} +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color: #5bc0de; + border-color: #46b8da; +} +.notification_widget.info .badge { + color: #5bc0de; + background-color: #fff; +} +.notification_widget.danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.notification_widget.danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image: none; +} +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.notification_widget.danger .badge { + color: #d9534f; + background-color: #fff; +} +div#pager { + background-color: #fff; + font-size: 14px; + line-height: 20px; + overflow: hidden; + display: none; + position: fixed; + bottom: 0px; + width: 100%; + max-height: 50%; + padding-top: 8px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index: 100; + /* Hack which prevents jquery ui resizable from changing top. */ + top: auto !important; +} +div#pager pre { + line-height: 1.21429em; + color: #000; + background-color: #f7f7f7; + padding: 0.4em; +} +div#pager #pager-button-area { + position: absolute; + top: 8px; + right: 20px; +} +div#pager #pager-contents { + position: relative; + overflow: auto; + width: 100%; + height: 100%; +} +div#pager #pager-contents #pager-container { + position: relative; + padding: 15px 0px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +div#pager .ui-resizable-handle { + top: 0px; + height: 8px; + background: #f7f7f7; + border-top: 1px solid #cfcfcf; + border-bottom: 1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} +div#pager .ui-resizable-handle::after { + content: ''; + top: 2px; + left: 50%; + height: 3px; + width: 30px; + margin-left: -15px; + position: absolute; + border-top: 1px solid #cfcfcf; +} +.quickhelp { + /* Old browsers */ + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: stretch; + display: -moz-box; + -moz-box-orient: horizontal; + -moz-box-align: stretch; + display: box; + box-orient: horizontal; + box-align: stretch; + /* Modern browsers */ + display: flex; + flex-direction: row; + align-items: stretch; + line-height: 1.8em; +} +.shortcut_key { + display: inline-block; + width: 20ex; + text-align: right; + font-family: monospace; +} +.shortcut_descr { + display: inline-block; + /* Old browsers */ + -webkit-box-flex: 1; + -moz-box-flex: 1; + box-flex: 1; + /* Modern browsers */ + flex: 1; +} +span.save_widget { + margin-top: 6px; +} +span.save_widget span.filename { + height: 1em; + line-height: 1em; + padding: 3px; + margin-left: 16px; + border: none; + font-size: 146.5%; + border-radius: 2px; +} +span.save_widget span.filename:hover { + background-color: #e6e6e6; +} +span.checkpoint_status, +span.autosave_status { + font-size: small; +} +@media (max-width: 767px) { + span.save_widget { + font-size: small; + } + span.checkpoint_status, + span.autosave_status { + display: none; + } +} +@media (min-width: 768px) and (max-width: 991px) { + span.checkpoint_status { + display: none; + } + span.autosave_status { + font-size: x-small; + } +} +.toolbar { + padding: 0px; + margin-left: -5px; + margin-top: 2px; + margin-bottom: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +.toolbar select, +.toolbar label { + width: auto; + vertical-align: middle; + margin-right: 2px; + margin-bottom: 0px; + display: inline; + font-size: 92%; + margin-left: 0.3em; + margin-right: 0.3em; + padding: 0px; + padding-top: 3px; +} +.toolbar .btn { + padding: 2px 8px; +} +.toolbar .btn-group { + margin-top: 0px; + margin-left: 5px; +} +#maintoolbar { + margin-bottom: -3px; + margin-top: -8px; + border: 0px; + min-height: 27px; + margin-left: 0px; + padding-top: 11px; + padding-bottom: 3px; +} +#maintoolbar .navbar-text { + float: none; + vertical-align: middle; + text-align: right; + margin-left: 5px; + margin-right: 0px; + margin-top: 0px; +} +.select-xs { + height: 24px; +} +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color: #F37626; + color: white; +} +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow: auto; + height: 200px; + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; +} +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property: height; + -webkit-transition-duration: 500ms; + -moz-transition-property: height; + -moz-transition-duration: 500ms; + transition-property: height; + transition-duration: 500ms; + text-overflow: ellipsis; + overflow: hidden; + height: 80px; +} +.tooltipbuttons { + position: absolute; + padding-right: 15px; + top: 0px; + right: 0px; +} +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right: 30px; +} +.ipython_tooltip { + max-width: 700px; + /*fade-in animation when inserted*/ + -webkit-animation: fadeOut 400ms; + -moz-animation: fadeOut 400ms; + animation: fadeOut 400ms; + -webkit-animation: fadeIn 400ms; + -moz-animation: fadeIn 400ms; + animation: fadeIn 400ms; + vertical-align: middle; + background-color: #f7f7f7; + overflow: visible; + border: #ababab 1px solid; + outline: none; + padding: 3px; + margin: 0px; + padding-left: 7px; + font-family: monospace; + min-height: 50px; + -moz-box-shadow: 0px 6px 10px -1px #adadad; + -webkit-box-shadow: 0px 6px 10px -1px #adadad; + box-shadow: 0px 6px 10px -1px #adadad; + border-radius: 2px; + position: absolute; + z-index: 1000; +} +.ipython_tooltip a { + float: right; +} +.ipython_tooltip .tooltiptext pre { + border: 0; + border-radius: 0; + font-size: 100%; + background-color: #f7f7f7; +} +.pretooltiparrow { + left: 0px; + margin: 0px; + top: -16px; + width: 40px; + height: 16px; + overflow: hidden; + position: absolute; +} +.pretooltiparrow:before { + background-color: #f7f7f7; + border: 1px #ababab solid; + z-index: 11; + content: ""; + position: absolute; + left: 15px; + top: 10px; + width: 25px; + height: 25px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); +} +ul.typeahead-list i { + margin-left: -10px; + width: 18px; +} +ul.typeahead-list { + max-height: 80vh; + overflow: auto; +} +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space: normal; +} +.cmd-palette .modal-body { + padding: 7px; +} +.cmd-palette form { + background: white; +} +.cmd-palette input { + outline: none; +} +.no-shortcut { + display: none; +} +.command-shortcut:before { + content: "(command)"; + padding-right: 3px; + color: #777777; +} +.edit-shortcut:before { + content: "(edit)"; + padding-right: 3px; + color: #777777; +} +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color: #BBDEFB; + border-color: #90CAF9; + border-style: solid; + border-width: 1px; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .match { + background-color: #FFCDD2; + border-color: #EF9A9A; + border-radius: 0px; +} +#find-and-replace #replace-preview .replace .insert { + background-color: #C8E6C9; + border-color: #A5D6A7; + border-radius: 0px; +} +#find-and-replace #replace-preview { + max-height: 60vh; + overflow: auto; +} +#find-and-replace #replace-preview pre { + padding: 5px 10px; +} +.terminal-app { + background: #EEE; +} +.terminal-app #header { + background: #fff; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} +.terminal-app .terminal { + float: left; + font-family: monospace; + color: white; + background: black; + padding: 0.4em; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height: 1em; + font-size: 14px; +} +.terminal-app .terminal-cursor { + color: black; + background: white; +} +.terminal-app #terminado-container { + margin-top: 20px; +} +/*# sourceMappingURL=style.min.css.map */ + </style> +<style type="text/css"> + .highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #408080; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #008000; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #BC7A00 } /* Comment.Preproc */ +.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #008000 } /* Keyword.Pseudo */ +.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #B00040 } /* Keyword.Type */ +.highlight .m { color: #666666 } /* Literal.Number */ +.highlight .s { color: #BA2121 } /* Literal.String */ +.highlight .na { color: #7D9029 } /* Name.Attribute */ +.highlight .nb { color: #008000 } /* Name.Builtin */ +.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ +.highlight .no { color: #880000 } /* Name.Constant */ +.highlight .nd { color: #AA22FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #0000FF } /* Name.Function */ +.highlight .nl { color: #A0A000 } /* Name.Label */ +.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #19177C } /* Name.Variable */ +.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #666666 } /* Literal.Number.Bin */ +.highlight .mf { color: #666666 } /* Literal.Number.Float */ +.highlight .mh { color: #666666 } /* Literal.Number.Hex */ +.highlight .mi { color: #666666 } /* Literal.Number.Integer */ +.highlight .mo { color: #666666 } /* Literal.Number.Oct */ +.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ +.highlight .sc { color: #BA2121 } /* Literal.String.Char */ +.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ +.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ +.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ +.highlight .sx { color: #008000 } /* Literal.String.Other */ +.highlight .sr { color: #BB6688 } /* Literal.String.Regex */ +.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ +.highlight .ss { color: #19177C } /* Literal.String.Symbol */ +.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #19177C } /* Name.Variable.Class */ +.highlight .vg { color: #19177C } /* Name.Variable.Global */ +.highlight .vi { color: #19177C } /* Name.Variable.Instance */ +.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ + </style> +<style type="text/css"> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color: #3E424D; } +.ansi-black-bg { background-color: #3E424D; } +.ansi-black-intense-fg { color: #282C36; } +.ansi-black-intense-bg { background-color: #282C36; } +.ansi-red-fg { color: #E75C58; } +.ansi-red-bg { background-color: #E75C58; } +.ansi-red-intense-fg { color: #B22B31; } +.ansi-red-intense-bg { background-color: #B22B31; } +.ansi-green-fg { color: #00A250; } +.ansi-green-bg { background-color: #00A250; } +.ansi-green-intense-fg { color: #007427; } +.ansi-green-intense-bg { background-color: #007427; } +.ansi-yellow-fg { color: #DDB62B; } +.ansi-yellow-bg { background-color: #DDB62B; } +.ansi-yellow-intense-fg { color: #B27D12; } +.ansi-yellow-intense-bg { background-color: #B27D12; } +.ansi-blue-fg { color: #208FFB; } +.ansi-blue-bg { background-color: #208FFB; } +.ansi-blue-intense-fg { color: #0065CA; } +.ansi-blue-intense-bg { background-color: #0065CA; } +.ansi-magenta-fg { color: #D160C4; } +.ansi-magenta-bg { background-color: #D160C4; } +.ansi-magenta-intense-fg { color: #A03196; } +.ansi-magenta-intense-bg { background-color: #A03196; } +.ansi-cyan-fg { color: #60C6C8; } +.ansi-cyan-bg { background-color: #60C6C8; } +.ansi-cyan-intense-fg { color: #258F8F; } +.ansi-cyan-intense-bg { background-color: #258F8F; } +.ansi-white-fg { color: #C5C1B4; } +.ansi-white-bg { background-color: #C5C1B4; } +.ansi-white-intense-fg { color: #A1A6B2; } +.ansi-white-intense-bg { background-color: #A1A6B2; } + +.ansi-bold { font-weight: bold; } + + </style> + + +<style type="text/css"> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow: visible; + padding: 8px; +} + +div#notebook { + overflow: visible; + border-top: none; +} + +@media print { + div.cell { + display: block; + page-break-inside: avoid; + } + div.output_wrapper { + display: block; + page-break-inside: avoid; + } + div.output { + display: block; + page-break-inside: avoid; + } +} +</style> + +<!-- Custom stylesheet, it must be in the same directory as the html file --> +<link rel="stylesheet" href="custom.css"> + +<!-- Loading mathjax macro --> +<!-- Load mathjax --> + <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML"></script> + <!-- MathJax configuration --> + <script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + tex2jax: { + inlineMath: [ ['$','$'], ["\\(","\\)"] ], + displayMath: [ ['$$','$$'], ["\\[","\\]"] ], + processEscapes: true, + processEnvironments: true + }, + // Center justify equations in code and markdown cells. Elsewhere + // we use CSS to left justify single line equations in code cells. + displayAlign: 'center', + "HTML-CSS": { + styles: {'.MathJax_Display': {"margin": 0}}, + linebreaks: { automatic: true } + } + }); + </script> + <!-- End of mathjax configuration --></head> +<body> + <div tabindex="-1" id="notebook" class="border-box-sizing"> + <div class="container" id="notebook-container"> + +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h1 id="Spoken-Language-Understanding-(SLU)">Spoken Language Understanding (SLU)<a class="anchor-link" href="#Spoken-Language-Understanding-(SLU)">¶</a></h1> +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>Semantic decoding system is responsible for decoding the meaning of utterances sent to the system. Often dialogue systems are deployed in a noisy setting, where background noise and diverse user populations can result in high speech recognition error rates. Thus, SLU systems operate on the top $k$ hypotheses output by the speech recogniser and this creates additional challenges for effective transformation of spoken utterances to dialogue acts. Let's look at the illustrative procedure:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">Dialogue</span> <span class="n">turn</span><span class="p">:</span> <span class="n">Is</span> <span class="n">there</span> <span class="n">maybe</span> <span class="n">a</span> <span class="n">cheap</span> <span class="n">place</span> <span class="ow">in</span> <span class="n">the</span> <span class="n">north</span> <span class="n">of</span> <span class="n">town</span> please<span class="o">?</span> +<span class="n">Dialogue</span> <span class="n">act</span> <span class="nb">type</span><span class="p">:</span> <span class="n">inform</span> +<span class="n">Semantic</span> <span class="n">slots</span><span class="p">:</span> <span class="n">price</span><span class="p">,</span> <span class="n">area</span> +<span class="n">Semantic</span> <span class="n">values</span><span class="p">:</span> <span class="n">cheap</span><span class="p">,</span> <span class="n">north</span> +<span class="n">Dialogue</span> <span class="n">act</span><span class="p">:</span> <span class="n">inform</span><span class="p">(</span><span class="n">price</span><span class="o">=</span><span class="n">cheap</span><span class="p">,</span> <span class="n">area</span><span class="o">=</span><span class="n">north</span><span class="p">)</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>As we can see, during the semantic decoding process we extract the information about dialogue act type, +which encodes the system or the user intention in a dialogue turn, and semantic slots and values that further +describe entities from the ontology that a dialogue turn refers to.</p> +<p>We can tackle this problem from two perspectives - first one involves creation of list of grammar rules that parse user utterances. Second approach relies on statistically trained models where we train classifiers to directly label utterances based on training data.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Content:">Content:<a class="anchor-link" href="#Content:">¶</a></h2><ul> +<li><a href="#first-bullet">Rule-based models</a></li> +<li><a href="#6-bullet">Support Vector Machines</a></li> +<li><a href="#0-bullet">PyDial/semi</a></li> +</ul> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Rule-based-model:-">Rule-based model: <a class="anchor" id="first-bullet" /><a class="anchor-link" href="#Rule-based-model:-">¶</a></h2><p>A natural solution to the problem is to create a set of rules that transforms the utterance to the dialogue act based +on the domain ontology. In the case of the general communication with the system, they might look like this:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="bp">self</span><span class="o">.</span><span class="n">rHELLO</span> <span class="o">=</span> <span class="s2">"(</span><span class="se">\b</span><span class="s2">|^|\ )(hi|hello)\s"</span> +<span class="bp">self</span><span class="o">.</span><span class="n">rNEG</span> <span class="o">=</span> <span class="s2">"(</span><span class="se">\b</span><span class="s2">|^|\ )(no</span><span class="se">\b</span><span class="s2">|wrong|incorrect|error)|not\ (true|correct|right)\s"</span> +<span class="bp">self</span><span class="o">.</span><span class="n">rAFFIRM</span> <span class="o">=</span> <span class="s2">"(yes|ok</span><span class="se">\b</span><span class="s2">|OK</span><span class="se">\b</span><span class="s2">|okay|sure|(that('?s| is) )?right)"</span> +<span class="bp">self</span><span class="o">.</span><span class="n">rBYE</span> <span class="o">=</span> <span class="s2">"(</span><span class="se">\b</span><span class="s2">|^|\ )(bye|goodbye|that'*s*\ (is\ )*all)(\s|$|\ )"</span> +<span class="bp">self</span><span class="o">.</span><span class="n">GREAT</span> <span class="o">=</span> <span class="s2">"(great|good|awesome)"</span> +<span class="bp">self</span><span class="o">.</span><span class="n">HELPFUL</span> <span class="o">=</span> <span class="s2">"(that((</span><span class="se">\'</span><span class="s2">)?s|\ (is|was))\ (very\ )?helpful)"</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>More specific expressions depend completely on the domain that we are operating on. A general framework for implementation rule-based system can be derived from <code>semi/RegexSemI.py</code>. +You can find specific scripts with regular expression for every domain in folder <code>semi/RegexSemI_DOMAIN</code>. In order to test this model you can just run:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">texthub</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>To use it in your specific config file you have to change in <code>semi</code> section the variable <code>semitype</code> to <code>RegexSemI</code>, for example:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">semi_CamRestaurants</span><span class="p">]</span> +<span class="n">semitype</span> <span class="o">=</span> <span class="n">RegexSemI</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="Support-Vector-Machines--">Support Vector Machines <a class="anchor" id="6-bullet" /><a class="anchor-link" href="#Support-Vector-Machines--">¶</a></h2><p>As it was mentioned previously, we can look at semantic decoding as a classification task in which +we need to make predictions about the set of semantic concepts. However, this requires corpora data with labelled semantic concepts. Such an approach can easily handle $N$-best list of automatic speech recogniser hypotheses as in real conversational systems error rate of the top hypothesis is typically about 20-30% and thus robust system is needed.</p> +<p>Classification model that is implemented in PyDial is support vector machines which map input into a high-dimensional feature space where data is linearly separable. It was shown that such statistical approach can substantially improve performance both in terms of accuracy and overall dialogue reward.</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>To use this approach with your specific config file you have to change in <code>semi</code> section the variable <code>semitype</code> to <code>SVMSemI</code>, for example:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="p">[</span><span class="n">semi_CamRestaurants</span><span class="p">]</span> +<span class="n">semitype</span> <span class="o">=</span> <span class="n">SVMSemI</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<p>You can test it with just chatting with the system through pydial:</p> + +</div> +</div> +</div> +<div class="cell border-box-sizing code_cell rendered"> +<div class="input"> +<div class="prompt input_prompt">In [ ]:</div> +<div class="inner_cell"> + <div class="input_area"> +<div class=" highlight hl-ipython2"><pre><span></span><span class="n">pydial</span> <span class="n">chat</span> <span class="n">texthub_svm</span><span class="o">.</span><span class="n">cfg</span> +</pre></div> + +</div> +</div> +</div> + +</div> +<div class="cell border-box-sizing text_cell rendered"> +<div class="prompt input_prompt"> +</div> +<div class="inner_cell"> +<div class="text_cell_render border-box-sizing rendered_html"> +<h2 id="PyDial/semi-">PyDial/semi <a class="anchor" id="0-bullet" /><a class="anchor-link" href="#PyDial/semi-">¶</a></h2><p>In PyDial there is a dedicated module for spoken language understanding under directory <code>semi</code> (semantic input). The interface class is <code>SemI</code> in <code>SemI.py</code> from which models explained above derive from. SVM model is implemented in <code>SVMSemI.py</code> while base class for rule-based model is in <code>RegexSemI.py</code> with specific instances for a given domain in <code>RegexSemI_DOMAIN.py</code>.</p> + +</div> +</div> +</div> + </div> + </div> +</body> +</html> diff --git a/Page/tutorials/createOntoCamRes.png b/Page/tutorials/createOntoCamRes.png new file mode 100644 index 0000000000000000000000000000000000000000..be11da7e1e16ac038ec54e63c61f7bbdd93c61f7 GIT binary patch literal 40433 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 U{Cn6K7#J8lUHx3vIVCg!0P!G4e*gdg literal 0 HcmV?d00001 diff --git a/Page/tutorials/encoder.png b/Page/tutorials/encoder.png new file mode 100644 index 0000000000000000000000000000000000000000..d7dcdb74f760c71e824ecac3cb6726c8a7b4493a GIT binary patch literal 79404 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 ZIh|eR^-g-t8U_Xi22WQ%mvv4FO#qv=fPer1 literal 0 HcmV?d00001 diff --git a/Page/tutorials/error250.png b/Page/tutorials/error250.png new file mode 100644 index 0000000000000000000000000000000000000000..3467173f8ca88af56335cd9c7b4613c6f3dca034 GIT binary patch literal 46092 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 literal 0 HcmV?d00001 diff --git a/Page/tutorials/lstm.png b/Page/tutorials/lstm.png new file mode 100644 index 0000000000000000000000000000000000000000..f1b44723d864ec58687fad6e86d4c2a6c365f51b GIT binary patch literal 249570 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�vSR{@wri>r%RYk+mu^n3 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%0DCy=o4h8pP+IZh}tE!<X;5{wp*es<!VapLU1Q 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 literal 0 HcmV?d00001 diff --git a/Page/tutorials/pydial.png b/Page/tutorials/pydial.png new file mode 100644 index 0000000000000000000000000000000000000000..3ac13e4507cd3f37030a22ca6de98a9873ab9ce4 GIT binary patch literal 87284 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 literal 0 HcmV?d00001 diff --git a/Page/tutorials/pydial_policy.png b/Page/tutorials/pydial_policy.png new file mode 100644 index 0000000000000000000000000000000000000000..9b21963e658c692bff61b806428360fe9e016ea5 GIT binary patch literal 93408 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 JtaD0e0svToh+O~x literal 0 HcmV?d00001 diff --git a/Page/tutorials/rnn.png b/Page/tutorials/rnn.png new file mode 100644 index 0000000000000000000000000000000000000000..a287751dcff66e1fe935f8f2cc445c0f0678e426 GIT binary patch literal 152676 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Ǧ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%0AcqPR*ONiR-DZ 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 literal 0 HcmV?d00001 diff --git a/Page/tutorials/tutorial_eval_plot.png b/Page/tutorials/tutorial_eval_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b0d64d77dc972ed898fa639524fa35cf35e84e GIT binary patch literal 67398 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 literal 0 HcmV?d00001 diff --git a/Page/tutorials/tutorial_train_plot.png b/Page/tutorials/tutorial_train_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..04c1d440a90a457828a01c98d3940daa97d99c57 GIT binary patch literal 57229 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 literal 0 HcmV?d00001 diff --git a/conf.py b/conf.py index dc3d753..2fa883e 100644 --- a/conf.py +++ b/conf.py @@ -5,7 +5,7 @@ # Copyright 2015 - 2019 # Cambridge University Engineering Department Dialogue Systems Group # -# +# # 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 @@ -73,7 +73,7 @@ source_suffix = '.rst' #source_encoding = 'utf-8-sig' # The master toctree document. -master_doc = 'index' +master_doc = 'Docs/index' # General information about the project. project = 'PyDial3' -- GitLab