From 1f493f35c4cf1d2d5fac14668d504365b2df654e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20=C3=85hl=C3=A9n?= Date: Sat, 10 Feb 2018 13:30:55 +0100 Subject: [PATCH] Initial commit. --- Planetsino.sln | 25 + Planetsino/App_Start/BundleConfig.cs | 31 + Planetsino/App_Start/FilterConfig.cs | 13 + Planetsino/App_Start/RouteConfig.cs | 23 + Planetsino/ApplicationInsights.config | 79 + Planetsino/Content/Site.css | 24 + Planetsino/Content/bootstrap.css | 6816 ++++++++++++ Planetsino/Content/bootstrap.min.css | 20 + Planetsino/Controllers/HomeController.cs | 255 + Planetsino/Global.asax | 1 + Planetsino/Global.asax.cs | 34 + Planetsino/Images/CosmosDB.png | Bin 0 -> 18514 bytes Planetsino/Images/coin0.jpg | Bin 0 -> 15615 bytes Planetsino/Images/coin1.jpg | Bin 0 -> 13359 bytes Planetsino/Images/gambling-2001033_640.jpg | Bin 0 -> 72976 bytes Planetsino/Images/money-2180330_640.jpg | Bin 0 -> 65257 bytes Planetsino/Images/piggy-bank-1056615.jpg | Bin 0 -> 6774 bytes Planetsino/Images/speed-164063_640.jpg | Bin 0 -> 45276 bytes Planetsino/Models/DbClientInfo.cs | 15 + Planetsino/Models/DbHelper.cs | 301 + Planetsino/Models/Diagnostics.cs | 12 + Planetsino/Models/IDocument.cs | 16 + Planetsino/Models/PerformanceTest.cs | 169 + Planetsino/Models/Player.cs | 103 + Planetsino/Planetsino.csproj | 276 + Planetsino/Procedures/AdjustBalance.js | 27 + Planetsino/Properties/AssemblyInfo.cs | 35 + .../planetsino-eastus - FTP.pubxml | 22 + .../planetsino-eastus - Web Deploy.pubxml | 25 + .../planetsino-westeu - FTP.pubxml | 22 + .../planetsino-westeu - Web Deploy.pubxml | 25 + Planetsino/Scripts/bootstrap.js | 2014 ++++ Planetsino/Scripts/bootstrap.min.js | 21 + .../Scripts/jquery-1.10.2.intellisense.js | 2671 +++++ Planetsino/Scripts/jquery-1.10.2.js | 9803 +++++++++++++++++ Planetsino/Scripts/jquery-1.10.2.min.js | 23 + Planetsino/Scripts/jquery-1.10.2.min.map | 1 + Planetsino/Scripts/jquery.validate-vsdoc.js | 1302 +++ Planetsino/Scripts/jquery.validate.js | 1245 +++ Planetsino/Scripts/jquery.validate.min.js | 16 + .../Scripts/jquery.validate.unobtrusive.js | 429 + .../jquery.validate.unobtrusive.min.js | 19 + Planetsino/Scripts/modernizr-2.6.2.js | 1416 +++ Planetsino/Scripts/respond.js | 340 + Planetsino/Scripts/respond.min.js | 20 + Planetsino/Views/Home/About.cshtml | 7 + Planetsino/Views/Home/Account.cshtml | 34 + Planetsino/Views/Home/Admin.cshtml | 45 + Planetsino/Views/Home/Diagnostics.cshtml | 20 + Planetsino/Views/Home/Index.cshtml | 14 + Planetsino/Views/Home/PerformanceTest.cshtml | 110 + Planetsino/Views/Home/Play.cshtml | 59 + Planetsino/Views/Shared/Error.cshtml | 13 + Planetsino/Views/Shared/_Layout.cshtml | 50 + Planetsino/Views/Web.config | 43 + Planetsino/Views/_ViewStart.cshtml | 3 + Planetsino/Web.Debug.config | 30 + Planetsino/Web.Release.config | 31 + Planetsino/Web.config | 79 + Planetsino/favicon.ico | Bin 0 -> 32038 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 14079 bytes .../fonts/glyphicons-halflings-regular.svg | 228 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 29512 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 16448 bytes Planetsino/packages.config | 27 + 65 files changed, 28482 insertions(+) create mode 100644 Planetsino.sln create mode 100644 Planetsino/App_Start/BundleConfig.cs create mode 100644 Planetsino/App_Start/FilterConfig.cs create mode 100644 Planetsino/App_Start/RouteConfig.cs create mode 100644 Planetsino/ApplicationInsights.config create mode 100644 Planetsino/Content/Site.css create mode 100644 Planetsino/Content/bootstrap.css create mode 100644 Planetsino/Content/bootstrap.min.css create mode 100644 Planetsino/Controllers/HomeController.cs create mode 100644 Planetsino/Global.asax create mode 100644 Planetsino/Global.asax.cs create mode 100644 Planetsino/Images/CosmosDB.png create mode 100644 Planetsino/Images/coin0.jpg create mode 100644 Planetsino/Images/coin1.jpg create mode 100644 Planetsino/Images/gambling-2001033_640.jpg create mode 100644 Planetsino/Images/money-2180330_640.jpg create mode 100644 Planetsino/Images/piggy-bank-1056615.jpg create mode 100644 Planetsino/Images/speed-164063_640.jpg create mode 100644 Planetsino/Models/DbClientInfo.cs create mode 100644 Planetsino/Models/DbHelper.cs create mode 100644 Planetsino/Models/Diagnostics.cs create mode 100644 Planetsino/Models/IDocument.cs create mode 100644 Planetsino/Models/PerformanceTest.cs create mode 100644 Planetsino/Models/Player.cs create mode 100644 Planetsino/Planetsino.csproj create mode 100644 Planetsino/Procedures/AdjustBalance.js create mode 100644 Planetsino/Properties/AssemblyInfo.cs create mode 100644 Planetsino/Properties/PublishProfiles/planetsino-eastus - FTP.pubxml create mode 100644 Planetsino/Properties/PublishProfiles/planetsino-eastus - Web Deploy.pubxml create mode 100644 Planetsino/Properties/PublishProfiles/planetsino-westeu - FTP.pubxml create mode 100644 Planetsino/Properties/PublishProfiles/planetsino-westeu - Web Deploy.pubxml create mode 100644 Planetsino/Scripts/bootstrap.js create mode 100644 Planetsino/Scripts/bootstrap.min.js create mode 100644 Planetsino/Scripts/jquery-1.10.2.intellisense.js create mode 100644 Planetsino/Scripts/jquery-1.10.2.js create mode 100644 Planetsino/Scripts/jquery-1.10.2.min.js create mode 100644 Planetsino/Scripts/jquery-1.10.2.min.map create mode 100644 Planetsino/Scripts/jquery.validate-vsdoc.js create mode 100644 Planetsino/Scripts/jquery.validate.js create mode 100644 Planetsino/Scripts/jquery.validate.min.js create mode 100644 Planetsino/Scripts/jquery.validate.unobtrusive.js create mode 100644 Planetsino/Scripts/jquery.validate.unobtrusive.min.js create mode 100644 Planetsino/Scripts/modernizr-2.6.2.js create mode 100644 Planetsino/Scripts/respond.js create mode 100644 Planetsino/Scripts/respond.min.js create mode 100644 Planetsino/Views/Home/About.cshtml create mode 100644 Planetsino/Views/Home/Account.cshtml create mode 100644 Planetsino/Views/Home/Admin.cshtml create mode 100644 Planetsino/Views/Home/Diagnostics.cshtml create mode 100644 Planetsino/Views/Home/Index.cshtml create mode 100644 Planetsino/Views/Home/PerformanceTest.cshtml create mode 100644 Planetsino/Views/Home/Play.cshtml create mode 100644 Planetsino/Views/Shared/Error.cshtml create mode 100644 Planetsino/Views/Shared/_Layout.cshtml create mode 100644 Planetsino/Views/Web.config create mode 100644 Planetsino/Views/_ViewStart.cshtml create mode 100644 Planetsino/Web.Debug.config create mode 100644 Planetsino/Web.Release.config create mode 100644 Planetsino/Web.config create mode 100644 Planetsino/favicon.ico create mode 100644 Planetsino/fonts/glyphicons-halflings-regular.eot create mode 100644 Planetsino/fonts/glyphicons-halflings-regular.svg create mode 100644 Planetsino/fonts/glyphicons-halflings-regular.ttf create mode 100644 Planetsino/fonts/glyphicons-halflings-regular.woff create mode 100644 Planetsino/packages.config diff --git a/Planetsino.sln b/Planetsino.sln new file mode 100644 index 0000000..057d7e8 --- /dev/null +++ b/Planetsino.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27004.2002 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Planetsino", "Planetsino\Planetsino.csproj", "{A249C844-F2DE-403E-BE1D-44BF6CDFB8EA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A249C844-F2DE-403E-BE1D-44BF6CDFB8EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A249C844-F2DE-403E-BE1D-44BF6CDFB8EA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A249C844-F2DE-403E-BE1D-44BF6CDFB8EA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A249C844-F2DE-403E-BE1D-44BF6CDFB8EA}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {93A3A69D-46AD-47F3-870F-CA3F64C58406} + EndGlobalSection +EndGlobal diff --git a/Planetsino/App_Start/BundleConfig.cs b/Planetsino/App_Start/BundleConfig.cs new file mode 100644 index 0000000..567b832 --- /dev/null +++ b/Planetsino/App_Start/BundleConfig.cs @@ -0,0 +1,31 @@ +using System.Web; +using System.Web.Optimization; + +namespace Planetsino +{ + public class BundleConfig + { + // For more information on bundling, visit https://go.microsoft.com/fwlink/?LinkId=301862 + public static void RegisterBundles(BundleCollection bundles) + { + bundles.Add(new ScriptBundle("~/bundles/jquery").Include( + "~/Scripts/jquery-{version}.js")); + + bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( + "~/Scripts/jquery.validate*")); + + // Use the development version of Modernizr to develop with and learn from. Then, when you're + // ready for production, use the build tool at https://modernizr.com to pick only the tests you need. + bundles.Add(new ScriptBundle("~/bundles/modernizr").Include( + "~/Scripts/modernizr-*")); + + bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include( + "~/Scripts/bootstrap.js", + "~/Scripts/respond.js")); + + bundles.Add(new StyleBundle("~/Content/css").Include( + "~/Content/bootstrap.css", + "~/Content/site.css")); + } + } +} diff --git a/Planetsino/App_Start/FilterConfig.cs b/Planetsino/App_Start/FilterConfig.cs new file mode 100644 index 0000000..d4c0210 --- /dev/null +++ b/Planetsino/App_Start/FilterConfig.cs @@ -0,0 +1,13 @@ +using System.Web; +using System.Web.Mvc; + +namespace Planetsino +{ + public class FilterConfig + { + public static void RegisterGlobalFilters(GlobalFilterCollection filters) + { + filters.Add(new HandleErrorAttribute()); + } + } +} diff --git a/Planetsino/App_Start/RouteConfig.cs b/Planetsino/App_Start/RouteConfig.cs new file mode 100644 index 0000000..9931c9c --- /dev/null +++ b/Planetsino/App_Start/RouteConfig.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Routing; + +namespace Planetsino +{ + public class RouteConfig + { + public static void RegisterRoutes(RouteCollection routes) + { + routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); + + routes.MapRoute( + name: "Default", + url: "{controller}/{action}/{id}", + defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } + ); + } + } +} diff --git a/Planetsino/ApplicationInsights.config b/Planetsino/ApplicationInsights.config new file mode 100644 index 0000000..2e0a49a --- /dev/null +++ b/Planetsino/ApplicationInsights.config @@ -0,0 +1,79 @@ + + + + + + + + + + + search|spider|crawl|Bot|Monitor|AlwaysOn + + + + + + + + + + + + + + + + + + + + + + System.Web.Handlers.TransferRequestHandler + Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler + System.Web.StaticFileHandler + System.Web.Handlers.AssemblyResourceLoader + System.Web.Optimization.BundleHandler + System.Web.Script.Services.ScriptHandlerFactory + System.Web.Handlers.TraceHandler + System.Web.Services.Discovery.DiscoveryRequestHandler + System.Web.HttpDebugHandler + + + + + + + + 5 + + + + \ No newline at end of file diff --git a/Planetsino/Content/Site.css b/Planetsino/Content/Site.css new file mode 100644 index 0000000..6ea5d8f --- /dev/null +++ b/Planetsino/Content/Site.css @@ -0,0 +1,24 @@ +body { + padding-top: 50px; + padding-bottom: 20px; +} + +/* Set padding to keep content from hitting the edges */ +.body-content { + padding-left: 15px; + padding-right: 15px; +} + +/* Override the default bootstrap behavior where horizontal description lists + will truncate terms that are too long to fit in the left column +*/ +.dl-horizontal dt { + white-space: normal; +} + +/* Set width on the form input elements since they're 100% wide by default */ +input, +select, +textarea { + max-width: 280px; +} diff --git a/Planetsino/Content/bootstrap.css b/Planetsino/Content/bootstrap.css new file mode 100644 index 0000000..6d6e682 --- /dev/null +++ b/Planetsino/Content/bootstrap.css @@ -0,0 +1,6816 @@ +/* NUGET: BEGIN LICENSE TEXT + * + * Microsoft grants you the right to use these script files for the sole + * purpose of either: (i) interacting through your browser with the Microsoft + * website or online service, subject to the applicable licensing or use + * terms; or (ii) using the files as included with a Microsoft product subject + * to that product's license terms. Microsoft reserves all other rights to the + * files not expressly granted by Microsoft, whether by implication, estoppel + * or otherwise. The notices and licenses below are for informational purposes only. + * + * NUGET: END LICENSE TEXT */ +/*! + * Bootstrap v3.0.0 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */ + +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +audio, +canvas, +video { + display: inline-block; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden] { + display: none; +} + +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +body { + margin: 0; +} + +a:focus { + outline: thin dotted; +} + +a:active, +a:hover { + outline: 0; +} + +h1 { + margin: 0.67em 0; + font-size: 2em; +} + +abbr[title] { + border-bottom: 1px dotted; +} + +b, +strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +hr { + height: 0; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +mark { + color: #000; + background: #ff0; +} + +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} + +pre { + white-space: pre-wrap; +} + +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + border: 0; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 0; +} + +fieldset { + padding: 0.35em 0.625em 0.75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} + +legend { + padding: 0; + border: 0; +} + +button, +input, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: 100%; +} + +button, +input { + line-height: normal; +} + +button, +select { + text-transform: none; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +input[type="checkbox"], +input[type="radio"] { + padding: 0; + box-sizing: border-box; +} + +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +textarea { + overflow: auto; + vertical-align: top; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +@media print { + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]: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; + } + @page { + margin: 2cm .5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .table td, + .table th { + background-color: #fff !important; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} + +*, +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +html { + font-size: 62.5%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.428571429; + color: #333333; + background-color: #ffffff; +} + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input, +select[multiple], +textarea { + background-image: none; +} + +a { + color: #428bca; + text-decoration: none; +} + +a:hover, +a:focus { + color: #2a6496; + text-decoration: underline; +} + +a:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +img { + vertical-align: middle; +} + +.img-responsive { + display: block; + height: auto; + max-width: 100%; +} + +.img-rounded { + border-radius: 6px; +} + +.img-thumbnail { + display: inline-block; + height: auto; + max-width: 100%; + padding: 4px; + line-height: 1.428571429; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +.img-circle { + border-radius: 50%; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0 0 0 0); + border: 0; +} + +p { + margin: 0 0 10px; +} + +.lead { + margin-bottom: 20px; + font-size: 16.099999999999998px; + font-weight: 200; + line-height: 1.4; +} + +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} + +small { + font-size: 85%; +} + +cite { + font-style: normal; +} + +.text-muted { + color: #999999; +} + +.text-primary { + color: #428bca; +} + +.text-warning { + color: #c09853; +} + +.text-danger { + color: #b94a48; +} + +.text-success { + color: #468847; +} + +.text-info { + color: #3a87ad; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: 500; + line-height: 1.1; +} + +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small { + font-weight: normal; + line-height: 1; + color: #999999; +} + +h1, +h2, +h3 { + margin-top: 20px; + margin-bottom: 10px; +} + +h4, +h5, +h6 { + margin-top: 10px; + margin-bottom: 10px; +} + +h1, +.h1 { + font-size: 36px; +} + +h2, +.h2 { + font-size: 30px; +} + +h3, +.h3 { + font-size: 24px; +} + +h4, +.h4 { + font-size: 18px; +} + +h5, +.h5 { + font-size: 14px; +} + +h6, +.h6 { + font-size: 12px; +} + +h1 small, +.h1 small { + font-size: 24px; +} + +h2 small, +.h2 small { + font-size: 18px; +} + +h3 small, +.h3 small, +h4 small, +.h4 small { + font-size: 14px; +} + +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eeeeee; +} + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} + +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} + +dl { + margin-bottom: 20px; +} + +dt, +dd { + line-height: 1.428571429; +} + +dt { + font-weight: bold; +} + +dd { + margin-left: 0; +} + +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } + .dl-horizontal dd:before, + .dl-horizontal dd:after { + display: table; + content: " "; + } + .dl-horizontal dd:after { + clear: both; + } + .dl-horizontal dd:before, + .dl-horizontal dd:after { + display: table; + content: " "; + } + .dl-horizontal dd:after { + clear: both; + } +} + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} + +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + border-left: 5px solid #eeeeee; +} + +blockquote p { + font-size: 17.5px; + font-weight: 300; + line-height: 1.25; +} + +blockquote p:last-child { + margin-bottom: 0; +} + +blockquote small { + display: block; + line-height: 1.428571429; + color: #999999; +} + +blockquote small:before { + content: '\2014 \00A0'; +} + +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} + +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} + +blockquote.pull-right small:before { + content: ''; +} + +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} + +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 1.428571429; +} + +code, +pre { + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; +} + +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + white-space: nowrap; + background-color: #f9f2f4; + border-radius: 4px; +} + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.428571429; + color: #333333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #cccccc; + border-radius: 4px; +} + +pre.prettyprint { + margin-bottom: 20px; +} + +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.container:before, +.container:after { + display: table; + content: " "; +} + +.container:after { + clear: both; +} + +.container:before, +.container:after { + display: table; + content: " "; +} + +.container:after { + clear: both; +} + +.row { + margin-right: -15px; + margin-left: -15px; +} + +.row:before, +.row:after { + display: table; + content: " "; +} + +.row:after { + clear: both; +} + +.row:before, +.row:after { + display: table; + content: " "; +} + +.row:after { + clear: both; +} + +.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, +.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, +.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, +.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 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} + +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11 { + float: left; +} + +.col-xs-1 { + width: 8.333333333333332%; +} + +.col-xs-2 { + width: 16.666666666666664%; +} + +.col-xs-3 { + width: 25%; +} + +.col-xs-4 { + width: 33.33333333333333%; +} + +.col-xs-5 { + width: 41.66666666666667%; +} + +.col-xs-6 { + width: 50%; +} + +.col-xs-7 { + width: 58.333333333333336%; +} + +.col-xs-8 { + width: 66.66666666666666%; +} + +.col-xs-9 { + width: 75%; +} + +.col-xs-10 { + width: 83.33333333333334%; +} + +.col-xs-11 { + width: 91.66666666666666%; +} + +.col-xs-12 { + width: 100%; +} + +@media (min-width: 768px) { + .container { + max-width: 750px; + } + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11 { + float: left; + } + .col-sm-1 { + width: 8.333333333333332%; + } + .col-sm-2 { + width: 16.666666666666664%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-4 { + width: 33.33333333333333%; + } + .col-sm-5 { + width: 41.66666666666667%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-7 { + width: 58.333333333333336%; + } + .col-sm-8 { + width: 66.66666666666666%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-10 { + width: 83.33333333333334%; + } + .col-sm-11 { + width: 91.66666666666666%; + } + .col-sm-12 { + width: 100%; + } + .col-sm-push-1 { + left: 8.333333333333332%; + } + .col-sm-push-2 { + left: 16.666666666666664%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-4 { + left: 33.33333333333333%; + } + .col-sm-push-5 { + left: 41.66666666666667%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-7 { + left: 58.333333333333336%; + } + .col-sm-push-8 { + left: 66.66666666666666%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-10 { + left: 83.33333333333334%; + } + .col-sm-push-11 { + left: 91.66666666666666%; + } + .col-sm-pull-1 { + right: 8.333333333333332%; + } + .col-sm-pull-2 { + right: 16.666666666666664%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-4 { + right: 33.33333333333333%; + } + .col-sm-pull-5 { + right: 41.66666666666667%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-7 { + right: 58.333333333333336%; + } + .col-sm-pull-8 { + right: 66.66666666666666%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-10 { + right: 83.33333333333334%; + } + .col-sm-pull-11 { + right: 91.66666666666666%; + } + .col-sm-offset-1 { + margin-left: 8.333333333333332%; + } + .col-sm-offset-2 { + margin-left: 16.666666666666664%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-4 { + margin-left: 33.33333333333333%; + } + .col-sm-offset-5 { + margin-left: 41.66666666666667%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-7 { + margin-left: 58.333333333333336%; + } + .col-sm-offset-8 { + margin-left: 66.66666666666666%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-10 { + margin-left: 83.33333333333334%; + } + .col-sm-offset-11 { + margin-left: 91.66666666666666%; + } +} + +@media (min-width: 992px) { + .container { + max-width: 970px; + } + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11 { + float: left; + } + .col-md-1 { + width: 8.333333333333332%; + } + .col-md-2 { + width: 16.666666666666664%; + } + .col-md-3 { + width: 25%; + } + .col-md-4 { + width: 33.33333333333333%; + } + .col-md-5 { + width: 41.66666666666667%; + } + .col-md-6 { + width: 50%; + } + .col-md-7 { + width: 58.333333333333336%; + } + .col-md-8 { + width: 66.66666666666666%; + } + .col-md-9 { + width: 75%; + } + .col-md-10 { + width: 83.33333333333334%; + } + .col-md-11 { + width: 91.66666666666666%; + } + .col-md-12 { + width: 100%; + } + .col-md-push-0 { + left: auto; + } + .col-md-push-1 { + left: 8.333333333333332%; + } + .col-md-push-2 { + left: 16.666666666666664%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-4 { + left: 33.33333333333333%; + } + .col-md-push-5 { + left: 41.66666666666667%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-7 { + left: 58.333333333333336%; + } + .col-md-push-8 { + left: 66.66666666666666%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-10 { + left: 83.33333333333334%; + } + .col-md-push-11 { + left: 91.66666666666666%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-pull-1 { + right: 8.333333333333332%; + } + .col-md-pull-2 { + right: 16.666666666666664%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-4 { + right: 33.33333333333333%; + } + .col-md-pull-5 { + right: 41.66666666666667%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-7 { + right: 58.333333333333336%; + } + .col-md-pull-8 { + right: 66.66666666666666%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-10 { + right: 83.33333333333334%; + } + .col-md-pull-11 { + right: 91.66666666666666%; + } + .col-md-offset-0 { + margin-left: 0; + } + .col-md-offset-1 { + margin-left: 8.333333333333332%; + } + .col-md-offset-2 { + margin-left: 16.666666666666664%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-4 { + margin-left: 33.33333333333333%; + } + .col-md-offset-5 { + margin-left: 41.66666666666667%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-7 { + margin-left: 58.333333333333336%; + } + .col-md-offset-8 { + margin-left: 66.66666666666666%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-10 { + margin-left: 83.33333333333334%; + } + .col-md-offset-11 { + margin-left: 91.66666666666666%; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1170px; + } + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11 { + float: left; + } + .col-lg-1 { + width: 8.333333333333332%; + } + .col-lg-2 { + width: 16.666666666666664%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-4 { + width: 33.33333333333333%; + } + .col-lg-5 { + width: 41.66666666666667%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-7 { + width: 58.333333333333336%; + } + .col-lg-8 { + width: 66.66666666666666%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-10 { + width: 83.33333333333334%; + } + .col-lg-11 { + width: 91.66666666666666%; + } + .col-lg-12 { + width: 100%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-push-1 { + left: 8.333333333333332%; + } + .col-lg-push-2 { + left: 16.666666666666664%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-4 { + left: 33.33333333333333%; + } + .col-lg-push-5 { + left: 41.66666666666667%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-7 { + left: 58.333333333333336%; + } + .col-lg-push-8 { + left: 66.66666666666666%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-10 { + left: 83.33333333333334%; + } + .col-lg-push-11 { + left: 91.66666666666666%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-pull-1 { + right: 8.333333333333332%; + } + .col-lg-pull-2 { + right: 16.666666666666664%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-4 { + right: 33.33333333333333%; + } + .col-lg-pull-5 { + right: 41.66666666666667%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-7 { + right: 58.333333333333336%; + } + .col-lg-pull-8 { + right: 66.66666666666666%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-10 { + right: 83.33333333333334%; + } + .col-lg-pull-11 { + right: 91.66666666666666%; + } + .col-lg-offset-0 { + margin-left: 0; + } + .col-lg-offset-1 { + margin-left: 8.333333333333332%; + } + .col-lg-offset-2 { + margin-left: 16.666666666666664%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-4 { + margin-left: 33.33333333333333%; + } + .col-lg-offset-5 { + margin-left: 41.66666666666667%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-7 { + margin-left: 58.333333333333336%; + } + .col-lg-offset-8 { + margin-left: 66.66666666666666%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-10 { + margin-left: 83.33333333333334%; + } + .col-lg-offset-11 { + margin-left: 91.66666666666666%; + } +} + +table { + max-width: 100%; + background-color: transparent; +} + +th { + text-align: left; +} + +.table { + width: 100%; + margin-bottom: 20px; +} + +.table thead > tr > th, +.table tbody > tr > th, +.table tfoot > tr > th, +.table thead > tr > td, +.table tbody > tr > td, +.table tfoot > tr > td { + padding: 8px; + line-height: 1.428571429; + vertical-align: top; + border-top: 1px solid #dddddd; +} + +.table thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #dddddd; +} + +.table caption + thead tr:first-child th, +.table colgroup + thead tr:first-child th, +.table thead:first-child tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child td { + border-top: 0; +} + +.table tbody + tbody { + border-top: 2px solid #dddddd; +} + +.table .table { + background-color: #ffffff; +} + +.table-condensed thead > tr > th, +.table-condensed tbody > tr > th, +.table-condensed tfoot > tr > th, +.table-condensed thead > tr > td, +.table-condensed tbody > tr > td, +.table-condensed tfoot > tr > td { + padding: 5px; +} + +.table-bordered { + border: 1px solid #dddddd; +} + +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #dddddd; +} + +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} + +.table-striped > tbody > tr:nth-child(odd) > td, +.table-striped > tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} + +.table-hover > tbody > tr:hover > td, +.table-hover > tbody > tr:hover > th { + background-color: #f5f5f5; +} + +table col[class*="col-"] { + display: table-column; + float: none; +} + +table td[class*="col-"], +table th[class*="col-"] { + display: table-cell; + float: none; +} + +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} + +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td { + background-color: #d0e9c6; + border-color: #c9e2b3; +} + +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; + border-color: #eed3d7; +} + +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td { + background-color: #ebcccc; + border-color: #e6c1c7; +} + +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; + border-color: #fbeed5; +} + +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td { + background-color: #faf2cc; + border-color: #f8e5be; +} + +@media (max-width: 768px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-x: scroll; + overflow-y: hidden; + border: 1px solid #dddddd; + } + .table-responsive > .table { + margin-bottom: 0; + background-color: #fff; + } + .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 > thead > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > thead > tr:last-child > td, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} + +label { + display: inline-block; + margin-bottom: 5px; + font-weight: bold; +} + +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + /* IE8-9 */ + + line-height: normal; +} + +input[type="file"] { + display: block; +} + +select[multiple], +select[size] { + height: auto; +} + +select optgroup { + font-family: inherit; + font-size: inherit; + font-style: inherit; +} + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +input[type="number"]::-webkit-outer-spin-button, +input[type="number"]::-webkit-inner-spin-button { + height: auto; +} + +.form-control:-moz-placeholder { + color: #999999; +} + +.form-control::-moz-placeholder { + color: #999999; +} + +.form-control:-ms-input-placeholder { + color: #999999; +} + +.form-control::-webkit-input-placeholder { + color: #999999; +} + +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.428571429; + color: #555555; + vertical-align: middle; + background-color: #ffffff; + border: 1px solid #cccccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +} + +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); +} + +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eeeeee; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 15px; +} + +.radio, +.checkbox { + display: block; + min-height: 20px; + padding-left: 20px; + margin-top: 10px; + margin-bottom: 10px; + vertical-align: middle; +} + +.radio label, +.checkbox label { + display: inline; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} + +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + float: left; + margin-left: -20px; +} + +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} + +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} + +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +.radio[disabled], +.radio-inline[disabled], +.checkbox[disabled], +.checkbox-inline[disabled], +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"], +fieldset[disabled] .radio, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} + +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +select.input-sm { + height: 30px; + line-height: 30px; +} + +textarea.input-sm { + height: auto; +} + +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +select.input-lg { + height: 45px; + line-height: 45px; +} + +textarea.input-lg { + height: auto; +} + +.has-warning .help-block, +.has-warning .control-label { + color: #c09853; +} + +.has-warning .form-control { + border-color: #c09853; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-warning .form-control:focus { + border-color: #a47e3c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; +} + +.has-warning .input-group-addon { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} + +.has-error .help-block, +.has-error .control-label { + color: #b94a48; +} + +.has-error .form-control { + border-color: #b94a48; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-error .form-control:focus { + border-color: #953b39; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; +} + +.has-error .input-group-addon { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} + +.has-success .help-block, +.has-success .control-label { + color: #468847; +} + +.has-success .form-control { + border-color: #468847; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-success .form-control:focus { + border-color: #356635; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; +} + +.has-success .input-group-addon { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} + +.form-control-static { + padding-top: 7px; + margin-bottom: 0; +} + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} + +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } +} + +.form-horizontal .control-label, +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} + +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} + +.form-horizontal .form-group:before, +.form-horizontal .form-group:after { + display: table; + content: " "; +} + +.form-horizontal .form-group:after { + clear: both; +} + +.form-horizontal .form-group:before, +.form-horizontal .form-group:after { + display: table; + content: " "; +} + +.form-horizontal .form-group:after { + clear: both; +} + +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + } +} + +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.428571429; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + border: 1px solid transparent; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} + +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.btn:hover, +.btn:focus { + color: #333333; + text-decoration: none; +} + +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -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 { + pointer-events: none; + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn-default { + color: #333333; + background-color: #ffffff; + border-color: #cccccc; +} + +.btn-default:hover, +.btn-default:focus, +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + color: #333333; + background-color: #ebebeb; + border-color: #adadad; +} + +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + background-image: none; +} + +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #ffffff; + border-color: #cccccc; +} + +.btn-primary { + color: #ffffff; + background-color: #428bca; + border-color: #357ebd; +} + +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + color: #ffffff; + background-color: #3276b1; + border-color: #285e8e; +} + +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + background-image: none; +} + +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #428bca; + border-color: #357ebd; +} + +.btn-warning { + color: #ffffff; + background-color: #f0ad4e; + border-color: #eea236; +} + +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + color: #ffffff; + background-color: #ed9c28; + border-color: #d58512; +} + +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + background-image: none; +} + +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} + +.btn-danger { + color: #ffffff; + background-color: #d9534f; + border-color: #d43f3a; +} + +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + color: #ffffff; + background-color: #d2322d; + border-color: #ac2925; +} + +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + background-image: none; +} + +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} + +.btn-success { + color: #ffffff; + background-color: #5cb85c; + border-color: #4cae4c; +} + +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + color: #ffffff; + background-color: #47a447; + border-color: #398439; +} + +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + background-image: none; +} + +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} + +.btn-info { + color: #ffffff; + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + color: #ffffff; + background-color: #39b3d7; + border-color: #269abc; +} + +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + background-image: none; +} + +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-link { + font-weight: normal; + color: #428bca; + cursor: pointer; + border-radius: 0; +} + +.btn-link, +.btn-link:active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} + +.btn-link:hover, +.btn-link:focus { + color: #2a6496; + text-decoration: underline; + background-color: transparent; +} + +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #999999; + text-decoration: none; +} + +.btn-lg { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +.btn-sm, +.btn-xs { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-xs { + padding: 1px 5px; +} + +.btn-block { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; +} + +.btn-block + .btn-block { + margin-top: 5px; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +.fade.in { + opacity: 1; +} + +.collapse { + display: none; +} + +.collapse.in { + display: block; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg'); +} + +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + -webkit-font-smoothing: antialiased; + font-style: normal; + font-weight: normal; + line-height: 1; +} + +.glyphicon-asterisk:before { + content: "\2a"; +} + +.glyphicon-plus:before { + content: "\2b"; +} + +.glyphicon-euro: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-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-print:before { + content: "\e045"; +} + +.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-eye-open:before { + content: "\e105"; +} + +.glyphicon-eye-close:before { + content: "\e106"; +} + +.glyphicon-warning-sign:before { + content: "\e107"; +} + +.glyphicon-plane:before { + content: "\e108"; +} + +.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-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-tasks:before { + content: "\e137"; +} + +.glyphicon-filter:before { + content: "\e138"; +} + +.glyphicon-fullscreen:before { + content: "\e140"; +} + +.glyphicon-dashboard:before { + content: "\e141"; +} + +.glyphicon-heart-empty:before { + content: "\e143"; +} + +.glyphicon-link:before { + content: "\e144"; +} + +.glyphicon-phone:before { + content: "\e145"; +} + +.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-briefcase:before { + content: "\1f4bc"; +} + +.glyphicon-calendar:before { + content: "\1f4c5"; +} + +.glyphicon-pushpin:before { + content: "\1f4cc"; +} + +.glyphicon-paperclip:before { + content: "\1f4ce"; +} + +.glyphicon-camera:before { + content: "\1f4f7"; +} + +.glyphicon-lock:before { + content: "\1f512"; +} + +.glyphicon-bell:before { + content: "\1f514"; +} + +.glyphicon-bookmark:before { + content: "\1f516"; +} + +.glyphicon-fire:before { + content: "\1f525"; +} + +.glyphicon-wrench:before { + content: "\1f527"; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-bottom: 0 dotted; + border-left: 4px solid transparent; + content: ""; +} + +.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; + font-size: 14px; + list-style: none; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} + +.dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.428571429; + color: #333333; + white-space: nowrap; +} + +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #ffffff; + text-decoration: none; + background-color: #428bca; +} + +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #ffffff; + text-decoration: none; + background-color: #428bca; + outline: 0; +} + +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #999999; +} + +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.open > .dropdown-menu { + display: block; +} + +.open > a { + outline: 0; +} + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.428571429; + color: #999999; +} + +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0 dotted; + border-bottom: 4px solid #000000; + content: ""; +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } +} + +.btn-default .caret { + border-top-color: #333333; +} + +.btn-primary .caret, +.btn-success .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret { + border-top-color: #fff; +} + +.dropup .btn-default .caret { + border-bottom-color: #333333; +} + +.dropup .btn-primary .caret, +.dropup .btn-success .caret, +.dropup .btn-warning .caret, +.dropup .btn-danger .caret, +.dropup .btn-info .caret { + border-bottom-color: #fff; +} + +.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:focus, +.btn-group-vertical > .btn:focus { + outline: none; +} + +.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:before, +.btn-toolbar:after { + display: table; + content: " "; +} + +.btn-toolbar:after { + clear: both; +} + +.btn-toolbar:before, +.btn-toolbar:after { + display: table; + content: " "; +} + +.btn-toolbar:after { + clear: both; +} + +.btn-toolbar .btn-group { + float: left; +} + +.btn-toolbar > .btn + .btn, +.btn-toolbar > .btn-group + .btn, +.btn-toolbar > .btn + .btn-group, +.btn-toolbar > .btn-group + .btn-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-top-right-radius: 0; + border-bottom-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 > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn-group:last-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-xs > .btn { + padding: 5px 10px; + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} + +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 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 .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 { + display: block; + float: none; + width: 100%; + max-width: 100%; +} + +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after { + display: table; + content: " "; +} + +.btn-group-vertical > .btn-group:after { + clear: both; +} + +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after { + display: table; + content: " "; +} + +.btn-group-vertical > .btn-group:after { + clear: both; +} + +.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: 4px; + 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-bottom-left-radius: 4px; + border-top-left-radius: 0; +} + +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} + +.btn-group-vertical > .btn-group:first-child > .btn:last-child, +.btn-group-vertical > .btn-group:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn-group:last-child > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.btn-group-justified { + display: table; + width: 100%; + border-collapse: separate; + table-layout: fixed; +} + +.btn-group-justified .btn { + display: table-cell; + float: none; + width: 1%; +} + +[data-toggle="buttons"] > .btn > input[type="radio"], +[data-toggle="buttons"] > .btn > input[type="checkbox"] { + display: none; +} + +.input-group { + position: relative; + display: table; + border-collapse: separate; +} + +.input-group.col { + float: none; + padding-right: 0; + padding-left: 0; +} + +.input-group .form-control { + width: 100%; + margin-bottom: 0; +} + +.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: 18px; + line-height: 1.33; + border-radius: 6px; +} + +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 { + 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: 3px; +} + +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 { + 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: 14px; + font-weight: normal; + line-height: 1; + text-align: center; + background-color: #eeeeee; + border: 1px solid #cccccc; + border-radius: 4px; +} + +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} + +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} + +.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 > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-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 > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.input-group-addon:last-child { + border-left: 0; +} + +.input-group-btn { + position: relative; + white-space: nowrap; +} + +.input-group-btn > .btn { + position: relative; +} + +.input-group-btn > .btn + .btn { + margin-left: -4px; +} + +.input-group-btn > .btn:hover, +.input-group-btn > .btn:active { + z-index: 2; +} + +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav:before, +.nav:after { + display: table; + content: " "; +} + +.nav:after { + clear: both; +} + +.nav:before, +.nav:after { + display: table; + content: " "; +} + +.nav:after { + clear: both; +} + +.nav > li { + position: relative; + display: block; +} + +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} + +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +.nav > li.disabled > a { + color: #999999; +} + +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} + +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #428bca; +} + +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.nav > li > a > img { + max-width: none; +} + +.nav-tabs { + border-bottom: 1px solid #dddddd; +} + +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} + +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.428571429; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} + +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #dddddd; +} + +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + cursor: default; + background-color: #ffffff; + border: 1px solid #dddddd; + border-bottom-color: transparent; +} + +.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; +} + +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } +} + +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-bottom: 1px solid #dddddd; +} + +.nav-tabs.nav-justified > .active > a { + border-bottom-color: #ffffff; +} + +.nav-pills > li { + float: left; +} + +.nav-pills > li > a { + border-radius: 5px; +} + +.nav-pills > li + li { + margin-left: 2px; +} + +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #ffffff; + background-color: #428bca; +} + +.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; +} + +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } +} + +.nav-tabs-justified { + border-bottom: 0; +} + +.nav-tabs-justified > li > a { + margin-right: 0; + border-bottom: 1px solid #dddddd; +} + +.nav-tabs-justified > .active > a { + border-bottom-color: #ffffff; +} + +.tabbable:before, +.tabbable:after { + display: table; + content: " "; +} + +.tabbable:after { + clear: both; +} + +.tabbable:before, +.tabbable:after { + display: table; + content: " "; +} + +.tabbable:after { + clear: both; +} + +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} + +.tab-content > .active, +.pill-content > .active { + display: block; +} + +.nav .caret { + border-top-color: #428bca; + border-bottom-color: #428bca; +} + +.nav a:hover .caret { + border-top-color: #2a6496; + border-bottom-color: #2a6496; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar { + position: relative; + z-index: 1000; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} + +.navbar:before, +.navbar:after { + display: table; + content: " "; +} + +.navbar:after { + clear: both; +} + +.navbar:before, +.navbar:after { + display: table; + content: " "; +} + +.navbar:after { + clear: both; +} + +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} + +.navbar-header:before, +.navbar-header:after { + display: table; + content: " "; +} + +.navbar-header:after { + clear: both; +} + +.navbar-header:before, +.navbar-header:after { + display: table; + content: " "; +} + +.navbar-header:after { + clear: both; +} + +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} + +.navbar-collapse { + max-height: 340px; + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} + +.navbar-collapse:before, +.navbar-collapse:after { + display: table; + content: " "; +} + +.navbar-collapse:after { + clear: both; +} + +.navbar-collapse:before, +.navbar-collapse:after { + display: table; + content: " "; +} + +.navbar-collapse:after { + clear: both; +} + +.navbar-collapse.in { + overflow-y: auto; +} + +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-collapse .navbar-nav.navbar-left:first-child { + margin-left: -15px; + } + .navbar-collapse .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } + .navbar-collapse .navbar-text:last-child { + margin-right: 0; + } +} + +.container > .navbar-header, +.container > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} + +@media (min-width: 768px) { + .container > .navbar-header, + .container > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} + +.navbar-static-top { + border-width: 0 0 1px; +} + +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + border-width: 0 0 1px; +} + +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} + +.navbar-fixed-top { + top: 0; + z-index: 1030; +} + +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; +} + +.navbar-brand { + float: left; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} + +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} + +@media (min-width: 768px) { + .navbar > .container .navbar-brand { + margin-left: -15px; + } +} + +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + border: 1px solid transparent; + border-radius: 4px; +} + +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} + +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} + +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} + +.navbar-nav { + margin: 7.5px -15px; +} + +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} + +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} + +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } +} + +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} + +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); +} + +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } +} + +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} + +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} + +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.navbar-nav.pull-right > li > .dropdown-menu, +.navbar-nav > li > .dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} + +.navbar-text { + float: left; + margin-top: 15px; + margin-bottom: 15px; +} + +@media (min-width: 768px) { + .navbar-text { + margin-right: 15px; + margin-left: 15px; + } +} + +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} + +.navbar-default .navbar-brand { + color: #777777; +} + +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} + +.navbar-default .navbar-text { + color: #777777; +} + +.navbar-default .navbar-nav > li > a { + color: #777777; +} + +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333333; + background-color: transparent; +} + +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555555; + background-color: #e7e7e7; +} + +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} + +.navbar-default .navbar-toggle { + border-color: #dddddd; +} + +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #dddddd; +} + +.navbar-default .navbar-toggle .icon-bar { + background-color: #cccccc; +} + +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e6e6e6; +} + +.navbar-default .navbar-nav > .dropdown > a:hover .caret, +.navbar-default .navbar-nav > .dropdown > a:focus .caret { + border-top-color: #333333; + border-bottom-color: #333333; +} + +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555555; + background-color: #e7e7e7; +} + +.navbar-default .navbar-nav > .open > a .caret, +.navbar-default .navbar-nav > .open > a:hover .caret, +.navbar-default .navbar-nav > .open > a:focus .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.navbar-default .navbar-nav > .dropdown > a .caret { + border-top-color: #777777; + border-bottom-color: #777777; +} + +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #cccccc; + background-color: transparent; + } +} + +.navbar-default .navbar-link { + color: #777777; +} + +.navbar-default .navbar-link:hover { + color: #333333; +} + +.navbar-inverse { + background-color: #222222; + border-color: #080808; +} + +.navbar-inverse .navbar-brand { + color: #999999; +} + +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .navbar-text { + color: #999999; +} + +.navbar-inverse .navbar-nav > li > a { + color: #999999; +} + +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #080808; +} + +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444444; + background-color: transparent; +} + +.navbar-inverse .navbar-toggle { + border-color: #333333; +} + +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333333; +} + +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #ffffff; +} + +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} + +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #ffffff; + background-color: #080808; +} + +.navbar-inverse .navbar-nav > .dropdown > a:hover .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .navbar-nav > .dropdown > a .caret { + border-top-color: #999999; + border-bottom-color: #999999; +} + +.navbar-inverse .navbar-nav > .open > a .caret, +.navbar-inverse .navbar-nav > .open > a:hover .caret, +.navbar-inverse .navbar-nav > .open > a:focus .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #999999; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #ffffff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #ffffff; + background-color: #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: #444444; + background-color: transparent; + } +} + +.navbar-inverse .navbar-link { + color: #999999; +} + +.navbar-inverse .navbar-link:hover { + color: #ffffff; +} + +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} + +.breadcrumb > li { + display: inline-block; +} + +.breadcrumb > li + li:before { + padding: 0 5px; + color: #cccccc; + content: "/\00a0"; +} + +.breadcrumb > .active { + color: #999999; +} + +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} + +.pagination > li { + display: inline; +} + +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.428571429; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; +} + +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} + +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + background-color: #eeeeee; +} + +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + cursor: default; + background-color: #428bca; + border-color: #428bca; +} + +.pagination > .disabled > span, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + cursor: not-allowed; + background-color: #ffffff; + border-color: #dddddd; +} + +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} + +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; +} + +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} + +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} + +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} + +.pager:before, +.pager:after { + display: table; + content: " "; +} + +.pager:after { + clear: both; +} + +.pager:before, +.pager:after { + display: table; + content: " "; +} + +.pager:after { + clear: both; +} + +.pager li { + display: inline; +} + +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 15px; +} + +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +.pager .next > a, +.pager .next > span { + float: right; +} + +.pager .previous > a, +.pager .previous > span { + float: left; +} + +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + cursor: not-allowed; + background-color: #ffffff; +} + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} + +.label[href]:hover, +.label[href]:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.label:empty { + display: none; +} + +.label-default { + background-color: #999999; +} + +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #808080; +} + +.label-primary { + background-color: #428bca; +} + +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #3071a9; +} + +.label-success { + background-color: #5cb85c; +} + +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} + +.label-info { + background-color: #5bc0de; +} + +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} + +.label-warning { + background-color: #f0ad4e; +} + +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} + +.label-danger { + background-color: #d9534f; +} + +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #999999; + border-radius: 10px; +} + +.badge:empty { + display: none; +} + +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.btn .badge { + position: relative; + top: -1px; +} + +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #428bca; + background-color: #ffffff; +} + +.nav-pills > li > a > .badge { + margin-left: 3px; +} + +.jumbotron { + padding: 30px; + margin-bottom: 30px; + font-size: 21px; + font-weight: 200; + line-height: 2.1428571435; + color: inherit; + background-color: #eeeeee; +} + +.jumbotron h1 { + line-height: 1; + color: inherit; +} + +.jumbotron p { + line-height: 1.4; +} + +.container .jumbotron { + border-radius: 6px; +} + +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1 { + font-size: 63px; + } +} + +.thumbnail { + display: inline-block; + display: block; + height: auto; + max-width: 100%; + padding: 4px; + line-height: 1.428571429; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +.thumbnail > img { + display: block; + height: auto; + max-width: 100%; +} + +a.thumbnail:hover, +a.thumbnail:focus { + border-color: #428bca; +} + +.thumbnail > img { + margin-right: auto; + margin-left: auto; +} + +.thumbnail .caption { + padding: 9px; + color: #333333; +} + +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} + +.alert h4 { + margin-top: 0; + color: inherit; +} + +.alert .alert-link { + font-weight: bold; +} + +.alert > p, +.alert > ul { + margin-bottom: 0; +} + +.alert > p + p { + margin-top: 5px; +} + +.alert-dismissable { + padding-right: 35px; +} + +.alert-dismissable .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} + +.alert-success { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.alert-success hr { + border-top-color: #c9e2b3; +} + +.alert-success .alert-link { + color: #356635; +} + +.alert-info { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.alert-info hr { + border-top-color: #a6e1ec; +} + +.alert-info .alert-link { + color: #2d6987; +} + +.alert-warning { + color: #c09853; + background-color: #fcf8e3; + border-color: #fbeed5; +} + +.alert-warning hr { + border-top-color: #f8e5be; +} + +.alert-warning .alert-link { + color: #a47e3c; +} + +.alert-danger { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.alert-danger hr { + border-top-color: #e6c1c7; +} + +.alert-danger .alert-link { + color: #953b39; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-o-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + color: #ffffff; + text-align: center; + background-color: #428bca; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress-striped .progress-bar { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} + +.progress.active .progress-bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-bar-success { + background-color: #5cb85c; +} + +.progress-striped .progress-bar-success { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-info { + background-color: #5bc0de; +} + +.progress-striped .progress-bar-info { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-warning { + background-color: #f0ad4e; +} + +.progress-striped .progress-bar-warning { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-danger { + background-color: #d9534f; +} + +.progress-striped .progress-bar-danger { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.media, +.media-body { + overflow: hidden; + zoom: 1; +} + +.media, +.media .media { + margin-top: 15px; +} + +.media:first-child { + margin-top: 0; +} + +.media-object { + display: block; +} + +.media-heading { + margin: 0 0 5px; +} + +.media > .pull-left { + margin-right: 10px; +} + +.media > .pull-right { + margin-left: 10px; +} + +.media-list { + padding-left: 0; + list-style: none; +} + +.list-group { + padding-left: 0; + margin-bottom: 20px; +} + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #ffffff; + border: 1px solid #dddddd; +} + +.list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} + +.list-group-item > .badge { + float: right; +} + +.list-group-item > .badge + .badge { + margin-right: 5px; +} + +a.list-group-item { + color: #555555; +} + +a.list-group-item .list-group-item-heading { + color: #333333; +} + +a.list-group-item:hover, +a.list-group-item:focus { + text-decoration: none; + background-color: #f5f5f5; +} + +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #ffffff; + background-color: #428bca; + border-color: #428bca; +} + +.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 { + 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: #e1edf7; +} + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} + +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.panel-body { + padding: 15px; +} + +.panel-body:before, +.panel-body:after { + display: table; + content: " "; +} + +.panel-body:after { + clear: both; +} + +.panel-body:before, +.panel-body:after { + display: table; + content: " "; +} + +.panel-body:after { + clear: both; +} + +.panel > .list-group { + margin-bottom: 0; +} + +.panel > .list-group .list-group-item { + border-width: 1px 0; +} + +.panel > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.panel > .list-group .list-group-item:last-child { + border-bottom: 0; +} + +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} + +.panel > .table { + margin-bottom: 0; +} + +.panel > .panel-body + .table { + border-top: 1px solid #dddddd; +} + +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} + +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; +} + +.panel-title > a { + color: inherit; +} + +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #dddddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} + +.panel-group .panel { + margin-bottom: 0; + overflow: hidden; + border-radius: 4px; +} + +.panel-group .panel + .panel { + margin-top: 5px; +} + +.panel-group .panel-heading { + border-bottom: 0; +} + +.panel-group .panel-heading + .panel-collapse .panel-body { + border-top: 1px solid #dddddd; +} + +.panel-group .panel-footer { + border-top: 0; +} + +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #dddddd; +} + +.panel-default { + border-color: #dddddd; +} + +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #dddddd; +} + +.panel-default > .panel-heading + .panel-collapse .panel-body { + border-top-color: #dddddd; +} + +.panel-default > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #dddddd; +} + +.panel-primary { + border-color: #428bca; +} + +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #428bca; + border-color: #428bca; +} + +.panel-primary > .panel-heading + .panel-collapse .panel-body { + border-top-color: #428bca; +} + +.panel-primary > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #428bca; +} + +.panel-success { + border-color: #d6e9c6; +} + +.panel-success > .panel-heading { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.panel-success > .panel-heading + .panel-collapse .panel-body { + border-top-color: #d6e9c6; +} + +.panel-success > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #d6e9c6; +} + +.panel-warning { + border-color: #fbeed5; +} + +.panel-warning > .panel-heading { + color: #c09853; + background-color: #fcf8e3; + border-color: #fbeed5; +} + +.panel-warning > .panel-heading + .panel-collapse .panel-body { + border-top-color: #fbeed5; +} + +.panel-warning > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #fbeed5; +} + +.panel-danger { + border-color: #eed3d7; +} + +.panel-danger > .panel-heading { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.panel-danger > .panel-heading + .panel-collapse .panel-body { + border-top-color: #eed3d7; +} + +.panel-danger > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #eed3d7; +} + +.panel-info { + border-color: #bce8f1; +} + +.panel-info > .panel-heading { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.panel-info > .panel-heading + .panel-collapse .panel-body { + border-top-color: #bce8f1; +} + +.panel-info > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #bce8f1; +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} + +.well-lg { + padding: 24px; + border-radius: 6px; +} + +.well-sm { + padding: 9px; + border-radius: 3px; +} + +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} + +.close:hover, +.close:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.modal-open { + overflow: hidden; +} + +body.modal-open, +.modal-open .navbar-fixed-top, +.modal-open .navbar-fixed-bottom { + margin-right: 15px; +} + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + display: none; + overflow: auto; + overflow-y: scroll; +} + +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} + +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} + +.modal-dialog { + z-index: 1050; + width: auto; + padding: 10px; + margin-right: auto; + margin-left: auto; +} + +.modal-content { + position: relative; + background-color: #ffffff; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + outline: none; + -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; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; + background-color: #000000; +} + +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} + +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} + +.modal-header { + min-height: 16.428571429px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} + +.modal-header .close { + margin-top: -2px; +} + +.modal-title { + margin: 0; + line-height: 1.428571429; +} + +.modal-body { + position: relative; + padding: 20px; +} + +.modal-footer { + padding: 19px 20px 20px; + margin-top: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} + +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} + +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} + +@media screen and (min-width: 768px) { + .modal-dialog { + right: auto; + left: 50%; + width: 600px; + padding-top: 30px; + padding-bottom: 30px; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } +} + +.tooltip { + position: absolute; + z-index: 1030; + display: block; + font-size: 12px; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity=0); + visibility: visible; +} + +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} + +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} + +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} + +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} + +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.top-right .tooltip-arrow { + right: 5px; + bottom: 0; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-right-color: #000000; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-left-color: #000000; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.tooltip.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.tooltip.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + background-clip: padding-box; +} + +.popover.top { + margin-top: -10px; +} + +.popover.right { + margin-left: 10px; +} + +.popover.bottom { + margin-top: 10px; +} + +.popover.left { + margin-left: -10px; +} + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover .arrow { + border-width: 11px; +} + +.popover .arrow:after { + border-width: 10px; + content: ""; +} + +.popover.top .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; +} + +.popover.top .arrow:after { + bottom: 1px; + margin-left: -10px; + border-top-color: #ffffff; + border-bottom-width: 0; + content: " "; +} + +.popover.right .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; +} + +.popover.right .arrow:after { + bottom: -10px; + left: 1px; + border-right-color: #ffffff; + border-left-width: 0; + content: " "; +} + +.popover.bottom .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + border-top-width: 0; +} + +.popover.bottom .arrow:after { + top: 1px; + margin-left: -10px; + border-bottom-color: #ffffff; + border-top-width: 0; + content: " "; +} + +.popover.left .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); + border-right-width: 0; +} + +.popover.left .arrow:after { + right: 1px; + bottom: -10px; + border-left-color: #ffffff; + border-right-width: 0; + content: " "; +} + +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} + +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + height: auto; + max-width: 100%; + line-height: 1; +} + +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} + +.carousel-inner > .active { + left: 0; +} + +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} + +.carousel-inner > .next { + left: 100%; +} + +.carousel-inner > .prev { + left: -100%; +} + +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} + +.carousel-inner > .active.left { + left: -100%; +} + +.carousel-inner > .active.right { + left: 100%; +} + +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + opacity: 0.5; + filter: alpha(opacity=50); +} + +.carousel-control.left { + background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0), color-stop(rgba(0, 0, 0, 0.0001) 100%)); + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} + +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0), color-stop(rgba(0, 0, 0, 0.5) 100%)); + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} + +.carousel-control:hover, +.carousel-control:focus { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} + +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + left: 50%; + z-index: 5; + display: inline-block; +} + +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + margin-left: -10px; + font-family: serif; +} + +.carousel-control .icon-prev:before { + content: '\2039'; +} + +.carousel-control .icon-next:before { + content: '\203a'; +} + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} + +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + border: 1px solid #ffffff; + border-radius: 10px; +} + +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #ffffff; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} + +.carousel-caption .btn { + text-shadow: none; +} + +@media screen and (min-width: 768px) { + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + margin-left: -15px; + font-size: 30px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} + +.clearfix:before, +.clearfix:after { + display: table; + content: " "; +} + +.clearfix:after { + clear: both; +} + +.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; +} + +.affix { + position: fixed; +} + +@-ms-viewport { + width: device-width; +} + +@media screen and (max-width: 400px) { + @-ms-viewport { + width: 320px; + } +} + +.hidden { + display: none !important; + visibility: hidden !important; +} + +.visible-xs { + display: none !important; +} + +tr.visible-xs { + display: none !important; +} + +th.visible-xs, +td.visible-xs { + display: none !important; +} + +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-xs.visible-sm { + display: block !important; + } + tr.visible-xs.visible-sm { + display: table-row !important; + } + th.visible-xs.visible-sm, + td.visible-xs.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-xs.visible-md { + display: block !important; + } + tr.visible-xs.visible-md { + display: table-row !important; + } + th.visible-xs.visible-md, + td.visible-xs.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-xs.visible-lg { + display: block !important; + } + tr.visible-xs.visible-lg { + display: table-row !important; + } + th.visible-xs.visible-lg, + td.visible-xs.visible-lg { + display: table-cell !important; + } +} + +.visible-sm { + display: none !important; +} + +tr.visible-sm { + display: none !important; +} + +th.visible-sm, +td.visible-sm { + display: none !important; +} + +@media (max-width: 767px) { + .visible-sm.visible-xs { + display: block !important; + } + tr.visible-sm.visible-xs { + display: table-row !important; + } + th.visible-sm.visible-xs, + td.visible-sm.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-sm.visible-md { + display: block !important; + } + tr.visible-sm.visible-md { + display: table-row !important; + } + th.visible-sm.visible-md, + td.visible-sm.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-sm.visible-lg { + display: block !important; + } + tr.visible-sm.visible-lg { + display: table-row !important; + } + th.visible-sm.visible-lg, + td.visible-sm.visible-lg { + display: table-cell !important; + } +} + +.visible-md { + display: none !important; +} + +tr.visible-md { + display: none !important; +} + +th.visible-md, +td.visible-md { + display: none !important; +} + +@media (max-width: 767px) { + .visible-md.visible-xs { + display: block !important; + } + tr.visible-md.visible-xs { + display: table-row !important; + } + th.visible-md.visible-xs, + td.visible-md.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-md.visible-sm { + display: block !important; + } + tr.visible-md.visible-sm { + display: table-row !important; + } + th.visible-md.visible-sm, + td.visible-md.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-md.visible-lg { + display: block !important; + } + tr.visible-md.visible-lg { + display: table-row !important; + } + th.visible-md.visible-lg, + td.visible-md.visible-lg { + display: table-cell !important; + } +} + +.visible-lg { + display: none !important; +} + +tr.visible-lg { + display: none !important; +} + +th.visible-lg, +td.visible-lg { + display: none !important; +} + +@media (max-width: 767px) { + .visible-lg.visible-xs { + display: block !important; + } + tr.visible-lg.visible-xs { + display: table-row !important; + } + th.visible-lg.visible-xs, + td.visible-lg.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-lg.visible-sm { + display: block !important; + } + tr.visible-lg.visible-sm { + display: table-row !important; + } + th.visible-lg.visible-sm, + td.visible-lg.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-lg.visible-md { + display: block !important; + } + tr.visible-lg.visible-md { + display: table-row !important; + } + th.visible-lg.visible-md, + td.visible-lg.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} + +.hidden-xs { + display: block !important; +} + +tr.hidden-xs { + display: table-row !important; +} + +th.hidden-xs, +td.hidden-xs { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } + tr.hidden-xs { + display: none !important; + } + th.hidden-xs, + td.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-xs.hidden-sm { + display: none !important; + } + tr.hidden-xs.hidden-sm { + display: none !important; + } + th.hidden-xs.hidden-sm, + td.hidden-xs.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-xs.hidden-md { + display: none !important; + } + tr.hidden-xs.hidden-md { + display: none !important; + } + th.hidden-xs.hidden-md, + td.hidden-xs.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-xs.hidden-lg { + display: none !important; + } + tr.hidden-xs.hidden-lg { + display: none !important; + } + th.hidden-xs.hidden-lg, + td.hidden-xs.hidden-lg { + display: none !important; + } +} + +.hidden-sm { + display: block !important; +} + +tr.hidden-sm { + display: table-row !important; +} + +th.hidden-sm, +td.hidden-sm { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-sm.hidden-xs { + display: none !important; + } + tr.hidden-sm.hidden-xs { + display: none !important; + } + th.hidden-sm.hidden-xs, + td.hidden-sm.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } + tr.hidden-sm { + display: none !important; + } + th.hidden-sm, + td.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-sm.hidden-md { + display: none !important; + } + tr.hidden-sm.hidden-md { + display: none !important; + } + th.hidden-sm.hidden-md, + td.hidden-sm.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-sm.hidden-lg { + display: none !important; + } + tr.hidden-sm.hidden-lg { + display: none !important; + } + th.hidden-sm.hidden-lg, + td.hidden-sm.hidden-lg { + display: none !important; + } +} + +.hidden-md { + display: block !important; +} + +tr.hidden-md { + display: table-row !important; +} + +th.hidden-md, +td.hidden-md { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-md.hidden-xs { + display: none !important; + } + tr.hidden-md.hidden-xs { + display: none !important; + } + th.hidden-md.hidden-xs, + td.hidden-md.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-md.hidden-sm { + display: none !important; + } + tr.hidden-md.hidden-sm { + display: none !important; + } + th.hidden-md.hidden-sm, + td.hidden-md.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } + tr.hidden-md { + display: none !important; + } + th.hidden-md, + td.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-md.hidden-lg { + display: none !important; + } + tr.hidden-md.hidden-lg { + display: none !important; + } + th.hidden-md.hidden-lg, + td.hidden-md.hidden-lg { + display: none !important; + } +} + +.hidden-lg { + display: block !important; +} + +tr.hidden-lg { + display: table-row !important; +} + +th.hidden-lg, +td.hidden-lg { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-lg.hidden-xs { + display: none !important; + } + tr.hidden-lg.hidden-xs { + display: none !important; + } + th.hidden-lg.hidden-xs, + td.hidden-lg.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-lg.hidden-sm { + display: none !important; + } + tr.hidden-lg.hidden-sm { + display: none !important; + } + th.hidden-lg.hidden-sm, + td.hidden-lg.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-lg.hidden-md { + display: none !important; + } + tr.hidden-lg.hidden-md { + display: none !important; + } + th.hidden-lg.hidden-md, + td.hidden-lg.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } + tr.hidden-lg { + display: none !important; + } + th.hidden-lg, + td.hidden-lg { + display: none !important; + } +} + +.visible-print { + display: none !important; +} + +tr.visible-print { + display: none !important; +} + +th.visible-print, +td.visible-print { + display: none !important; +} + +@media print { + .visible-print { + display: block !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } + .hidden-print { + display: none !important; + } + tr.hidden-print { + display: none !important; + } + th.hidden-print, + td.hidden-print { + display: none !important; + } +} \ No newline at end of file diff --git a/Planetsino/Content/bootstrap.min.css b/Planetsino/Content/bootstrap.min.css new file mode 100644 index 0000000..df89a50 --- /dev/null +++ b/Planetsino/Content/bootstrap.min.css @@ -0,0 +1,20 @@ +/* NUGET: BEGIN LICENSE TEXT + * + * Microsoft grants you the right to use these script files for the sole + * purpose of either: (i) interacting through your browser with the Microsoft + * website or online service, subject to the applicable licensing or use + * terms; or (ii) using the files as included with a Microsoft product subject + * to that product's license terms. Microsoft reserves all other rights to the + * files not expressly granted by Microsoft, whether by implication, estoppel + * or otherwise. The notices and licenses below are for informational purposes only. + * + * NUGET: END LICENSE TEXT */ +/*! + * Bootstrap v3.0.0 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + *//*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]: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}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select[multiple],textarea{background-image:none}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16.099999999999998px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-warning{color:#c09853}.text-danger{color:#b94a48}.text-success{color:#468847}.text-info{color:#3a87ad}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1}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:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}h1 small,.h1 small{font-size:24px}h2 small,.h2 small{font-size:18px}h3 small,.h3 small,h4 small,.h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small{display:block;line-height:1.428571429;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:1.428571429}code,pre{font-family:Monaco,Menlo,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.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,.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,.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,.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{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11{float:left}.col-xs-1{width:8.333333333333332%}.col-xs-2{width:16.666666666666664%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333333333%}.col-xs-5{width:41.66666666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.333333333333336%}.col-xs-8{width:66.66666666666666%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333333334%}.col-xs-11{width:91.66666666666666%}.col-xs-12{width:100%}@media(min-width:768px){.container{max-width:750px}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11{float:left}.col-sm-1{width:8.333333333333332%}.col-sm-2{width:16.666666666666664%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333333333%}.col-sm-5{width:41.66666666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.333333333333336%}.col-sm-8{width:66.66666666666666%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333333334%}.col-sm-11{width:91.66666666666666%}.col-sm-12{width:100%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-11{left:91.66666666666666%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-11{margin-left:91.66666666666666%}}@media(min-width:992px){.container{max-width:970px}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11{float:left}.col-md-1{width:8.333333333333332%}.col-md-2{width:16.666666666666664%}.col-md-3{width:25%}.col-md-4{width:33.33333333333333%}.col-md-5{width:41.66666666666667%}.col-md-6{width:50%}.col-md-7{width:58.333333333333336%}.col-md-8{width:66.66666666666666%}.col-md-9{width:75%}.col-md-10{width:83.33333333333334%}.col-md-11{width:91.66666666666666%}.col-md-12{width:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.333333333333332%}.col-md-push-2{left:16.666666666666664%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333333333333%}.col-md-push-5{left:41.66666666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.333333333333336%}.col-md-push-8{left:66.66666666666666%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333333333334%}.col-md-push-11{left:91.66666666666666%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-11{right:91.66666666666666%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-11{margin-left:91.66666666666666%}}@media(min-width:1200px){.container{max-width:1170px}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11{float:left}.col-lg-1{width:8.333333333333332%}.col-lg-2{width:16.666666666666664%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333333333%}.col-lg-5{width:41.66666666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.333333333333336%}.col-lg-8{width:66.66666666666666%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333333334%}.col-lg-11{width:91.66666666666666%}.col-lg-12{width:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-11{left:91.66666666666666%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-11{margin-left:91.66666666666666%}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table thead>tr>th,.table tbody>tr>th,.table tfoot>tr>th,.table thead>tr>td,.table tbody>tr>td,.table tfoot>tr>td{padding:8px;line-height:1.428571429;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-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8;border-color:#d6e9c6}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td{background-color:#d0e9c6;border-color:#c9e2b3}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede;border-color:#eed3d7}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td{background-color:#ebcccc;border-color:#e6c1c7}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3;border-color:#fbeed5}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td{background-color:#faf2cc;border-color:#f8e5be}@media(max-width:768px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0;background-color:#fff}.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>thead>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>thead>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:45px;line-height:45px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.has-error .help-block,.has-error .control-label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.has-success .help-block,.has-success .control-label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;background-color:#dff0d8;border-color:#468847}.form-control-static{padding-top:7px;margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-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{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-link{font-weight:normal;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;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:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-xs{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro: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-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-print:before{content:"\e045"}.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-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.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-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-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.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-briefcase:before{content:"\1f4bc"}.glyphicon-calendar:before{content:"\1f4c5"}.glyphicon-pushpin:before{content:"\1f4cc"}.glyphicon-paperclip:before{content:"\1f4ce"}.glyphicon-camera:before{content:"\1f4f7"}.glyphicon-lock:before{content:"\1f512"}.glyphicon-bell:before{content:"\1f514"}.glyphicon-bookmark:before{content:"\1f516"}.glyphicon-fire:before{content:"\1f525"}.glyphicon-wrench:before{content:"\1f527"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid #000;border-right:4px solid transparent;border-bottom:0 dotted;border-left:4px solid transparent;content:""}.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;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#fff;text-decoration:none;background-color:#428bca}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-default .caret{border-top-color:#333}.btn-primary .caret,.btn-success .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret{border-top-color:#fff}.dropup .btn-default .caret{border-bottom-color:#333}.dropup .btn-primary .caret,.dropup .btn-success .caret,.dropup .btn-warning .caret,.dropup .btn-danger .caret,.dropup .btn-info .caret{border-bottom-color:#fff}.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:focus,.btn-group-vertical>.btn:focus{outline:0}.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:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-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-top-right-radius:0;border-bottom-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>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-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-xs>.btn{padding:5px 10px;padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left: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 .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{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.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:4px;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-bottom-left-radius:4px;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified .btn{display:table-cell;float:none;width:1%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group.col{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.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:18px;line-height:1.33;border-radius:6px}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{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:3px}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{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:14px;font-weight:normal;line-height:1;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.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>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-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>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.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}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}}.nav-tabs.nav-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs.nav-justified>.active>a{border-bottom-color:#fff}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:5px}.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:#428bca}.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}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs-justified>.active>a{border-bottom-color:#fff}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.nav .caret{border-top-color:#428bca;border-bottom-color:#428bca}.nav a:hover .caret{border-top-color:#2a6496;border-bottom-color:#2a6496}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;z-index:1000;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-collapse .navbar-nav.navbar-left:first-child{margin-left:-15px}.navbar-collapse .navbar-nav.navbar-right:last-child{margin-right:-15px}.navbar-collapse .navbar-text:last-child{margin-right:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;border-width:0 0 1px}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;z-index:1030}.navbar-fixed-bottom{bottom:0;margin-bottom:0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-text{float:left;margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{margin-right:15px;margin-left:15px}}.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:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e6e6e6}.navbar-default .navbar-nav>.dropdown>a:hover .caret,.navbar-default .navbar-nav>.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.open>a .caret,.navbar-default .navbar-nav>.open>a:hover .caret,.navbar-default .navbar-nav>.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}.navbar-default .navbar-nav>.dropdown>a .caret{border-top-color:#777;border-bottom-color:#777}@media(max-width:767px){.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-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.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{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-nav>.dropdown>a .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .navbar-nav>.open>a .caret,.navbar-inverse .navbar-nav>.open>a:hover .caret,.navbar-inverse .navbar-nav>.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.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:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.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:#eee}.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:#999;cursor:not-allowed;background-color:#fff}.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}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{display:none}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.btn .badge{position:relative;top:-1px}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1{font-size:63px}}.thumbnail{display:inline-block;display:block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img{display:block;height:auto;max-width:100%}a.thumbnail:hover,a.thumbnail:focus{border-color:#428bca}.thumbnail>img{margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#428bca;-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 .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.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:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.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{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:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table{margin-bottom:0}.panel>.panel-body+.table{border-top:1px solid #ddd}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #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:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#fbeed5}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#fbeed5}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#fbeed5}.panel-danger{border-color:#eed3d7}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#eed3d7}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#eed3d7}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:15px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{z-index:1050;width:auto;padding:10px;margin-right:auto;margin-left:auto}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-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}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{right:auto;left:50%;width:600px;padding-top:30px;padding-bottom:30px}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);opacity:.5;filter:alpha(opacity=50)}.carousel-control.left{background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.5)),to(rgba(0,0,0,0.0001)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.5) 0),color-stop(rgba(0,0,0,0.0001) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.0001)),to(rgba(0,0,0,0.5)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(rgba(0,0,0,0.5) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.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%;left:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;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 .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.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}.affix{position:fixed}@-ms-viewport{width:device-width}@media screen and (max-width:400px){@-ms-viewport{width:320px}}.hidden{display:none!important;visibility:hidden!important}.visible-xs{display:none!important}tr.visible-xs{display:none!important}th.visible-xs,td.visible-xs{display:none!important}@media(max-width:767px){.visible-xs{display:block!important}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}tr.visible-xs.visible-sm{display:table-row!important}th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}tr.visible-xs.visible-md{display:table-row!important}th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-xs.visible-lg{display:block!important}tr.visible-xs.visible-lg{display:table-row!important}th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell!important}}.visible-sm{display:none!important}tr.visible-sm{display:none!important}th.visible-sm,td.visible-sm{display:none!important}@media(max-width:767px){.visible-sm.visible-xs{display:block!important}tr.visible-sm.visible-xs{display:table-row!important}th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block!important}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}tr.visible-sm.visible-md{display:table-row!important}th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-sm.visible-lg{display:block!important}tr.visible-sm.visible-lg{display:table-row!important}th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell!important}}.visible-md{display:none!important}tr.visible-md{display:none!important}th.visible-md,td.visible-md{display:none!important}@media(max-width:767px){.visible-md.visible-xs{display:block!important}tr.visible-md.visible-xs{display:table-row!important}th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}tr.visible-md.visible-sm{display:table-row!important}th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block!important}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-md.visible-lg{display:block!important}tr.visible-md.visible-lg{display:table-row!important}th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell!important}}.visible-lg{display:none!important}tr.visible-lg{display:none!important}th.visible-lg,td.visible-lg{display:none!important}@media(max-width:767px){.visible-lg.visible-xs{display:block!important}tr.visible-lg.visible-xs{display:table-row!important}th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}tr.visible-lg.visible-sm{display:table-row!important}th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}tr.visible-lg.visible-md{display:table-row!important}th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-lg{display:block!important}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}tr.hidden-xs{display:table-row!important}th.hidden-xs,td.hidden-xs{display:table-cell!important}@media(max-width:767px){.hidden-xs{display:none!important}tr.hidden-xs{display:none!important}th.hidden-xs,td.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm{display:none!important}tr.hidden-xs.hidden-sm{display:none!important}th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md{display:none!important}tr.hidden-xs.hidden-md{display:none!important}th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-xs.hidden-lg{display:none!important}tr.hidden-xs.hidden-lg{display:none!important}th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}tr.hidden-sm{display:table-row!important}th.hidden-sm,td.hidden-sm{display:table-cell!important}@media(max-width:767px){.hidden-sm.hidden-xs{display:none!important}tr.hidden-sm.hidden-xs{display:none!important}th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}tr.hidden-sm{display:none!important}th.hidden-sm,td.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md{display:none!important}tr.hidden-sm.hidden-md{display:none!important}th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-sm.hidden-lg{display:none!important}tr.hidden-sm.hidden-lg{display:none!important}th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}tr.hidden-md{display:table-row!important}th.hidden-md,td.hidden-md{display:table-cell!important}@media(max-width:767px){.hidden-md.hidden-xs{display:none!important}tr.hidden-md.hidden-xs{display:none!important}th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-md.hidden-sm{display:none!important}tr.hidden-md.hidden-sm{display:none!important}th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}tr.hidden-md{display:none!important}th.hidden-md,td.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-md.hidden-lg{display:none!important}tr.hidden-md.hidden-lg{display:none!important}th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}tr.hidden-lg{display:table-row!important}th.hidden-lg,td.hidden-lg{display:table-cell!important}@media(max-width:767px){.hidden-lg.hidden-xs{display:none!important}tr.hidden-lg.hidden-xs{display:none!important}th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm{display:none!important}tr.hidden-lg.hidden-sm{display:none!important}th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md{display:none!important}tr.hidden-lg.hidden-md{display:none!important}th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-lg{display:none!important}tr.hidden-lg{display:none!important}th.hidden-lg,td.hidden-lg{display:none!important}}.visible-print{display:none!important}tr.visible-print{display:none!important}th.visible-print,td.visible-print{display:none!important}@media print{.visible-print{display:block!important}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}.hidden-print{display:none!important}tr.hidden-print{display:none!important}th.hidden-print,td.hidden-print{display:none!important}} \ No newline at end of file diff --git a/Planetsino/Controllers/HomeController.cs b/Planetsino/Controllers/HomeController.cs new file mode 100644 index 0000000..f2895ff --- /dev/null +++ b/Planetsino/Controllers/HomeController.cs @@ -0,0 +1,255 @@ +using Planetsino.Models; +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading.Tasks; +using System.Web; +using System.Web.Mvc; + +namespace Planetsino.Controllers +{ + public class HomeController : Controller + { + public ActionResult Index() + { + return View(); + } + + public ActionResult About() + { + return View(); + } + + [HttpGet] + public async Task Account(Guid? playerGuid) + { + if (!playerGuid.HasValue) + { + ViewBag.Message = "Welcome new player."; + + var player = Player.New(); + player.PlayerGuid = Guid.Empty; + return View(player); + } + else + { + ViewBag.Message = "Welcome back player."; + + var player = await Player.Load(playerGuid.Value); + return View(player); + } + } + + [HttpPost] + public async Task Account(Guid playerGuid, string clientName, string button) + { + var stopWatch = Stopwatch.StartNew(); + var initialRequestCharge = DbHelper.RequestCharge; + + Player player = null; + if (playerGuid == Guid.Empty) + { + player = Player.New(); + await player.Create(); + playerGuid = player.PlayerGuid; + clientName = player.ClientName; + ModelState.Clear(); // To make sure all controls on the page are updated with the new player + } + + switch (button) + { + case "start": + if (player.Balance >= 20) + { + return RedirectToAction("Play", new { player.PlayerGuid }); + } + break; + case "deposit": + // Option 1: Load, change and then save changes + //if (player == null) + // player = await Player.Load(playerGuid, clientName); + //player.Balance += 100; + //await player.Upsert(); + + // Option 2: Use Stored Procedure to do the changes + player = await Player.AdjustBalance(playerGuid, clientName, 100); + + ViewBag.Message = "$100 added to balance."; + break; + case "withdraw": + // Option 1: Load, change and then save changes + //if (player == null) + // player = await Player.Load(playerGuid, clientName); + //player.Balance -= 100; + //await player.Replace(); + + // Option 2: Use Stored Procedure to do the changes + player = await Player.AdjustBalance(playerGuid, clientName, -100); + + ViewBag.Message = "$100 withdrawn from balance."; + break; + } + + ViewBag.Metrics = $"Elapsed milliseconds: {stopWatch.ElapsedMilliseconds}
Consumption: {DbHelper.RequestCharge - initialRequestCharge:f2}"; + return View(player); + } + + [HttpGet] + public async Task Play(Guid? playerGuid) + { + if (!playerGuid.HasValue) + return RedirectToAction(""); + + var player = await Player.Load(playerGuid.Value); + if (player.Balance < 20) + return RedirectToAction(""); + + player.Balance -= 20; + player.PlayerScore = 0; + player.ComputerScore = 0; + player.Pot = 0; + await player.Upsert(); + + return View(player); + } + + [HttpPost] + public async Task Play(Guid playerGuid, string clientName, string button) + { + var player = await Player.Load(playerGuid, clientName); + var computersTurn = false; + var gameOver = false; + var rand = new Random(); + int[] Toss() => new[] { rand.Next(2), rand.Next(2), rand.Next(2) }; + + switch (button.ToLower()) + { + case "toss": + var coins = Toss(); + int sum = coins.Sum(); + ViewBag.Coins = coins; + if (sum == 0) + { + player.Pot = 0; + ViewBag.Message = "You lost the pot."; + computersTurn = true; + } + else + { + player.Pot += sum; + ViewBag.Message = $"Pot increased by {sum}"; + } + break; + case "call": + if (player.Pot == 0) + { + ViewBag.Message = "You cannot Call when the pot is empty."; + return View(player); + } + + player.PlayerScore += player.Pot; + ViewBag.Message = $"You call. The pot, {player.Pot}, has been added to your score."; + player.Pot = 0; + computersTurn = true; + break; + } + + if (player.PlayerScore >= 25) + { + ViewBag.Message += "
You win!"; + player.Balance += 40; + computersTurn = false; + gameOver = true; + } + + if (computersTurn) + { + var pot = 0; + do + { + var sum = Toss().Sum(); + if (sum == 0) + { + pot = 0; + break; + } + + pot += sum; + } while (pot < 4); // Computer will toss again if pot is less than 4 + + ViewBag.Message += $"
The computer earned {pot}."; + player.ComputerScore += pot; + } + + if (player.ComputerScore >= 25) + { + ViewBag.Message += "
The computer wins!"; + gameOver = true; + } + + await player.Upsert(); + + ViewBag.GameOver = gameOver; + + return View(player); + } + + [HttpGet] + public ActionResult Admin() + { + return View(); + } + + [HttpPost] + public async Task Admin(int minBalance) + { + var stopWatch = Stopwatch.StartNew(); + var initialRequestCharge = DbHelper.RequestCharge; + + var players = await Player.SearchByBalance(minBalance); + if (players.Length == 0) + ViewBag.Message = "No accounts found.
"; + else + ViewBag.Message = ""; + + ViewBag.Metrics = $"Elapsed milliseconds: {stopWatch.ElapsedMilliseconds}
Consumption: {DbHelper.RequestCharge - initialRequestCharge:f2}"; + return View(players); + } + + [HttpGet] + public ActionResult PerformanceTest() + { + return View(); + } + + [HttpPost] + public async Task PerformanceTest(PerformanceTest test) + { + await test.RunTests(); + ViewBag.Message = "Tests completed. Run the tests multiple times to get stable results."; + return View(test); + } + + [HttpGet] + public ActionResult Diagnostics() + { + var diagnostics = new Diagnostics(); + diagnostics.Results = DbHelper.Diagnostics(); + return View(diagnostics); + } + + [HttpPost] + public async Task Diagnostics(string button) + { + if (button == "delete") + { + await DbHelper.DeleteDatabases(); + ViewBag.Message = "Databases deleted!"; + } + + return Diagnostics(); + } + } +} \ No newline at end of file diff --git a/Planetsino/Global.asax b/Planetsino/Global.asax new file mode 100644 index 0000000..18bc3cd --- /dev/null +++ b/Planetsino/Global.asax @@ -0,0 +1 @@ +<%@ Application Codebehind="Global.asax.cs" Inherits="Planetsino.MvcApplication" Language="C#" %> diff --git a/Planetsino/Global.asax.cs b/Planetsino/Global.asax.cs new file mode 100644 index 0000000..9781cb9 --- /dev/null +++ b/Planetsino/Global.asax.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Optimization; +using System.Web.Routing; +using Planetsino.Models; +using System.IO; + +namespace Planetsino +{ + public class MvcApplication : System.Web.HttpApplication + { + protected void Application_Start() + { + AreaRegistration.RegisterAllAreas(); + FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); + RouteConfig.RegisterRoutes(RouteTable.Routes); + BundleConfig.RegisterBundles(BundleTable.Bundles); + InitDatabase(); + } + + private async void InitDatabase() + { + await DbHelper.CreateDatabases(); + await DbHelper.CreateCollections(Player.CollectionId, Player.PartitionKey); + + var path = HttpRuntime.AppDomainAppPath; // Server.MapPath("~"); + var procedureBody = File.ReadAllText(Path.Combine(path, "Procedures/AdjustBalance.js")); + await DbHelper.CreateStoredProcedure(DbHelper.PrimaryClient.Name, "adjustBalance", Player.CollectionId, procedureBody); + } + } +} diff --git a/Planetsino/Images/CosmosDB.png b/Planetsino/Images/CosmosDB.png new file mode 100644 index 0000000000000000000000000000000000000000..8361fe7d06333a6e4b2d91970d45c9918e2b4ba6 GIT binary patch literal 18514 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 OQLFV|>b3%27yb{gKPH<1 literal 0 HcmV?d00001 diff --git a/Planetsino/Images/coin1.jpg b/Planetsino/Images/coin1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e44dcb5af672dc2b4c57e172b4af1eea02e4ee48 GIT binary patch literal 13359 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 literal 0 HcmV?d00001 diff --git a/Planetsino/Images/gambling-2001033_640.jpg b/Planetsino/Images/gambling-2001033_640.jpg new file mode 100644 index 0000000000000000000000000000000000000000..222738a965437901ec970e9145a3d8db0557048d GIT binary patch literal 72976 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 MRyB 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 QFYu4|MK-&c=5Bxg*$yp%OaK4? literal 0 HcmV?d00001 diff --git a/Planetsino/Models/DbClientInfo.cs b/Planetsino/Models/DbClientInfo.cs new file mode 100644 index 0000000..8e4fd01 --- /dev/null +++ b/Planetsino/Models/DbClientInfo.cs @@ -0,0 +1,15 @@ +using Microsoft.Azure.Documents.Client; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Planetsino.Models +{ + public class DbClientInfo + { + public string Name; + public bool IsPrimaryClient; + public DocumentClient DocumentClient; + } +} \ No newline at end of file diff --git a/Planetsino/Models/DbHelper.cs b/Planetsino/Models/DbHelper.cs new file mode 100644 index 0000000..04aab63 --- /dev/null +++ b/Planetsino/Models/DbHelper.cs @@ -0,0 +1,301 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using Microsoft.Azure.Documents.Client; +using Microsoft.Azure.Documents; +using System.Threading.Tasks; +using System.Configuration; +using Microsoft.Azure.Documents.Linq; + +namespace Planetsino.Models +{ + public static class DbHelper + { + public static readonly string DatabaseId; + public static readonly int InitialThroughput; + public static readonly int MaxConnectionLimit; + public static ConsistencyLevel ConsistencyLevel; + + public static readonly string ServerName; + public static readonly string ServerSuffix; + public static readonly DbClientInfo[] Clients; + public static readonly DbClientInfo PrimaryClient; + private static readonly string[] PreferredLocations; + public static double RequestCharge; + + private static readonly char[] delimiter = new char[] { ',' }; + + static DbHelper() + { + // Init basic settings + DatabaseId = ConfigurationManager.AppSettings["DatabaseId"]; + InitialThroughput = int.Parse(ConfigurationManager.AppSettings["InitialThroughput"]); + MaxConnectionLimit = int.Parse(ConfigurationManager.AppSettings["MaxConnectionLimit"]); + ConsistencyLevel = (ConsistencyLevel)Enum.Parse(typeof(ConsistencyLevel), ConfigurationManager.AppSettings["ConsistencyLevel"]); + + var endpointUrls = ConfigurationManager.AppSettings["EndpointURLs"].Split(delimiter, StringSplitOptions.RemoveEmptyEntries); + var authKeys = ConfigurationManager.AppSettings["AuthKeys"].Split(delimiter, StringSplitOptions.RemoveEmptyEntries); + + if (endpointUrls.Length != authKeys.Length || endpointUrls.Length == 0) + { + throw new Exception("Invalid configuration of EndpointURLs and AuthKeys"); + } + + // Server specific settings + ServerName = Environment.GetEnvironmentVariable("APPSETTING_WEBSITE_SITE_NAME") ?? "local"; // The name of the app service + ServerSuffix = ServerName.Contains("-") ? $"-{ServerName.Split('-')[1]}" : ""; // Will be -eastus, -westeu or similar + + PreferredLocations = (ConfigurationManager.AppSettings["PreferredLocations" + ServerSuffix] ?? "").Split(delimiter, StringSplitOptions.RemoveEmptyEntries); + + // Create connection poliy (same for all endpoints/clients) + var connectionPolicy = new ConnectionPolicy + { + ConnectionMode = (ConnectionMode)Enum.Parse(typeof(ConnectionMode), ConfigurationManager.AppSettings["ConnectionMode"]), + ConnectionProtocol = (Protocol)Enum.Parse(typeof(Protocol), ConfigurationManager.AppSettings["ConnectionProtocol"]), + EnableEndpointDiscovery = true, + MaxConnectionLimit = MaxConnectionLimit + }; + + foreach (var location in PreferredLocations) + connectionPolicy.PreferredLocations.Add(location); + + // Create clients + Clients = new DbClientInfo[endpointUrls.Length]; + for (var i = 0; i < Clients.Length; i++) + { + var client = new DbClientInfo(); + client.Name = new Uri(endpointUrls[i]).Host.Split('.').First(); + client.DocumentClient = new DocumentClient(new Uri(endpointUrls[i]), authKeys[i], connectionPolicy, ConsistencyLevel); + client.DocumentClient.OpenAsync(); // Preload routing tables + client.IsPrimaryClient = ServerSuffix.Length != 0 && endpointUrls[i].Contains(ServerSuffix); + Clients[i] = client; + } + + // Detect primary client + if (Clients.Where(c => c.IsPrimaryClient).Count() >= 1) + PrimaryClient = Clients.Where(c => c.IsPrimaryClient).First(); + else + PrimaryClient = Clients.First(); + + ResetRequestCharge(); + } + + public static async Task CreateDatabases() + { + // Create databases if not existing already + foreach (var client in Clients) + await CreateDatabase(client.DocumentClient); + } + + public static async Task CreateDatabase(DocumentClient client) + { + await client.CreateDatabaseIfNotExistsAsync(new Database { Id = DatabaseId }); + } + + public static async Task CreateCollections(string collectionId, string partitionKey) + { + // Create collections if not existing already + foreach (var client in Clients) + await CreateCollection(client.DocumentClient, collectionId, partitionKey); + } + + public static async Task CreateCollection(DocumentClient client, string collectionId, string partitionKey) + { + var myCollection = new DocumentCollection(); + myCollection.Id = collectionId; + myCollection.PartitionKey.Paths.Add(partitionKey); + + await client.CreateDocumentCollectionIfNotExistsAsync( + UriFactory.CreateDatabaseUri(DatabaseId), + myCollection, + new RequestOptions { OfferThroughput = InitialThroughput }); + } + + public static async Task DeleteCollections(string collectionId) + { + foreach (var client in Clients) + await DeleteCollection(client.DocumentClient, collectionId); + } + + public static async Task DeleteCollection(DocumentClient client, string collectionId) + { + var uri = UriFactory.CreateDocumentCollectionUri(DatabaseId, collectionId); + + await client.DeleteDocumentCollectionAsync(uri); + } + + public static async Task DeleteDatabases() + { + foreach (var client in Clients) + await DeleteDatabase(client.DocumentClient); + } + + public static async Task DeleteDatabase(DocumentClient client) + { + var uri = UriFactory.CreateDatabaseUri(DatabaseId); + + await client.DeleteDatabaseAsync(uri); + } + + public static async Task Create(IDocument document, string collectionId) + { + var uri = UriFactory.CreateDocumentCollectionUri(DatabaseId, collectionId); + if (document.ClientName == null) + document.ClientName = PrimaryClient.Name; + var response = await GetDocumentClientByName(document.ClientName).CreateDocumentAsync(uri, document); + RequestCharge += response.RequestCharge; + } + + public static async Task Upsert(IDocument document, string collectionId) + { + var uri = UriFactory.CreateDocumentCollectionUri(DatabaseId, collectionId); + if (document.ClientName == null) + document.ClientName = PrimaryClient.Name; + var response = await GetDocumentClientByName(document.ClientName).UpsertDocumentAsync(uri, document); + RequestCharge += response.RequestCharge; + } + + public static async Task Replace(IDocument document, string key, string collectionId) + { + var uri = UriFactory.CreateDocumentUri(DatabaseId, collectionId, key); + if (document.ClientName == null) + document.ClientName = PrimaryClient.Name; + var response = await GetDocumentClientByName(document.ClientName).ReplaceDocumentAsync(uri, document); + RequestCharge += response.RequestCharge; + } + + public static async Task> Get(string clientName, string key, object partitionKey, string collectionId) where T : IDocument + { + var uri = UriFactory.CreateDocumentUri(DatabaseId, collectionId, key); + + var response = await GetDocumentClientByName(clientName).ReadDocumentAsync(uri, new RequestOptions { PartitionKey = new PartitionKey(partitionKey) }); + response.Document.ClientName = clientName; + RequestCharge += response.RequestCharge; + + return response; + } + + public static async Task> Get(string key, object partitionKey, string collectionId) where T : IDocument + { + var uri = UriFactory.CreateDocumentUri(DatabaseId, collectionId, key); + + var tasks = Clients.Select(c => Task.Run( async () => + { + try + { + var result = await c.DocumentClient.ReadDocumentAsync(uri, new RequestOptions { PartitionKey = new PartitionKey(partitionKey) }); + result.Document.ClientName = c.Name; + return result; + } + catch + { + return null; + } + })).ToArray(); + + var responses = await Task.WhenAll(tasks); + var response = responses.Where(r => r != null).Single(); + + return response; + } + + public static async Task Query(string top, string filter, string collectionId) where T : IDocument + { + var tasks = Clients.Select(client => Query(client, top, filter, collectionId)).ToArray(); + + var items = await Task.WhenAll(tasks); + var results = items.SelectMany(i => i).ToArray(); + + return results; + } + + public static async Task Query(DbClientInfo client, string top, string filter, string collectionId) where T : IDocument + { + var uri = UriFactory.CreateDocumentCollectionUri(DatabaseId, collectionId); + if (!string.IsNullOrEmpty(filter)) + filter = "WHERE " + filter; + else + filter = filter ?? ""; + top = top ?? ""; + var sql = new SqlQuerySpec($"SELECT {top} * FROM {collectionId} AS c {filter}"); + + var query = client.DocumentClient.CreateDocumentQuery(uri, sql, new FeedOptions { EnableCrossPartitionQuery = true }).AsDocumentQuery(); + + var results = new List(); + while (query.HasMoreResults) + { + var items = await query.ExecuteNextAsync(); + results.AddRange(items.AsEnumerable()); + RequestCharge += items.RequestCharge; + } + + foreach (var item in results) + item.ClientName = client.Name; + + return results.ToArray(); + } + + public static async Task ExecStoredProcedure(string clientName, string procedureName, string collectionId, string partitionKey, params dynamic[] parameters) + { + var uri = UriFactory.CreateStoredProcedureUri(DatabaseId, collectionId, procedureName); + + var response = await GetDocumentClientByName(clientName).ExecuteStoredProcedureAsync(uri, new RequestOptions { PartitionKey = new PartitionKey(partitionKey) }, parameters); + RequestCharge += response.RequestCharge; + return response; + } + + public static async Task CreateStoredProcedure(string clientName, string procedureName, string collectionId, string body) + { + var uri = UriFactory.CreateDocumentCollectionUri(DatabaseId, collectionId); + var proc = new StoredProcedure { Id = procedureName, Body = body }; + + try + { + var response = await GetDocumentClientByName(clientName).ReadStoredProcedureAsync(UriFactory.CreateStoredProcedureUri(DatabaseId, collectionId, procedureName)); + RequestCharge += response.RequestCharge; + } + catch + { + var response = await GetDocumentClientByName(clientName).CreateStoredProcedureAsync(uri, proc); + RequestCharge += response.RequestCharge; + } + } + + public static void ResetRequestCharge() + { + RequestCharge = 0.0d; + } + + public static DocumentClient GetDocumentClientByName(string clientName) + { + return Clients.Where(c => c.Name == clientName).Single().DocumentClient; + } + + public static string Diagnostics() + { + var results = $"Server name: {ServerName}
"; + results += $"Server suffix: {ServerSuffix}
"; + results += $"Total RequestCharge: {RequestCharge:f2}
"; + results += $"Primary client: {PrimaryClient.Name}
"; + results += $"PreferredLocations: {string.Join(",", PreferredLocations)}
"; + + foreach (var client in Clients) + { + results += $"
Client name: {client.Name}
"; + + var documentClient = client.DocumentClient; + results += $"ServiceEndpoint: {documentClient.ServiceEndpoint}
"; + results += $"ReadEndpoint: {documentClient.ReadEndpoint}
"; + results += $"WriteEndpoint: {documentClient.WriteEndpoint}
"; + results += $"ConsistencyLevel: {documentClient.ConsistencyLevel}
"; + results += $"ConnectionMode: {documentClient.ConnectionPolicy.ConnectionMode}
"; + results += $"ConnectionProtocol: {documentClient.ConnectionPolicy.ConnectionProtocol}
"; + results += $"MaxConnectionLimit: {documentClient.ConnectionPolicy.MaxConnectionLimit}
"; + results += $"PreferredLocations: {string.Join(", ", documentClient.ConnectionPolicy.PreferredLocations)}
"; + } + + return results; + } + } +} \ No newline at end of file diff --git a/Planetsino/Models/Diagnostics.cs b/Planetsino/Models/Diagnostics.cs new file mode 100644 index 0000000..1c7f564 --- /dev/null +++ b/Planetsino/Models/Diagnostics.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Planetsino.Models +{ + public class Diagnostics + { + public string Results; + } +} \ No newline at end of file diff --git a/Planetsino/Models/IDocument.cs b/Planetsino/Models/IDocument.cs new file mode 100644 index 0000000..6aae150 --- /dev/null +++ b/Planetsino/Models/IDocument.cs @@ -0,0 +1,16 @@ +using Microsoft.Azure.Documents.Client; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace Planetsino.Models +{ + public interface IDocument + { + /// + /// Make sure to add a [JsonIgnore] in front of this member in the class implementing this interface + /// + string ClientName { get; set; } + } +} \ No newline at end of file diff --git a/Planetsino/Models/PerformanceTest.cs b/Planetsino/Models/PerformanceTest.cs new file mode 100644 index 0000000..c21145a --- /dev/null +++ b/Planetsino/Models/PerformanceTest.cs @@ -0,0 +1,169 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Threading.Tasks; +using System.Web; + +namespace Planetsino.Models +{ + public class PerformanceTest + { + public struct Results + { + public string Name; + public long ElapsedMilliseconds; + public double RUCost; + public int NumberOfOperations; + + public long OperationPerSecond => ElapsedMilliseconds != 0 ? NumberOfOperations * 1000 / ElapsedMilliseconds : 0; + public double RUsPerSecond => ElapsedMilliseconds != 0 ? RUCost * 1000 / ElapsedMilliseconds : 0; + public double RUsPerDocument => NumberOfOperations != 0 ? RUCost / NumberOfOperations : 0; + }; + + // Input parameters for the test + public int NumberOfWritesPrimary { get; set; } + public int NumberOfWritesSecondary { get; set; } + public int NumberOfQueryResultsPrimary { get; set; } + public int NumberOfQueryResultsSecondary { get; set; } + public int NumberOfRandomReadsPrimary { get; set; } + public int NumberOfRandomReadsSecondary { get; set; } + public int NumberOfUpsertsPrimary { get; set; } + public int NumberOfUpsertsSecondary { get; set; } + public int Parallelism { get; set; } + + // The clients used (could be the same if there is only one client available) + public DbClientInfo PrimaryClient; + public DbClientInfo SecondaryClient; + + // Test results + public Results WritesPrimary; + public Results WritesSecondary; + public Results QueryResultsPrimary; + public Results QueryResultsSecondary; + public Results RandomReadsPrimary; + public Results RandomReadsSecondary; + public Results UpsertsPrimary; + public Results UpsertsSecondary; + + public Results[] AllResults => new[] { WritesPrimary, WritesSecondary, QueryResultsPrimary, QueryResultsSecondary, RandomReadsPrimary, RandomReadsSecondary, UpsertsPrimary, UpsertsSecondary }; + + private int counter; + private Player[] playersPrimary; + private Player[] playersSecondary; + + public async Task RunTests() + { + if (Parallelism < 1) + Parallelism = 1; + if (NumberOfQueryResultsPrimary < 1) + NumberOfQueryResultsPrimary = 1; + if (NumberOfQueryResultsSecondary < 1) + NumberOfQueryResultsSecondary = 1; + + PrimaryClient = DbHelper.PrimaryClient; + if (DbHelper.Clients.Length == 1) + { + // If there is only one client available, use also as secondary + SecondaryClient = PrimaryClient; + } + else + { + // Make sure we don't take the primary client + SecondaryClient = DbHelper.Clients.Where(c => c != PrimaryClient).Last(); + } + + WritesPrimary = await RunCreateTest("WritesPrimary", PrimaryClient, NumberOfWritesPrimary); + WritesSecondary = await RunCreateTest("WritesSecondary", SecondaryClient, NumberOfWritesPrimary); + + QueryResultsPrimary = await RunTest("QueryResultsPrimary", async () => playersPrimary = await DbHelper.Query(PrimaryClient, $"TOP {NumberOfQueryResultsPrimary}", null, Player.CollectionId), NumberOfQueryResultsPrimary); + QueryResultsSecondary = await RunTest("QueryResultsSecondary", async () => playersSecondary = await DbHelper.Query(SecondaryClient, $"TOP {NumberOfQueryResultsSecondary}", null, Player.CollectionId), NumberOfQueryResultsSecondary); + + RandomReadsPrimary = await RunRandomReadTest("RandomReadsPrimary", PrimaryClient, NumberOfRandomReadsPrimary, playersPrimary); + RandomReadsSecondary = await RunRandomReadTest("RandomReadsSecondary", SecondaryClient, NumberOfRandomReadsSecondary, playersSecondary); + + UpsertsPrimary = await RunUpsertTest("UpsertsPrimary", PrimaryClient, NumberOfUpsertsPrimary, playersPrimary); + UpsertsSecondary = await RunUpsertTest("UpsertsSecondary", SecondaryClient, NumberOfUpsertsSecondary, playersSecondary); + } + + private async Task RunTest(string testName, Func func, int count) + { + var stopWatch = Stopwatch.StartNew(); + var prevRequestCharge = DbHelper.RequestCharge; + await func(); + var results = new Results { ElapsedMilliseconds = stopWatch.ElapsedMilliseconds, RUCost = DbHelper.RequestCharge - prevRequestCharge, Name = testName, NumberOfOperations = count }; + return results; + } + + private async Task RunCreateTest(string testName, DbClientInfo client, int count) + { + var stopWatch = Stopwatch.StartNew(); + var prevRequestCharge = DbHelper.RequestCharge; + counter = 0; + var tasks = Enumerable.Range(0, Parallelism).Select(i => Task.Run(Create)).ToArray(); + await Task.WhenAll(tasks); + var results = new Results { ElapsedMilliseconds = stopWatch.ElapsedMilliseconds, RUCost = DbHelper.RequestCharge - prevRequestCharge, Name = testName, NumberOfOperations = count }; + return results; + + async Task Create() + { + while (true) + { + var i = System.Threading.Interlocked.Increment(ref counter); + if (i > count) + return; + var player = Player.New(); + player.ClientName = client.Name; + await DbHelper.Create(player, Player.CollectionId); + } + } + } + + private async Task RunRandomReadTest(string testName, DbClientInfo client, int count, Player[] players) + { + var stopWatch = Stopwatch.StartNew(); + var prevRequestCharge = DbHelper.RequestCharge; + counter = 0; + var tasks = Enumerable.Range(0, Parallelism).Select(i => Task.Run(Read)).ToArray(); + await Task.WhenAll(tasks); + var results = new Results { ElapsedMilliseconds = stopWatch.ElapsedMilliseconds, RUCost = DbHelper.RequestCharge - prevRequestCharge, Name = testName, NumberOfOperations = count }; + return results; + + async Task Read() + { + while (true) + { + var i = System.Threading.Interlocked.Increment(ref counter); + if (i > count) + return; + var j = new Random(i).Next(players.Length); + var player = await Player.Load(players[j].PlayerGuid, players[j].ClientName); + } + } + } + + private async Task RunUpsertTest(string testName, DbClientInfo client, int count, Player[] players) + { + var stopWatch = Stopwatch.StartNew(); + var prevRequestCharge = DbHelper.RequestCharge; + counter = 0; + var tasks = Enumerable.Range(0, Parallelism).Select(i => Task.Run(Upsert)).ToArray(); + await Task.WhenAll(tasks); + var results = new Results { ElapsedMilliseconds = stopWatch.ElapsedMilliseconds, RUCost = DbHelper.RequestCharge - prevRequestCharge, Name = testName, NumberOfOperations = count }; + return results; + + async Task Upsert() + { + while (true) + { + var i = System.Threading.Interlocked.Increment(ref counter); + if (i > count) + return; + var j = new Random(i).Next(players.Length); + players[j].Balance += 5; + await players[j].Upsert(); + } + } + } + } +} \ No newline at end of file diff --git a/Planetsino/Models/Player.cs b/Planetsino/Models/Player.cs new file mode 100644 index 0000000..e53d254 --- /dev/null +++ b/Planetsino/Models/Player.cs @@ -0,0 +1,103 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using Microsoft.Azure.Documents; +using Microsoft.Azure.Documents.Client; +using System.Threading.Tasks; + +namespace Planetsino.Models +{ + public class Player : IDocument + { + public const string CollectionId = "players"; + public const string PartitionKey = "/partitionId"; + public const int InitialBalance = 200; + + [JsonProperty("id")] + public Guid PlayerGuid; + + [JsonProperty("partitionId")] + public string PartitionId + { + get + { + return GetPartitionId(PlayerGuid); + } + } + + [JsonProperty("balance")] + public int Balance; + + [JsonProperty("playerScore")] + public int PlayerScore; + + [JsonProperty("computerScore")] + public int ComputerScore; + + [JsonProperty("pot")] + public int Pot; + + [JsonProperty("lastUpdate")] + [JsonConverter(typeof(IsoDateTimeConverter))] + public DateTime LastUpdate; + + [JsonIgnore] + public string ClientName { get; set; } + + public static Player New() + { + return new Player { PlayerGuid = Guid.NewGuid(), Balance = InitialBalance, PlayerScore = 0, ComputerScore = 0, LastUpdate = DateTime.UtcNow }; + } + + public async Task Create() + { + await DbHelper.Create(this, CollectionId); + } + + public async Task Upsert() + { + await DbHelper.Upsert(this, CollectionId); + } + + public async Task Replace() + { + await DbHelper.Replace(this, PlayerGuid.ToString(), CollectionId); + } + + public static async Task Load(Guid playerGuid, string clientName) + { + var docResponse = await DbHelper.Get(clientName, playerGuid.ToString(), GetPartitionId(playerGuid), CollectionId); + return docResponse.Document; + } + + public static async Task Load(Guid playerGuid) + { + var docResponse = await DbHelper.Get(playerGuid.ToString(), GetPartitionId(playerGuid), CollectionId); + return docResponse.Document; + } + + public static async Task AdjustBalance(Guid playerGuid, string clientName, int amount) + { + var str = await DbHelper.ExecStoredProcedure(clientName, "adjustBalance", CollectionId, GetPartitionId(playerGuid), playerGuid, amount); + var player = JsonConvert.DeserializeObject(str); + player.ClientName = clientName; // Must copy this because it is not deserialized + return player; + } + + public static async Task SearchByBalance(int minBalance) + { + var filter = $"c.balance >= {minBalance}"; + var players = await DbHelper.Query(null, filter, Player.CollectionId); + + return players; + } + + public static string GetPartitionId(Guid playerGuid) + { + return playerGuid.ToString(); + } + } +} \ No newline at end of file diff --git a/Planetsino/Planetsino.csproj b/Planetsino/Planetsino.csproj new file mode 100644 index 0000000..fa6dd51 --- /dev/null +++ b/Planetsino/Planetsino.csproj @@ -0,0 +1,276 @@ + + + + + + + Debug + AnyCPU + + + 2.0 + {A249C844-F2DE-403E-BE1D-44BF6CDFB8EA} + {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + Planetsino + Planetsino + v4.6.1 + false + true + + + + + + + + + + + true + full + false + bin\ + DEBUG;TRACE + prompt + 4 + + + true + pdbonly + true + bin\ + TRACE + prompt + 4 + + + + ..\packages\Microsoft.Azure.DocumentDB.1.19.1\lib\net45\Microsoft.Azure.Documents.Client.dll + + + ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.7\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll + + + + ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll + True + + + + + + + + + + + + + + + + + + + + + True + ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll + + + + + + + True + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll + + + True + ..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll + + + ..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll + + + True + ..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll + + + True + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll + + + True + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll + + + True + ..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll + + + True + ..\packages\WebGrease.1.5.2\lib\WebGrease.dll + + + True + ..\packages\Antlr.3.4.1.9004\lib\Antlr3.Runtime.dll + + + + + ..\packages\Microsoft.ApplicationInsights.2.2.0\lib\net45\Microsoft.ApplicationInsights.dll + + + ..\packages\Microsoft.ApplicationInsights.Agent.Intercept.2.0.6\lib\net45\Microsoft.AI.Agent.Intercept.dll + + + ..\packages\Microsoft.ApplicationInsights.DependencyCollector.2.2.0\lib\net45\Microsoft.AI.DependencyCollector.dll + + + ..\packages\Microsoft.ApplicationInsights.PerfCounterCollector.2.2.0\lib\net45\Microsoft.AI.PerfCounterCollector.dll + + + ..\packages\Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.2.0\lib\net45\Microsoft.AI.ServerTelemetryChannel.dll + + + ..\packages\Microsoft.ApplicationInsights.WindowsServer.2.2.0\lib\net45\Microsoft.AI.WindowsServer.dll + + + ..\packages\Microsoft.ApplicationInsights.Web.2.2.0\lib\net45\Microsoft.AI.Web.dll + + + + + + + + + Global.asax + + + + + + + + + + + + + + + + + + + + + + + + + + + + PreserveNewest + + + + + + + + + + + + + + + + + + Designer + + + Web.config + + + Web.config + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + + + + + + + + True + True + 6022 + / + http://localhost:6022/ + False + False + + + False + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + \ No newline at end of file diff --git a/Planetsino/Procedures/AdjustBalance.js b/Planetsino/Procedures/AdjustBalance.js new file mode 100644 index 0000000..7ccfb31 --- /dev/null +++ b/Planetsino/Procedures/AdjustBalance.js @@ -0,0 +1,27 @@ +function adjustBalance(id, amount) { + var collection = getContext().getCollection(); + var response = getContext().getResponse(); + + var query = "SELECT * FROM c WHERE c.id = '" + id + "'"; + + // Query documents and take 1st item. + var isAccepted = collection.queryDocuments( + collection.getSelfLink(), + query, + function (err, feed, options) { + if (err) throw err; + + // Check the feed and if empty, set the body to 'no docs found',  + // else take 1st element from feed + if (!feed || feed.length == 0) { + response.setBody("Document '" + id + "' not found. Amount = " + amount.toString()); + } + else { + feed[0].balance += amount; + collection.replaceDocument(feed[0]._self, feed[0]); + response.setBody(JSON.stringify(feed[0])); + } + }); + + if (!isAccepted) throw new Error('The query was not accepted by the server.'); +} diff --git a/Planetsino/Properties/AssemblyInfo.cs b/Planetsino/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..88790d6 --- /dev/null +++ b/Planetsino/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Planetsino")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Planetsino")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("6be0aab3-f21a-496c-bafe-81458658f07a")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Planetsino/Properties/PublishProfiles/planetsino-eastus - FTP.pubxml b/Planetsino/Properties/PublishProfiles/planetsino-eastus - FTP.pubxml new file mode 100644 index 0000000..b401c3b --- /dev/null +++ b/Planetsino/Properties/PublishProfiles/planetsino-eastus - FTP.pubxml @@ -0,0 +1,22 @@ + + + + + FTP + AzureWebSite + Release + Any CPU + http://planetsino-eastus.azurewebsites.net + True + False + ftp://waws-prod-blu-017.ftp.azurewebsites.windows.net + False + True + site/wwwroot + planetsino-eastus\$planetsino-eastus + <_SavePWD>True + + \ No newline at end of file diff --git a/Planetsino/Properties/PublishProfiles/planetsino-eastus - Web Deploy.pubxml b/Planetsino/Properties/PublishProfiles/planetsino-eastus - Web Deploy.pubxml new file mode 100644 index 0000000..fe8dae3 --- /dev/null +++ b/Planetsino/Properties/PublishProfiles/planetsino-eastus - Web Deploy.pubxml @@ -0,0 +1,25 @@ + + + + + MSDeploy + AzureWebSite + Release + Any CPU + http://planetsino-eastus.azurewebsites.net + True + False + planetsino-eastus.scm.azurewebsites.net:443 + planetsino-eastus + + True + WMSVC + True + $planetsino-eastus + <_SavePWD>True + <_DestinationType>AzureWebSite + + \ No newline at end of file diff --git a/Planetsino/Properties/PublishProfiles/planetsino-westeu - FTP.pubxml b/Planetsino/Properties/PublishProfiles/planetsino-westeu - FTP.pubxml new file mode 100644 index 0000000..5f59e6a --- /dev/null +++ b/Planetsino/Properties/PublishProfiles/planetsino-westeu - FTP.pubxml @@ -0,0 +1,22 @@ + + + + + FTP + AzureWebSite + Release + Any CPU + http://planetsino-westeu.azurewebsites.net + True + False + ftp://waws-prod-am2-029.ftp.azurewebsites.windows.net + False + True + site/wwwroot + planetsino-westeu\$planetsino-westeu + <_SavePWD>True + + \ No newline at end of file diff --git a/Planetsino/Properties/PublishProfiles/planetsino-westeu - Web Deploy.pubxml b/Planetsino/Properties/PublishProfiles/planetsino-westeu - Web Deploy.pubxml new file mode 100644 index 0000000..5da52dd --- /dev/null +++ b/Planetsino/Properties/PublishProfiles/planetsino-westeu - Web Deploy.pubxml @@ -0,0 +1,25 @@ + + + + + MSDeploy + AzureWebSite + Debug + Any CPU + http://planetsino-westeu.azurewebsites.net + True + False + planetsino-westeu.scm.azurewebsites.net:443 + planetsino-westeu + + True + WMSVC + True + $planetsino-westeu + <_SavePWD>True + <_DestinationType>AzureWebSite + + \ No newline at end of file diff --git a/Planetsino/Scripts/bootstrap.js b/Planetsino/Scripts/bootstrap.js new file mode 100644 index 0000000..5aa9982 --- /dev/null +++ b/Planetsino/Scripts/bootstrap.js @@ -0,0 +1,2014 @@ +/* NUGET: BEGIN LICENSE TEXT + * + * Microsoft grants you the right to use these script files for the sole + * purpose of either: (i) interacting through your browser with the Microsoft + * website or online service, subject to the applicable licensing or use + * terms; or (ii) using the files as included with a Microsoft product subject + * to that product's license terms. Microsoft reserves all other rights to the + * files not expressly granted by Microsoft, whether by implication, estoppel + * or otherwise. Insofar as a script file is dual licensed under GPL, + * Microsoft neither took the code under GPL nor distributes it thereunder but + * under the terms set out in this paragraph. All notices and licenses + * below are for informational purposes only. + * + * NUGET: END LICENSE TEXT */ + +/** +* bootstrap.js v3.0.0 by @fat and @mdo +* Copyright 2013 Twitter Inc. +* http://www.apache.org/licenses/LICENSE-2.0 +*/ +if (!jQuery) { throw new Error("Bootstrap requires jQuery") } + +/* ======================================================================== + * Bootstrap: transition.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#transitions + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) + // ============================================================ + + function transitionEnd() { + var el = document.createElement('bootstrap') + + var transEndEventNames = { + 'WebkitTransition' : 'webkitTransitionEnd' + , 'MozTransition' : 'transitionend' + , 'OTransition' : 'oTransitionEnd otransitionend' + , 'transition' : 'transitionend' + } + + for (var name in transEndEventNames) { + if (el.style[name] !== undefined) { + return { end: transEndEventNames[name] } + } + } + } + + // http://blog.alexmaccaw.com/css-transitions + $.fn.emulateTransitionEnd = function (duration) { + var called = false, $el = this + $(this).one($.support.transition.end, function () { called = true }) + var callback = function () { if (!called) $($el).trigger($.support.transition.end) } + setTimeout(callback, duration) + return this + } + + $(function () { + $.support.transition = transitionEnd() + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: alert.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#alerts + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // ALERT CLASS DEFINITION + // ====================== + + var dismiss = '[data-dismiss="alert"]' + var Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = $(selector) + + if (e) e.preventDefault() + + if (!$parent.length) { + $parent = $this.hasClass('alert') ? $this : $this.parent() + } + + $parent.trigger(e = $.Event('close.bs.alert')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent.trigger('closed.bs.alert').remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent + .one($.support.transition.end, removeElement) + .emulateTransitionEnd(150) : + removeElement() + } + + + // ALERT PLUGIN DEFINITION + // ======================= + + var old = $.fn.alert + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.alert') + + if (!data) $this.data('bs.alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + // ALERT NO CONFLICT + // ================= + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + // ALERT DATA-API + // ============== + + $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: button.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#buttons + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // BUTTON PUBLIC CLASS DEFINITION + // ============================== + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + } + + Button.DEFAULTS = { + loadingText: 'loading...' + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + var $el = this.$element + var val = $el.is('input') ? 'val' : 'html' + var data = $el.data() + + state = state + 'Text' + + if (!data.resetText) $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d); + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.closest('[data-toggle="buttons"]') + + if ($parent.length) { + var $input = this.$element.find('input') + .prop('checked', !this.$element.hasClass('active')) + .trigger('change') + if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active') + } + + this.$element.toggleClass('active') + } + + + // BUTTON PLUGIN DEFINITION + // ======================== + + var old = $.fn.button + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.button') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.button', (data = new Button(this, options))) + + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.Constructor = Button + + + // BUTTON NO CONFLICT + // ================== + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + // BUTTON DATA-API + // =============== + + $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + e.preventDefault() + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: carousel.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#carousel + * ======================================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // CAROUSEL CLASS DEFINITION + // ========================= + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.paused = + this.sliding = + this.interval = + this.$active = + this.$items = null + + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.DEFAULTS = { + interval: 5000 + , pause: 'hover' + , wrap: true + } + + Carousel.prototype.cycle = function (e) { + e || (this.paused = false) + + this.interval && clearInterval(this.interval) + + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + + return this + } + + Carousel.prototype.getActiveIndex = function () { + this.$active = this.$element.find('.item.active') + this.$items = this.$active.parent().children() + + return this.$items.index(this.$active) + } + + Carousel.prototype.to = function (pos) { + var that = this + var activeIndex = this.getActiveIndex() + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) return this.$element.one('slid', function () { that.to(pos) }) + if (activeIndex == pos) return this.pause().cycle() + + return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) + } + + Carousel.prototype.pause = function (e) { + e || (this.paused = true) + + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + + this.interval = clearInterval(this.interval) + + return this + } + + Carousel.prototype.next = function () { + if (this.sliding) return + return this.slide('next') + } + + Carousel.prototype.prev = function () { + if (this.sliding) return + return this.slide('prev') + } + + Carousel.prototype.slide = function (type, next) { + var $active = this.$element.find('.item.active') + var $next = next || $active[type]() + var isCycling = this.interval + var direction = type == 'next' ? 'left' : 'right' + var fallback = type == 'next' ? 'first' : 'last' + var that = this + + if (!$next.length) { + if (!this.options.wrap) return + $next = this.$element.find('.item')[fallback]() + } + + this.sliding = true + + isCycling && this.pause() + + var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction }) + + if ($next.hasClass('active')) return + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + this.$element.one('slid', function () { + var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) + $nextIndicator && $nextIndicator.addClass('active') + }) + } + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + $active + .one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + .emulateTransitionEnd(600) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + + // CAROUSEL PLUGIN DEFINITION + // ========================== + + var old = $.fn.carousel + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.carousel') + var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) + var action = typeof option == 'string' ? option : options.slide + + if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + $.fn.carousel.Constructor = Carousel + + + // CAROUSEL NO CONFLICT + // ==================== + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + + // CAROUSEL DATA-API + // ================= + + $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { + var $this = $(this), href + var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + var options = $.extend({}, $target.data(), $this.data()) + var slideIndex = $this.attr('data-slide-to') + if (slideIndex) options.interval = false + + $target.carousel(options) + + if (slideIndex = $this.attr('data-slide-to')) { + $target.data('bs.carousel').to(slideIndex) + } + + e.preventDefault() + }) + + $(window).on('load', function () { + $('[data-ride="carousel"]').each(function () { + var $carousel = $(this) + $carousel.carousel($carousel.data()) + }) + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: collapse.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#collapse + * ======================================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // COLLAPSE PUBLIC CLASS DEFINITION + // ================================ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Collapse.DEFAULTS, options) + this.transitioning = null + + if (this.options.parent) this.$parent = $(this.options.parent) + if (this.options.toggle) this.toggle() + } + + Collapse.DEFAULTS = { + toggle: true + } + + Collapse.prototype.dimension = function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + Collapse.prototype.show = function () { + if (this.transitioning || this.$element.hasClass('in')) return + + var startEvent = $.Event('show.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var actives = this.$parent && this.$parent.find('> .panel > .in') + + if (actives && actives.length) { + var hasData = actives.data('bs.collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('bs.collapse', null) + } + + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + .addClass('collapsing') + [dimension](0) + + this.transitioning = 1 + + var complete = function () { + this.$element + .removeClass('collapsing') + .addClass('in') + [dimension]('auto') + this.transitioning = 0 + this.$element.trigger('shown.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + var scrollSize = $.camelCase(['scroll', dimension].join('-')) + + this.$element + .one($.support.transition.end, $.proxy(complete, this)) + .emulateTransitionEnd(350) + [dimension](this.$element[0][scrollSize]) + } + + Collapse.prototype.hide = function () { + if (this.transitioning || !this.$element.hasClass('in')) return + + var startEvent = $.Event('hide.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var dimension = this.dimension() + + this.$element + [dimension](this.$element[dimension]()) + [0].offsetHeight + + this.$element + .addClass('collapsing') + .removeClass('collapse') + .removeClass('in') + + this.transitioning = 1 + + var complete = function () { + this.transitioning = 0 + this.$element + .trigger('hidden.bs.collapse') + .removeClass('collapsing') + .addClass('collapse') + } + + if (!$.support.transition) return complete.call(this) + + this.$element + [dimension](0) + .one($.support.transition.end, $.proxy(complete, this)) + .emulateTransitionEnd(350) + } + + Collapse.prototype.toggle = function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + + // COLLAPSE PLUGIN DEFINITION + // ========================== + + var old = $.fn.collapse + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.collapse') + var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.Constructor = Collapse + + + // COLLAPSE NO CONFLICT + // ==================== + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + // COLLAPSE DATA-API + // ================= + + $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + var target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + var $target = $(target) + var data = $target.data('bs.collapse') + var option = data ? 'toggle' : $this.data() + var parent = $this.attr('data-parent') + var $parent = parent && $(parent) + + if (!data || !data.transitioning) { + if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed') + $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + } + + $target.collapse(option) + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: dropdown.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#dropdowns + * ======================================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // DROPDOWN CLASS DEFINITION + // ========================= + + var backdrop = '.dropdown-backdrop' + var toggle = '[data-toggle=dropdown]' + var Dropdown = function (element) { + var $el = $(element).on('click.bs.dropdown', this.toggle) + } + + Dropdown.prototype.toggle = function (e) { + var $this = $(this) + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { + // if mobile we we use a backdrop because click events don't delegate + $('