From f3818c3be709f5a9b3878c0be1ad3d359c39e482 Mon Sep 17 00:00:00 2001 From: Milad Karbasizadeh Date: Thu, 27 Mar 2014 18:02:16 +0430 Subject: [PATCH 1/2] Login UI finished + Signup page tailored and strongified. --- .../Helpers/SevominUserValidator.cs | 35 + Sevomin.Models/LoginViewModel.cs | 9 +- Sevomin.Models/Sevomin.Models.csproj | 5 + Sevomin.Models/SignupViewModel.cs | 17 +- .../AccountController.cs | 36 +- .../HomeController.cs | 5 +- Sevomin.WebFrontend/App_Start/Startup.cs | 43 + Sevomin.WebFrontend/Content/common.css | 36 + Sevomin.WebFrontend/Content/forms.css | 18 + Sevomin.WebFrontend/Scripts/sevomin-ui.js | 4 + .../Sevomin.WebFrontend.csproj | 50 +- .../Views/Account/Login.cshtml | 49 + Sevomin.WebFrontend/Views/Home/Index.cshtml | 18 - Sevomin.WebFrontend/Views/Shared/Intro.cshtml | 25 + .../IntroSignup.cshtml} | 35 +- .../Views/Shared/_Layout.cshtml | 13 +- Sevomin.WebFrontend/Web.config | 10 +- Sevomin.WebFrontend/fonts/BKoodakBold.eot | Bin 0 -> 56832 bytes Sevomin.WebFrontend/fonts/BKoodakBold.ttf | Bin 0 -> 56632 bytes Sevomin.WebFrontend/fonts/BKoodakBold.woff | Bin 0 -> 24152 bytes Sevomin.WebFrontend/fonts/BYekan.eot | Bin 0 -> 48476 bytes Sevomin.WebFrontend/fonts/BYekan.ttf | Bin 0 -> 48284 bytes Sevomin.WebFrontend/fonts/BYekan.woff | Bin 0 -> 25808 bytes Sevomin.WebFrontend/packages.config | 8 + ...Microsoft.AspNet.Identity.Owin.2.0.0.nupkg | Bin 0 -> 24008 bytes ...icrosoft.AspNet.Identity.Owin.2.0.0.nuspec | 24 + .../net45/Microsoft.AspNet.Identity.Owin.dll | Bin 0 -> 37024 bytes .../net45/Microsoft.AspNet.Identity.Owin.xml | 397 +++++ .../Microsoft.Owin.Security.2.1.0.nupkg | Bin 0 -> 31393 bytes .../Microsoft.Owin.Security.2.1.0.nuspec | 22 + .../lib/net45/Microsoft.Owin.Security.XML | 452 +++++ .../lib/net45/Microsoft.Owin.Security.dll | Bin 0 -> 49840 bytes ...icrosoft.Owin.Security.Cookies.2.1.0.nupkg | Bin 0 -> 22060 bytes ...crosoft.Owin.Security.Cookies.2.1.0.nuspec | 23 + .../net45/Microsoft.Owin.Security.Cookies.dll | Bin 0 -> 29872 bytes .../net45/Microsoft.Owin.Security.Cookies.xml | 356 ++++ .../Microsoft.Owin.Security.OAuth.2.1.0.nupkg | Bin 0 -> 41654 bytes ...Microsoft.Owin.Security.OAuth.2.1.0.nuspec | 21 + .../net45/Microsoft.Owin.Security.OAuth.XML | 1463 +++++++++++++++++ .../net45/Microsoft.Owin.Security.OAuth.dll | Bin 0 -> 71856 bytes 40 files changed, 3125 insertions(+), 49 deletions(-) create mode 100644 Sevomin.Models/Helpers/SevominUserValidator.cs create mode 100644 Sevomin.WebFrontend/App_Start/Startup.cs create mode 100644 Sevomin.WebFrontend/Content/common.css create mode 100644 Sevomin.WebFrontend/Content/forms.css create mode 100644 Sevomin.WebFrontend/Scripts/sevomin-ui.js create mode 100644 Sevomin.WebFrontend/Views/Account/Login.cshtml delete mode 100644 Sevomin.WebFrontend/Views/Home/Index.cshtml create mode 100644 Sevomin.WebFrontend/Views/Shared/Intro.cshtml rename Sevomin.WebFrontend/Views/{Home/Signup.cshtml => Shared/IntroSignup.cshtml} (56%) create mode 100644 Sevomin.WebFrontend/fonts/BKoodakBold.eot create mode 100644 Sevomin.WebFrontend/fonts/BKoodakBold.ttf create mode 100644 Sevomin.WebFrontend/fonts/BKoodakBold.woff create mode 100644 Sevomin.WebFrontend/fonts/BYekan.eot create mode 100644 Sevomin.WebFrontend/fonts/BYekan.ttf create mode 100644 Sevomin.WebFrontend/fonts/BYekan.woff create mode 100644 packages/Microsoft.AspNet.Identity.Owin.2.0.0/Microsoft.AspNet.Identity.Owin.2.0.0.nupkg create mode 100644 packages/Microsoft.AspNet.Identity.Owin.2.0.0/Microsoft.AspNet.Identity.Owin.2.0.0.nuspec create mode 100644 packages/Microsoft.AspNet.Identity.Owin.2.0.0/lib/net45/Microsoft.AspNet.Identity.Owin.dll create mode 100644 packages/Microsoft.AspNet.Identity.Owin.2.0.0/lib/net45/Microsoft.AspNet.Identity.Owin.xml create mode 100644 packages/Microsoft.Owin.Security.2.1.0/Microsoft.Owin.Security.2.1.0.nupkg create mode 100644 packages/Microsoft.Owin.Security.2.1.0/Microsoft.Owin.Security.2.1.0.nuspec create mode 100644 packages/Microsoft.Owin.Security.2.1.0/lib/net45/Microsoft.Owin.Security.XML create mode 100644 packages/Microsoft.Owin.Security.2.1.0/lib/net45/Microsoft.Owin.Security.dll create mode 100644 packages/Microsoft.Owin.Security.Cookies.2.1.0/Microsoft.Owin.Security.Cookies.2.1.0.nupkg create mode 100644 packages/Microsoft.Owin.Security.Cookies.2.1.0/Microsoft.Owin.Security.Cookies.2.1.0.nuspec create mode 100644 packages/Microsoft.Owin.Security.Cookies.2.1.0/lib/net45/Microsoft.Owin.Security.Cookies.dll create mode 100644 packages/Microsoft.Owin.Security.Cookies.2.1.0/lib/net45/Microsoft.Owin.Security.Cookies.xml create mode 100644 packages/Microsoft.Owin.Security.OAuth.2.1.0/Microsoft.Owin.Security.OAuth.2.1.0.nupkg create mode 100644 packages/Microsoft.Owin.Security.OAuth.2.1.0/Microsoft.Owin.Security.OAuth.2.1.0.nuspec create mode 100644 packages/Microsoft.Owin.Security.OAuth.2.1.0/lib/net45/Microsoft.Owin.Security.OAuth.XML create mode 100644 packages/Microsoft.Owin.Security.OAuth.2.1.0/lib/net45/Microsoft.Owin.Security.OAuth.dll diff --git a/Sevomin.Models/Helpers/SevominUserValidator.cs b/Sevomin.Models/Helpers/SevominUserValidator.cs new file mode 100644 index 0000000..5db8b1b --- /dev/null +++ b/Sevomin.Models/Helpers/SevominUserValidator.cs @@ -0,0 +1,35 @@ +using Microsoft.AspNet.Identity; +using Microsoft.AspNet.Identity.EntityFramework; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Sevomin.Models.Helpers +{ + public class SevominUserValidator : IIdentityValidator + { + private readonly UserManager manager; + + public SevominUserValidator() + { + manager = new UserManager(new UserStore(new UsersDbContext())); + } + + public async Task ValidateAsync(User item) + { + var errors = new List(); + + if (string.IsNullOrWhiteSpace(item.UserName)) + errors.Add("نام کاربری نمی تواند خالی باشد. لطفا ایمیل خود را وارد نمایید."); + else if (await (manager.FindByNameAsync(item.UserName)) != null) + errors.Add("ایمیل وارد شده قبلا در سایت استفاده شده است. کلمه عبور خود را فراموش کرده اید؟"); + + return errors.Any() ? + IdentityResult.Failed(errors.ToArray()) + : IdentityResult.Success; + } + } + +} diff --git a/Sevomin.Models/LoginViewModel.cs b/Sevomin.Models/LoginViewModel.cs index d5ede70..ceca141 100644 --- a/Sevomin.Models/LoginViewModel.cs +++ b/Sevomin.Models/LoginViewModel.cs @@ -1,10 +1,15 @@  +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; namespace Sevomin.Models { public class LoginViewModel { + [DisplayName("نام کاربری")] + [Required(ErrorMessage = "ورود {0} الزامی است.")] public string Username { get; set; } - public string Password { get; set; } - public bool RememberMe { get; set; } + [DisplayName("کلمه عبور")] + [Required(ErrorMessage = "ورود {0} الزامی است.")] + public string Password { get; set; } } } diff --git a/Sevomin.Models/Sevomin.Models.csproj b/Sevomin.Models/Sevomin.Models.csproj index 650dd82..7a04f7e 100644 --- a/Sevomin.Models/Sevomin.Models.csproj +++ b/Sevomin.Models/Sevomin.Models.csproj @@ -49,6 +49,10 @@ + + False + ..\packages\Microsoft.AspNet.Mvc.5.0.0\lib\net45\System.Web.Mvc.dll + @@ -59,6 +63,7 @@ + diff --git a/Sevomin.Models/SignupViewModel.cs b/Sevomin.Models/SignupViewModel.cs index 1502ba5..1aa2855 100644 --- a/Sevomin.Models/SignupViewModel.cs +++ b/Sevomin.Models/SignupViewModel.cs @@ -1,11 +1,26 @@ - +using Sevomin.Models.Helpers; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations; +using System.Web.Mvc; + namespace Sevomin.Models { public class SignupViewModel { + [Required(ErrorMessage = "برای آشنایی بیشتر ما با شما لطفا نام خود را وارد کنید.")] public string DisplayName { get; set; } + + [Required(ErrorMessage = "ورود {0} الزامی است.")] + [DisplayName("ایمیل")] + [EmailValidation(ErrorMessage = "لطفا ایمیل معتبر وارد نمایید.")] + [RegularExpression(@"^([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-zA-Z0-9]{1}[a-zA-Z0-9\-]{0,62}[a-zA-Z0-9]{1})|[a-zA-Z])\.)+[a-zA-Z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)$", ErrorMessage = "لطفا ایمیل معتبر وارد کنید.")] + [Remote("CheckUsername", "Account")] public string Email { get; set; } + + [Required(ErrorMessage="ورود {0} الزامی است.")] + [DisplayName("کلمه عبور")] public string Password { get; set; } + public bool IsAvalin { get; set; } } } diff --git a/Sevomin.WebFrontend.Controllers/AccountController.cs b/Sevomin.WebFrontend.Controllers/AccountController.cs index 3d57ae3..dcd8a53 100644 --- a/Sevomin.WebFrontend.Controllers/AccountController.cs +++ b/Sevomin.WebFrontend.Controllers/AccountController.cs @@ -18,7 +18,8 @@ namespace Sevomin.WebFrontend.Controllers public AccountController(UserManager userManager) { - UserManager = userManager; + UserManager = userManager; + UserManager.UserValidator = new Sevomin.Models.Helpers.SevominUserValidator(); } public UserManager UserManager { get; private set; } @@ -32,6 +33,7 @@ namespace Sevomin.WebFrontend.Controllers } [HttpPost] + [ValidateAntiForgeryToken] public async Task Signup(SignupViewModel model) { User user; @@ -43,10 +45,10 @@ namespace Sevomin.WebFrontend.Controllers else { int spaceIndex = model.DisplayName.IndexOf(' '); - user = new Dovomin(model.Email, model.DisplayName.Substring(0, spaceIndex), model.DisplayName.Substring(spaceIndex + 1)); + user = new Dovomin(model.Email, model.DisplayName, string.Empty); user.SignUpDate = DateTime.UtcNow; } - var result = await UserManager.CreateAsync(user); + var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignInAsync(user, isPersistent: false); @@ -57,16 +59,30 @@ namespace Sevomin.WebFrontend.Controllers AddErrors(result); } - return View(model); + return View("Intro", model); } + + public async Task CheckUsername(string Email) + { + bool result = (await UserManager.FindByNameAsync(Email)) == null; + if(result) + return Json(true, JsonRequestBehavior.AllowGet); + + return Json("این ایمیل قبلا در سایت استفاده شده. کلمه عبور خود را فراموش کرده اید؟", JsonRequestBehavior.AllowGet); + } + public ActionResult Login(string returnUrl) { + if(Request.IsAuthenticated) + return RedirectToAction("Index", "Home"); + ViewBag.ReturnUrl = returnUrl; return View(); } [HttpPost] + [ValidateAntiForgeryToken] public async Task Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) @@ -74,12 +90,12 @@ namespace Sevomin.WebFrontend.Controllers var user = await UserManager.FindAsync(model.Username, model.Password); if (user != null) { - await SignInAsync(user, model.RememberMe); + await SignInAsync(user, true); return RedirectToLocal(returnUrl); } else { - ModelState.AddModelError("", "Invalid username or password."); + ModelState.AddModelError("", "نام کاربری و یا کلمه عبور وارد شده صحیح نمی باشد."); } } @@ -87,6 +103,14 @@ namespace Sevomin.WebFrontend.Controllers return View(model); } + + public ActionResult Logout() + { + AuthenticationManager.SignOut(); + return RedirectToAction("Index", "Home"); + } + + private async Task SignInAsync(User user, bool isPersistent) { AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); diff --git a/Sevomin.WebFrontend.Controllers/HomeController.cs b/Sevomin.WebFrontend.Controllers/HomeController.cs index 95537e1..1d4120b 100644 --- a/Sevomin.WebFrontend.Controllers/HomeController.cs +++ b/Sevomin.WebFrontend.Controllers/HomeController.cs @@ -6,7 +6,10 @@ namespace Sevomin.WebFrontend.Controllers { public ActionResult Index() { - return View(); + if (!Request.IsAuthenticated) + return View("Intro"); + else + return View("Intro"); } } diff --git a/Sevomin.WebFrontend/App_Start/Startup.cs b/Sevomin.WebFrontend/App_Start/Startup.cs new file mode 100644 index 0000000..306b30f --- /dev/null +++ b/Sevomin.WebFrontend/App_Start/Startup.cs @@ -0,0 +1,43 @@ +using Microsoft.AspNet.Identity; +using Microsoft.Owin; +using Microsoft.Owin.Security.Cookies; +using Owin; + +namespace Sevomin.WebFrontend +{ + public class Startup + { + public void Configuration(IAppBuilder app) + { + ConfigureAuth(app); + } + + // For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864 + public void ConfigureAuth(IAppBuilder app) + { + // Enable the application to use a cookie to store information for the signed in user + app.UseCookieAuthentication(new CookieAuthenticationOptions + { + AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, + LoginPath = new PathString("/Account/Login") + }); + // Use a cookie to temporarily store information about a user logging in with a third party login provider + app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); + + // Uncomment the following lines to enable logging in with third party login providers + //app.UseMicrosoftAccountAuthentication( + // clientId: "", + // clientSecret: ""); + + //app.UseTwitterAuthentication( + // consumerKey: "", + // consumerSecret: ""); + + //app.UseFacebookAuthentication( + // appId: "", + // appSecret: ""); + + //app.UseGoogleAuthentication(); + } + } +} \ No newline at end of file diff --git a/Sevomin.WebFrontend/Content/common.css b/Sevomin.WebFrontend/Content/common.css new file mode 100644 index 0000000..edb89ad --- /dev/null +++ b/Sevomin.WebFrontend/Content/common.css @@ -0,0 +1,36 @@ +@font-face { + font-family: 'Koodak'; + src: url('/fonts/BKoodakBold.eot?#') format('eot'), /* IE6–8 */ + url('/fonts/BKoodakBold.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/ + url('/fonts/BKoodakBold.ttf') format('truetype'); /* Saf3—5, Chrome4+, FF3.5, Opera 10+ */ +} @font-face { + font-family: 'Yekan'; + src: url('/fonts/BYekan.eot?#') format('eot'), /* IE6–8 */ + url('/fonts/BYekan.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/ + url('/fonts/BYekan.ttf') format('truetype'); /* Saf3—5, Chrome4+, FF3.5, Opera 10+ */ +} + +body{ + font-family: Yekan, "Helvetica Neue",Helvetica,Arial,sans-serif; +} + +h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6{ + font-family: Koodak, "Helvetica Neue",Helvetica,Arial,sans-serif; +} + +.rtl{ + direction: rtl; + text-align: right; +} + +.ltr{ + direction: ltr; + text-align: left; +} + +.pull-right{ + float: right; +} +.pull-left{ + float: left; +} \ No newline at end of file diff --git a/Sevomin.WebFrontend/Content/forms.css b/Sevomin.WebFrontend/Content/forms.css new file mode 100644 index 0000000..951e98a --- /dev/null +++ b/Sevomin.WebFrontend/Content/forms.css @@ -0,0 +1,18 @@ +button, label{ + font-family: Koodak; +} +label{ + font-size: 1.5em; +} + +.input-validation-error{ + border-color: #ee4646; +} +.field-validation-valid{ + display: inline-block; + min-height: 1.3em; +} +.field-validation-error{ + font-family: Koodak; + font-size: 1.2em; +} \ No newline at end of file diff --git a/Sevomin.WebFrontend/Scripts/sevomin-ui.js b/Sevomin.WebFrontend/Scripts/sevomin-ui.js new file mode 100644 index 0000000..822c91d --- /dev/null +++ b/Sevomin.WebFrontend/Scripts/sevomin-ui.js @@ -0,0 +1,4 @@ +// This file depends heavily on jquery and jquery validation. So be nice and include them on the page. +$(function () { + $('form').validate(); +}); \ No newline at end of file diff --git a/Sevomin.WebFrontend/Sevomin.WebFrontend.csproj b/Sevomin.WebFrontend/Sevomin.WebFrontend.csproj index e39d429..97d4394 100644 --- a/Sevomin.WebFrontend/Sevomin.WebFrontend.csproj +++ b/Sevomin.WebFrontend/Sevomin.WebFrontend.csproj @@ -38,7 +38,38 @@ 4 + + False + ..\packages\Microsoft.AspNet.Identity.Core.2.0.0\lib\net45\Microsoft.AspNet.Identity.Core.dll + + + False + ..\packages\Microsoft.AspNet.Identity.Owin.2.0.0\lib\net45\Microsoft.AspNet.Identity.Owin.dll + + + False + ..\packages\Microsoft.Owin.2.1.0\lib\net45\Microsoft.Owin.dll + + + False + ..\packages\Microsoft.Owin.Security.2.1.0\lib\net45\Microsoft.Owin.Security.dll + + + False + ..\packages\Microsoft.Owin.Security.Cookies.2.1.0\lib\net45\Microsoft.Owin.Security.Cookies.dll + + + False + ..\packages\Microsoft.Owin.Security.OAuth.2.1.0\lib\net45\Microsoft.Owin.Security.OAuth.dll + + + ..\packages\Newtonsoft.Json.4.5.11\lib\net40\Newtonsoft.Json.dll + + + False + ..\packages\Owin.1.0\lib\net40\Owin.dll + @@ -85,11 +116,19 @@ + + + + + + + + @@ -100,10 +139,12 @@ + + Global.asax @@ -113,10 +154,11 @@ - + - + + Web.config @@ -134,7 +176,9 @@ Sevomin.WebFrontend.Controllers - + + + 10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) diff --git a/Sevomin.WebFrontend/Views/Account/Login.cshtml b/Sevomin.WebFrontend/Views/Account/Login.cshtml new file mode 100644 index 0000000..d6de565 --- /dev/null +++ b/Sevomin.WebFrontend/Views/Account/Login.cshtml @@ -0,0 +1,49 @@ +@model Sevomin.Models.LoginViewModel + +@{ + ViewBag.Title = "ورود به سومین"; +} + +
+

ورود به سومین

+
+

+ @Html.ValidationSummary() +

+ @using (Html.BeginForm("Login", "Account", FormMethod.Post, new { role = "form" })) + { + @Html.AntiForgeryToken() +
+ +
+ @Html.LabelFor(model => model.Username, new { @class = "control-label" }) +
+ @Html.TextBoxFor(model => model.Username, new { @class = "form-control ltr" }) + @Html.ValidationMessageFor(model => model.Username) +
+
+ +
+ @Html.LabelFor(model => model.Password, new { @class = "control-label" }) +
+ @Html.PasswordFor(model => model.Password, new { @class = "form-control ltr" }) + @Html.ValidationMessageFor(model => model.Password) +
+
+ +
+
+ +
+
+
+ } +
+
+

+ لورم ایپسوم متنی است که ساختگی برای طراحی و چاپ آن مورد است. صنعت چاپ زمانی لازم بود شرایطی شما باید فکر ثبت نام و طراحی، لازمه خروج می باشد. در ضمن قاعده همفکری ها جوابگوی سئوالات زیاد شاید باشد، آنچنان که لازم بود طراحی گرافیکی خوب بود. کتابهای زیادی شرایط سخت ، دشوار و کمی در سالهای دور لازم است. هدف از این نسخه فرهنگ پس از آن و دستاوردهای خوب شاید باشد. حروفچینی لازم در شرایط فعلی لازمه تکنولوژی بود که گذشته، حال و آینده را شامل گردد. سی و پنج درصد از طراحان در قرن پانزدهم میبایست پرینتر در ستون و سطر حروف لازم است، بلکه شناخت این ابزار گاه اساسا بدون هدف بود و سئوالهای زیادی در گذشته بوجود می آید، تنها لازمه آن بود. + +لورم ایپسوم متنی است که ساختگی برای طراحی و چاپ آن مورد است. صنعت چاپ زمانی لازم بود شرایطی شما باید فکر ثبت نام و طراحی، لازمه خروج می باشد. در ضمن قاعده همفکری ها جوابگوی سئوالات زیاد شاید باشد، آنچنان که لازم بود طراحی گرافیکی خوب بود. کتابهای زیادی شرایط سخت ، دشوار و کمی در سالهای دور لازم است. هدف از این نسخه فرهنگ پس از آن و دستاوردهای خوب شاید باشد. حروفچینی لازم در شرایط فعلی لازمه تکنولوژی بود که گذشته، حال و آینده را شامل گردد. سی و پنج درصد از طراحان در قرن پانزدهم میبایست پرینتر در ستون و سطر حروف لازم است، بلکه شناخت این ابزار گاه اساسا بدون هدف بود و سئوالهای زیادی در گذشته بوجود می آید، تنها لازمه آن بود. +

+
+
\ No newline at end of file diff --git a/Sevomin.WebFrontend/Views/Home/Index.cshtml b/Sevomin.WebFrontend/Views/Home/Index.cshtml deleted file mode 100644 index 9bcbc3a..0000000 --- a/Sevomin.WebFrontend/Views/Home/Index.cshtml +++ /dev/null @@ -1,18 +0,0 @@ -@{ - Layout = null; -} - - - - - - سومین: مرکز کاریابی برنامه‌ریزی و کنترل پروژه - - - -
- @{Html.RenderPartial("Signup");} -
- - - diff --git a/Sevomin.WebFrontend/Views/Shared/Intro.cshtml b/Sevomin.WebFrontend/Views/Shared/Intro.cshtml new file mode 100644 index 0000000..90eab16 --- /dev/null +++ b/Sevomin.WebFrontend/Views/Shared/Intro.cshtml @@ -0,0 +1,25 @@ +@{ + Layout = null; +} + + + + + + سومین: مرکز کاریابی برنامه‌ریزی و کنترل پروژه + + + + + + +
+ @{Html.RenderPartial("IntroSignup");} +
+ + + + + + + diff --git a/Sevomin.WebFrontend/Views/Home/Signup.cshtml b/Sevomin.WebFrontend/Views/Shared/IntroSignup.cshtml similarity index 56% rename from Sevomin.WebFrontend/Views/Home/Signup.cshtml rename to Sevomin.WebFrontend/Views/Shared/IntroSignup.cshtml index afcda9c..38bb595 100644 --- a/Sevomin.WebFrontend/Views/Home/Signup.cshtml +++ b/Sevomin.WebFrontend/Views/Shared/IntroSignup.cshtml @@ -1,41 +1,54 @@ @model Sevomin.Models.SignupViewModel
-
+ @if (!ViewData.ModelState.IsValid) { +
+ @Html.ValidationSummary(true) +
+ } +
@using (Html.BeginForm("Signup", "Account", FormMethod.Post, new { role = "form" })) { + @Html.AntiForgeryToken()
@Html.LabelFor(m => m.Email) - @Html.TextBoxFor(m => m.Email, new { @class = "form-control" }) + @Html.TextBoxFor(m => m.Email, new { @class = "form-control ltr" }) + @Html.ValidationMessageFor(m => m.Email)
- @Html.LabelFor(m => m.DisplayName) - @Html.TextBoxFor(m => m.DisplayName, new { @class = "form-control" }) + @Html.Label("نام شرکت") + @Html.TextBoxFor(m => m.DisplayName, new { @class = "form-control" }) + @Html.ValidationMessageFor(m => m.DisplayName)
@Html.LabelFor(m => m.Password) - @Html.PasswordFor(m => m.Password, new { @class = "form-control" }) + @Html.PasswordFor(m => m.Password, new { @class = "form-control ltr" }) + @Html.ValidationMessageFor(m => m.Password)
@Html.Hidden("IsAvalin", "true") - + }
-
+
@using (Html.BeginForm("Signup", "Account", FormMethod.Post, new { role = "form" })) { + @Html.AntiForgeryToken()
@Html.LabelFor(m => m.Email) - @Html.TextBoxFor(m => m.Email, new { @class = "form-control" }) + @Html.TextBoxFor(m => m.Email, new { @class = "form-control ltr" }) + @Html.ValidationMessageFor(m => m.Email)
- @Html.LabelFor(m => m.DisplayName) + @Html.Label("نام و نام خانوادگی") @Html.TextBoxFor(m => m.DisplayName, new { @class = "form-control" }) + @Html.ValidationMessageFor(m => m.DisplayName)
@Html.LabelFor(m => m.Password) - @Html.PasswordFor(m => m.Password, new { @class = "form-control" }) + @Html.PasswordFor(m => m.Password, new { @class = "form-control ltr" }) + @Html.ValidationMessageFor(m => m.Password)
@Html.Hidden("IsAvalin", "false") - + }
diff --git a/Sevomin.WebFrontend/Views/Shared/_Layout.cshtml b/Sevomin.WebFrontend/Views/Shared/_Layout.cshtml index 583feb0..12a7c2a 100644 --- a/Sevomin.WebFrontend/Views/Shared/_Layout.cshtml +++ b/Sevomin.WebFrontend/Views/Shared/_Layout.cshtml @@ -2,12 +2,21 @@ - + سومین: مرکز کاریابی برنامه‌ریزی و کنترل پروژه - @ViewBag.Title + + + + -
+
@RenderBody()
+ + + + + diff --git a/Sevomin.WebFrontend/Web.config b/Sevomin.WebFrontend/Web.config index de43b08..06c94d0 100644 --- a/Sevomin.WebFrontend/Web.config +++ b/Sevomin.WebFrontend/Web.config @@ -8,7 +8,7 @@
- + @@ -26,7 +26,7 @@ - + @@ -46,11 +46,11 @@ - + - + diff --git a/Sevomin.WebFrontend/fonts/BKoodakBold.eot b/Sevomin.WebFrontend/fonts/BKoodakBold.eot new file mode 100644 index 0000000000000000000000000000000000000000..efc213e7a0b3ed93e9516769ad1b019155ef8de1 GIT binary patch literal 56832 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�XNwE5J6=5Mi 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 literal 0 HcmV?d00001 diff --git a/Sevomin.WebFrontend/fonts/BYekan.woff b/Sevomin.WebFrontend/fonts/BYekan.woff new file mode 100644 index 0000000000000000000000000000000000000000..bf95c5722ae0f5651acd8c89f22e1c634ffe8be9 GIT binary patch literal 25808 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 z z*12W}m=r$M5BAP}vEyz?-GXP3$>jpDe$M?swl0#FdjE^`sYQQ$xO)%x@T==l{uYQb zqje{F`^s04djcpHX@AM}L`_k&AWM6$F>|(lXGJyt#Qb6 zC3t@$m^ln!xF83`&!W=__YJCEaT;x3$t6oE@ad{(QNE_M?Sa4WivT-!=qqeYr`8V4 zmX1#ov)~>7N3vB;*C$^*QX%V3JIMa(p|vMnOso8yfJT7a-g760cNgqI(i%GNIV3XIU9(K>hFo}x3C7e zLkH`WOcV4-BIvgp3Q2u<-S+9VSSs~l;=Q`sU|02U;RM2h3t`>Ylh+o7&_j$+C4u6y zwdFHH9aX3)R*bsM>B|sj1Cz%kVKu5%K@%GafA+upwue-mM+qS}wvq9$lM&|5N9*!& zdz6-(|Mh@AxO;iBVaHW&GLht|1-m7cx3!%vtY->shcOH%@sgg8 zr5a4(fcl7-nYrpXme<84z&LE7aS9*JNIRaEHr<_(2Q`dngjF7FVxw+~n3n}ZttVaQ zB1biBq!A=~=KS##iqx;O9#97IS4%ec$mmA2n8|z`S}BAbTaPKirTwHBL-y}P-JpP* zjs1X;$iFb}3QB7iTOTH; zry)LEl2NXGy*&v(_fk{h0hGlkt-{=4`p17zHKl zN5OGJvOe)Zq0np@A9Yn22x?L9JOM-uDNEptn1xoqOQ3!@oVW-`5|8}eeDV@F-EC{q zF%3zHsVEao5wu#4m^ddiH5eHMZn?@F^b>Q-!5X2qDE$x*W^t`=R~OWPiPc{y+$^i&hwD zI)fV$Ae0Cuwsx_$BdZEfHWDkOxF6APY_=d>yatB9%A|oP1MA}wODi0H;RFunWy*%# zzXBNvrIpB+JW5@=3ogwY$D+tkqRj125E(&SJ|F>&E*me!h+b|m9$^v*nx#^F0LfW% zq#xv5{UFFOb9fe)bQ;+0;C@@@3&mg9o*DIagMD$4W*EK5-v zyn<7#OyRfm7{&c#u00Jk{E^*Sf3_7vY~#~qm`-)9&C0{N!sgc&lkZYb6qTZ~hDLpS zdqvSyl3KlkQEOMT%kBS<#gzeGX2SdLfiF}y zA@}d<6nc;UOn0rni50?ye)wD<8lGux|>0UBRE6jK;N$4v)L~`ptH7UjhJJ8C=dnTM~BhCy|LhPhfL#ERQNOnrPXnI>kDr83hlc%;=yfb)kJ>4d{6_zFcn2p%~`C`f!GPVRPnY zEMgn28sp*H)J5H$mL$h!U7P8Nf;LjrRT04ibnE0;Wtyl_YT;s%0v?>#6;mXHYH4toanmA4DDPUn;UJ|KfJ?q1qgOk4qKh) zg}6EXl=Z<*v7Cppaf9#6@~mmoxB_X-H7kt|nIe z{}i<{z+$>ovZsz5=~>N<+Le3MSh*btn`!U%?v8pcf;16D(6wqT*oY$W+w`ncRE3po z%MpY=<1Bk*D+5z9&Lw+z*8b@e9hf)~#M`gGgI(S|xmOeZ%ka9cfjz~U_Q;u0x|;4V zdAMD#d4ab%a61PAf2mFp7M4JH=p%llRumuIIO1efW=undj+KTm3pK%ey&z3m*DuY5YY~?dU0u!HBUH7S}F`IW03`LZOU4r*qTvAo3LKKTwmh3xxEsMelk<_peGTFXkx{=wDVxK zpuyE#u}md4RWwP`Q~70ssx(tHPlFBz?RCKca1JMD4}-X8kF=XZ_9k-fHDxZQM63{_ zpiMYjX`%}d?!SYUi+7<+BFxuhmrR9lvi^nhYuF~?j(x&PFZr-JI4j_+wv7w}Lh7k))oGquQce(Shg7z$Z|L1`VaI%W~06`u*--Wv>Os zstZK(;`4kG$wT19gyZ`yzccI%C}sNKYe+0ll-92gNNlUtMr|TN92~1g96cKSAIn8+ z&SC4YS|yXl{E?Q=eso1D+GN6=(~Hy?2iO;@Pn;p^_G?(Yb^GO3I*?8c2zk>~*mGJG zOW70E#xw5YQLC)?3%$L13>7o$n~`w}vWZcPDQVOG@%juqt~!e-Lj{Xv$pKsiC|k%6 zUXh@t@kw**38Uc3lP$Xk$0$4l@Bys;Y+L#@LpYrpO> zSaP<1Hh2jL6-^gQ{JYt`+h9AH%(ve=zLzriQo_?q?DAt}4%po*petPgHEz&AXsBDI zWuOr?XZb_8EAc>o)aW?xP~YTldMET7UUn+i{NL@gB>?Q^sNz1s*LOf8$1<&{C+v#`u}>`p7c;QI5k{c+EBW8I`5V%SUidG=$DI;Nr0 zXfr+N`_TJfxi#={D%*sj%h7S^ba)9NFq{(&Jh9>JBMW@Q_iq(Jqq+s~l*M;w1M@m~6tM zIvG`lUCg<6&ZsgZ-bA{J2$S{99l2|vRq6BJ2;=QHT@asMYFcUz^}=3U`R8xAeg-vMJ1p4& zowO}cvfzu*{;#&^wKG~guNVvQK8e{Cs(v)0t+o`NgyIOvtS}Umgk_Z#N{qCKn1H|( z`R_rp#7=`L2foUnI?%Bd!(E+GdyU74^a=QH;!nQ6C~Hfyx>)JLbbT^bnwyw$uFYi* zUtVJtv@SlDXhiY*{y-kRm+4in(P9dg z2EX5vwo_Lt6?uQFWo<5h%=fvs-O7k{z7z;M!21|uEl&wod`SVNv`q8-cU*lsrz_n* z@XBOa7rZTC)a@IMa;c#MCZt1*14dU*-GBs^cw&YA#1Tva(q~f-96k;?8Ep$21vMzc zTFK%H8C>_BK_bed15f$<5}Gtin27LmW`I`wI@u1P+9pez1g}`mE`1xe~M{t;r$g6ndh9cFl zT)SoERy=W?W*-sD!)Tc#79o1v4f&0uxpq63)2#`cl5oTCKJS*xqbWA@tIZ9GZcgQ# zf1!iy6_Pu();ETeOywkwgyt(U_wzo4NmQ42Z@Ti-;L?`YWaVWKjF~!x(xO) z#e6U&xmr-0+_9ynCiheW%$wRTkE8z!^tVH8HL{^TE*!E*Trx2qQZQ0Xp zk%D_X!|U^Pe2PyaE?4T;hjhR#m7s4)c4IRpSqcorh&B~*)&yNm-l==R-hLmgcUgF% z5qjb$XXdfujF#S68nj}0GXGIWzu=H;0Nc8!qT}BA>D0RNiy)n)b{UrWZlO)xnv z!tZG}l12e3x~1ZAW^4ujvmEQE2*RZ|d+jdU05oFT0Jd&TaMwVP!8Ler2pZho-Ccsay9f8+KEVeDmyp5T-61gOkl=80&i~(sTesHJ zs_KWX+SOIvyVw4{@opWQC?U%V<%*-lUtyh)0;2tVz4x)o!8qF^I&r|iR$s5z9$cJ_9x1c|%DC`wqc>NR!N-t;3!ZZv41~D1#MATvvc?P(Wd-sH z8jwhG@)p_oVmV6tOGEDa81qwZ{W|G)p4>!raBt=Bx%lg65CipH>Sl{M4Ihx%0C7l( za=U{HKb7aXawR@F)%G1dwN;w8+V2(6adV%lI+!~?HM9QsY~~txNP{7t<898jL}m&kiHwF#PG;7ka?x*@`z!~rbSzD-xU4n7K!%=z zO9?z7wMLsEA|(|>#VYNYn+%0^28g@m5ClcT;921&Dr~vmd}e67Rk|rq{f*oC_eFCB zx25Z9&6+f}%OdvJ<^kI&9v_oYQC}CY&R6^>i~dvV=I5^UhY zvsCB1cVJBU5oBGeA4ZYVK|rDFeJ(2!p0>t6vKwSp6_jEIY`1XEMM9Q4!@tXytDL`Z z{Qk2V=Ud2dEAp+-L!~it^3ahvr(dB*6PpclRS@Bvk1@@X*%66(e15{lpTR;eB3)F| zkDdfz?O?sfAJ|j0)$#K(tE=19w+g=xLHS~U2M8ClN@_lywpjXwu-_(%sAU_ar5jA0 z^IaD|+PZ>ENHIJdUF-c%SzTR&@G>|C#Rh~@N!!HHNxfvS!%}lRc5|iH3bL zhC0K?hX+NOtNZSZrXIe-gAuT*yNg%ByHQwxH`Yei8SFIx*?)x`q2_ZD~QuGPCw>10o?jZbt6((>#~{bh7n|%>)j#KM~C@77X~fI)0DTyIrEKY8&04%;al<|E*}V}&Ibq33)pTL4$>6MtX~b6 z6r=2<`v~bEgcbS+N?Fd-seL-C-b4lxiKYyAn9BHze52#wA9u8@M@KUUyU;ldH7eMG zTw1AQy7Ln6_~&q2<8xR)nv&R!7OgG!Sss#C9jEkkzV7A|#n2odFI;xwvRge-xN`p0 zRG{thTL-NgqUh`oPL0-3x^VxggYJYiagcpH1TzlH}TRLPy;D&xPT!oC zUl2CE0+4O^pux|^kLuZs%_~O}9QH!SMrXGfZ2B5nvRlY^Y!{oW+bVy1$sag^_qQhP z9k)q+v5gHBZ&)cYg9hsNZ7Jk&>}fl`Ifp4LJGHb|Na)`Gqgl;Buuo(q|Dg}**CeAlKif)TsHpVxXrTkTV)D0c-9)IYAOMOBvlP3>Y zr=3r}a1ZU~fE&vA-Sp_RbYBq&5GLUW#`> zX`15R77m$`?Sk1N3_g7Zb0ZnC2tOHQZ9Wis!wX`k6f$z#ma#2=X{OY-KkL8p4z ztqL*se?N$=Lg)(lDp6;SV?=DsHX>Vd(h=keUXZN9e@Bvw1-X6zNw25TujKt`94{%Xo0%~#(N=+>+m1%#FsBB^;JcuHorW- z;lPn{YE8MsCHOw4YC zeyozy%zYpjM4CU^w*~*vcB@qEoQVrR1F@j7FfgIv9B4lD#d+G1_QlA7P>UHlQ?D_{ z1NzqqRSMq>=AS#0%_`uc%F^*9)!(FL1%zexg9L2SZU&Mp$_*f5Q2*2b_ONW!68aF5 z_WLG86&~UQ>syc3^lf_mci4@VzT2u7BpQ>j%s6+j<;hUA7` zPcoE>r)tzeAfmPMluXz2c`l17#iEtQKAfdK1F%gY=$&w$B07lAo90`Q5dQ>fb}D{sp&I(01>TotJmG>c+7E#*Xiro5C2S5*y-mBLmH=a z&kwAx^c)qYuOoR(#Qrx2qZP4b6_x$BgD?=xq?x=v0IMi2c}?YrgG*R zqlx^K@7c;HP2%VvVj2Hn&#M6=gyGX7cFzGA5ouG4g%xnn#$PC#AJ>?1+_Vu2SyDnm zrT3mMOYEOJV!&dzPNzR2VOga{!TCqiLS5bm`1TOK{f2gnUA>~9z~L;E5ayl4^WjNi zTQ1X%Ot#~*v>SjaQL@3k6DAJ{tQcZdsZAZYSebp2x{(4v{0fZ5p={eu=s@*3&x}v! zBv^`k;S3Y}LOx6TgriXrK{hPc&L?&f7@MCb-h~SboIE6?Nz{F|f7I$Q>d*V>242xa z-Vc!cuuGi0O~%}0$NRpYkz`h=n&w5CNAlZnCKocEh;p2jSdd?}Kz$V#6lXG`rXt@z zQI)Ap>^%~SUbkoQmz2kO-;VCc!cU`cUB7!SBh7#oCCJij|7bG&C02}+pnXEFa(P>^(cv6I~e>%dBv zCHel){>;ExhYFH_C_oLwdmZ&!fkLs9xin4Fk<@!MEa;4HrlWFB5Qx*KikO? z)TW)R*b00b5_Z)ejnmE#;=)aPI zcQ+FIY$TebAVo#69kNv;vE(nzw?#Z z%<)hJQaoVOc+=$>HQUnfKZAKv;Z*PJ{WCc&?{rmSIoL9_E5A~u?ZAl~4^#@0@wvEl zhk$oKE8V|*824-|nXLQ1+j}Jh*a+#ntsYq8UjAr~OxkPG6c7?-xp`m8r-YDi^0cH> zdKueIe&CT0row#u$|G4hbvS%l+O5`q$TM2VUfEGyt%q@5{($uHE1l)wkJ4pY-!Ji6 z$BKFxYd9%$nV3?_oU|x2n!#aOsp9G-3|JvT$vuq&q)X~|!L7+>&-?NU2^CkaI3lFk zgU1Ry?vwc~=!aXJcoNi#LVBY8BcQhrcju!i>>Ga5*>1}zaZE?PMqUY^$6extC*bNA zC2E zX?ce*ZbkNukK=g6--P#=m?#5O;w#o_8-@bsmmn(-$8>b!V#wnte7hm-eC<$N=i zUVodf;e%rH{EH4w*1k7%`Nz?@H)=*W+x4iG9}|SyXJF4Lhwb3^BtyN_0li#YpZNN> zPVuV~FXA9g(x<_0%{nr$IJFA=yq(9WFk15${O?j@bdT9Iy$ht8TMDQmElcQ?>HHxx z!#x`=$0kgqdt0WTe_V`8E<9FX90PhB#>%519UQhiS}Fk!Y<;Ogi-+f63Dn*0izKzX z$?K#TY}MQjtBX-Ak8P)dW$mWsuDDC{C)ek+sGj%I>VZ^bk(c{hNy-m#e0^VgpnW#0_tQ zzT}6~vV+!Td(xeR#@w0Ejp-yNNXEK1-FaZZC=XR%~g#sbSLY}vtc4}cxnjV`_)Op z1T#C{|7Mr>lII+%M;Vji%Kd)gUePMjGc%A^$Vfik$|czaO8JVbCY{)CmHr*aRDB0n zttRFS+dWHVX^~11NxConN+OQ(K%v>J7C3z*8s8K4w5-~pT6DTC*jO4cV4HuL%6^f%?Eb!>nr>DGZD!NzT^p4yIyYTB3nfJUo%J(V8tWlH$qL(#E~@|~A- zz}FZ`gtN?g-FPltQJlU6v1P2jKNr#MDZ%XFHGkL7xGAy!U=jwgK;!wX`Vzd z!PHelE~t_|6quDW{M51^oA(-Kv8|Y-L<<+#FD#WK&G&Tp)GbZt5^Yy5KBeJq2N)FD zq2AqH>`mR!m7q6x+PM!|e&QV&KV;Jt5PVj#Itm8BI{Gc@5gvL;+v45LMPd7`d@Py|HH+3r?{U&)XE#cv;fXZ`q%;F@OO z5lDM~ga&jb&z~I~fOU<=qQoulNMLr6wzhchu4-fMQJM_PjmjY3PysTI^plA_N3JGZ zxiVf+c?j(FLD@XpjXRgY9M#H7~94K(sk0y{NTc7{<+&jQGI6Jtq7%7GoPdj0Ra zW@~ZPnSKyF#hh(Ms}W6O3Wl#x?!Z>YAKYnrd0d`S zm4Nu!?_o9-uS~5A!ahM(FF&@?riuC$B83fi+U|#tnCHCE{5s)2(ALrks^0PZ;^4ic zZ8u;w!1^_b3Ur?xdg8H{@N!s_$N4@^l)uli)kE73J+Q=zR=IP)vxBMvYD!a`da)T-;y7)A>T-V+}xv!u-1 z;N}&*fh|xX^`k(p3B+{GJNg8rmRw*@Y$x>hQ2znMCF)xl!_?VOoJfSRO}WynSRuas z@xhp3%^P)O^@i3sctR8V^PibnN~oU(XHsSbFx%s{UBx>g_b_hQP z5_pc*E<9i=Z4IS;l4l-z{Ac+Zi>s?5Tz%vZLL=D$^agqqaZgeu3RFqav9h6f5wivN zmK4l09gub-*zA#`$&1T%&=ViWsz2iEEu*Q{57VXI%&wlQ9}D|Ji%*9jTb!h*+x}Nz zz%=UyI6eP0q_zvR#1PKZ&HY(EKOXGNx6WgKo>%U;7Hj9+le$t}vE*opB*B6%s;`z1 zt1U63aUGr#?}H@qQD>Ou-JfAb_0&?L?(Q0&AXIhRFYo3Ah+gT+W(Elhw= zZqY0ro(@Z}b`+Arj4R(ukusz`_2bbiMjT9ro!)Vo5N~`2rXYeC5oMQ?XGNssh3*(mN(0c+hszZIen&4 zgmmf!-M#C2kISCS9J^k<3@b^t@oq%-_DGIA$SfUbpwpLX6&kyAyPdfMY?*u2GQoYb z;r#g(xrKkA{J8~`U85w$3oVjks!1uU-UX`(ePXYGM>o5fYtYkua@Kr9_HtRzy&vmr zZ?DYO+&yZ_zY#Dc+wVP>4!tc{DO-B01yk!j&&z8}ZW-l*U;E|bmBW#|PR#To=|lYV zS@Ee5Sv($t#PRLS8Bx@ngn*Yc!@&7kG}k_tq$~a`WHmB)q!dPc`2x~dLMt-VFMIt_ zuV?oP>^(4d*%j_c%3aUNG5;E_V6U&1kKXfFwTi7=h-oXZGh2e<}Zb-B=Pl71={BLmLi$=3X*7%bJpdEHhcF^f}K z%?jVESZP3i8Obd{YKb>y<#KikF$E>HqYYLu^)#jWuxm2lm=VOBF8EX$;R@nBi(;Pd zwRTt$W3c*y*KPs6M!qJsXEQM$;t>uCq`)(_dxKIuu~eCJp^eh4=^sBRh5uG~jpY(0 zN4LLk`1B5i!E!JKjAAn}mo;e*gKQQ84fPPbf+=`MsYQn7D&7(3F7y2D3+VyKyFhjk7Fa$#tj1;R7eLL1TS;Hn~yPT&mB>$*r+||e(A_;2a$xE|YW4rJqTwuDu`1=SpZQF4k32X-`)gj& zD9vyCQ2Msr#=fG$fpO)L;WTfs@c-|6tb4Nl{{HK;?Fcb$fkWa@8m1j0xB@p6Qr`mQ zG*vrI3EW?O?Om6=;c7FI>U31d7I9%SzRi&+G-2go#5FXtIYjDOR|gV^w3*?A*F?{n zZKqBCcsTL5X4hKI@=Xd3lfB6YX6s+%2$QaI`ze3;Z1?D*LGh z{lud+@^llF?+bAgYl`dt?iUpe73aEpf8(%050R%Np+&n%FQB#c-I9E(Izsqi7sc2~ zMqtAj{fAZNk0s{E9X#jUYt?*auCX2F7s^wUqfKN}WjXZ+;$^}NJJT-1)T+Ykxse%0 zXW%eECh;e5QIRP;<;Y_}KPAe$0{PS9&i8Q%anv z-h6hc`=Xq@42DZy;$vaK#XWoyt7)3CY{P;W;egbt9-{q(aOU29@>%9+CXcuEwKITK8RvBkYp)HDQglw2-)hJkElC?JJ4sz`7-ej z&UpQK!g(CpI0b=;>8=ssh^Twv!8#GPiV(lm=IRTMp6AQ=|Dwdj;r>UF?}*=-yeo#6 zflr1Xga3;_gJ6JAj;Jr4M=^PKkAhD@o8v97ukWQjsQ;K9gyYwF2M(T!2Ubh#Zbwfqag_j$(__ z;=ck>p;Advg;H%$3s8qrk5MmBZ&9C6-%vl(Ak*N|kkZi6aM6g;DADNA*wDDsJkz?+ zLg|X>S?T*3WEdJ5kr^!*p-d)BYaiV|&M@;aS2H&=cQgNDo?%{NNn^QUHDbMGGhw@B zcjG|j5alT6_{*uoIq`|>Q!y7iS0y()cQ+3MPXR9}uM_Vap9$X}KOcWA|CNBSK%OA8 zV2%)x(B9{GVJYE35mu2bQ6|w+F$%Fju?2B1@gfOi33rK`FJHdYO7cl&NMTE5NW)17 z%HYeS$`Z?Z%Yx+K<(%XO^-R4>#> z)#TI?)n@+7h~I?Mg+qc9fhQ!}TO}E;|-$!8J zA%19a8i=MdUT{Hhk%mV%?jT-MQ?!I9Xg-m=hwGKtd>@Fm{quMx{kQa9DH_^#0r;+H z2+1v(g9-Xw5pfVbNEqE`q+!q)u&=yQ_Da1mMA#b@bbqSVk>cnz&3;IJ?YYmuQ|}i2 zc^CUZzhfM;tx@*HxFd%6`=F@G73~HD*x3)~fmxzY(5Xu+ftCOtU2xO4t4lS6!I^{O z1&A(DQ7|Mf%uD*nb&95F%c|d{LFbJ+GV?7Xv-E&qmL3S)qT1I!cADxF51+L$rOQOwI_g=%ykzR2#6wtlq_h#ihdFa-NP z^+>I}kO0=El9PVvRIaMEItQ*PuI+uOVbU!5AFh7-a@M*QvCNyuXg_Y1l7GxhKw|~1 zVQHkCEPlxy_D7{k0fBu^Un;aPHGKcep7uy=G&iIV!YG&h2yO!>FlF``gRQfAkJh_~ z>}+R*%H!=I(B|vqL%>l4)(UIBv!qT7m~Z-M9i9vn1sWk*$2W8scLD<&GeKiI>!gN` zXHF5$t&^Zd>{V0mmDi?i5;LL}k^_Nc+gO4e$t3WEr6>lm4RwOv1b$X?;^BYz)OwSo zOYSs`P08tkQJR8D^MVoFf(b2xF&=^`F#Tzy1$$iFy;!?B8ipp*bNL%2j1E(n^#xL?kc+66GiU6=frF!#T z6^1!|1DJ-vbKKx_z|b3RNE=|tt~W%kFzm}4ic8o#${RdN7~1z6lJ77i(;GrlkJzEW zq4q$?-E)7+^Uvw$LA+#amF0Xd)2456*2Bfr$QDdOpYZc76cdM~l%&1jc_WNir80*) ztAqbP^=b~(>}a_$3lJ8ds~}Z{|HnQeDWC9^%txva2q_cSQ2x{QoPE7bse!@N>Sv+F zLg>W_h%u(tx~EP(r8B6wcxR{;qr#PlGql|^7Q(O=Wp5`Zl z9s%xvTxqsXMCtKBrQ6c2xVl0b)!|ozD*1mqt^M1^J|>Pi>;RFC($jHT8jjZM$<3B< zo|g-7u<}3Fv-R|`9zNCDUd6OjZ@*)V>(M*;)wzP}P=@bO~@OPbs=^8i`S>VUfn|f zYt!rgAB~S$6E>skN7aAPp{`5S9%1$jC|SqYG^y6CRXgQZ8)LT4Y#x)!FdSohX?&$L zyuH-lwoh>-BfW&K^5XIAS*maq0$RQ~?u#Ac+eiK9F5`iFw7YwBw6}L~uw!OxYiVh1 tZDt1D9JudW + + + + + + + + \ No newline at end of file diff --git a/packages/Microsoft.AspNet.Identity.Owin.2.0.0/Microsoft.AspNet.Identity.Owin.2.0.0.nupkg b/packages/Microsoft.AspNet.Identity.Owin.2.0.0/Microsoft.AspNet.Identity.Owin.2.0.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..339a810c2cac821506d239a167e56092bf4d9608 GIT binary patch literal 24008 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 V%4bNAnvov94#Djcd7z`U{{fuCB~btX literal 0 HcmV?d00001 diff --git a/packages/Microsoft.AspNet.Identity.Owin.2.0.0/Microsoft.AspNet.Identity.Owin.2.0.0.nuspec b/packages/Microsoft.AspNet.Identity.Owin.2.0.0/Microsoft.AspNet.Identity.Owin.2.0.0.nuspec new file mode 100644 index 0000000..69a998f --- /dev/null +++ b/packages/Microsoft.AspNet.Identity.Owin.2.0.0/Microsoft.AspNet.Identity.Owin.2.0.0.nuspec @@ -0,0 +1,24 @@ + + + + Microsoft.AspNet.Identity.Owin + 2.0.0 + Microsoft ASP.NET Identity Owin + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/aspnetcomponent_rtw_ENU.htm + true + Owin implementation for ASP.NET Identity. + Owin implementation for ASP.NET Identity. + + © Microsoft Corporation. All rights reserved. + + Identity Membership + + + + + + + + \ No newline at end of file diff --git a/packages/Microsoft.AspNet.Identity.Owin.2.0.0/lib/net45/Microsoft.AspNet.Identity.Owin.dll b/packages/Microsoft.AspNet.Identity.Owin.2.0.0/lib/net45/Microsoft.AspNet.Identity.Owin.dll new file mode 100644 index 0000000000000000000000000000000000000000..c58645289c4868ad956a49b378be68fa86173135 GIT binary patch literal 37024 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%0As&su= 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 V%8rY z2L7UbA-7`8_CfbQHk1t;Qey1hqh#ZXlOL&@hONCc=LzGGAl>Z8=A0cnmGz#dG7#^6NdMOKWCPvmE>DHE1T}OG%acjx}N)8Q?%ap9}h2P z2h?o|Su?D8!)c>RBLbce13R@}QMUokM{tJB-JOh58|-RKd*v+>o_ zZmsYQeCqvI>KE^f|Jby4VMXE2@#4EVQGuf#`s$9%6XRccX2Qb}$2$n~Hor9E!h%CT z_7Q$M@ycSoYTu%vC(h*te>L){2Tp#!==M(%e`S-t0&Uh%^ z@1o{J)$XvI)%Q)+JD2TTlfJ4nZtrNr4~6+Rg{)iXTu26!!Re?IS&s)YID+zSB3d zqT}pyK5xgqba247Z!i7Wu;ZKc8>^Fd=Iou;+0?DpCu7XQX}1g>5VU*Swyh&d_dVAC zYGYk=P55#`_SwiFRZZSi<6x{N|xStRzy>d<9=j|wZ~P%-dpoO z8xg+dvp;)1dQ<$^kg4wkuKU|MTe%F^7fW#0Yr%5+@7+sCx4&(#OUaNj=O2>_?hIM@Y5($er(eldgq|J#`_fefS8m#K?!F(cygGm7K$kKr zW$s%&svatvzI#*SU)$SXcrv!`_gdd?|Gaz1cduO8^~RWI<{h}lVeRDmTPR!%zk*kVExN))t=v7vZwTc zC)3{Pe%{+waH&eRqS`oQXmInn?w_yPRr~#gn&_#I1+Hiu_0n69<-Tipq}gZn8;fcl zjZHl69R2JaL%(cNl)8j*2ZNShxoCgyfhSh~cvnr=f%ETvdH1{e=U=ca-}-l4!}P8V zi=N8Nf9d(m7oxK>>O$HNx#wv1xK0Q&ZZUc{JNd!9P|MZ(@E&)qw&c16JB zcRqi7dgZXU7B6`(sP^2T6B)hxJ+k*?ju`yg3qhBB6F!Ofrn@U_cpv-Z-$(s@^uxOF t_e#^Z{rKdrNpFXIeJ*L?tU>cM8DDE&nd7vN|9tGEKb9?c-bV50{{z-qn1}!X literal 0 HcmV?d00001 diff --git a/packages/Microsoft.AspNet.Identity.Owin.2.0.0/lib/net45/Microsoft.AspNet.Identity.Owin.xml b/packages/Microsoft.AspNet.Identity.Owin.2.0.0/lib/net45/Microsoft.AspNet.Identity.Owin.xml new file mode 100644 index 0000000..3d23eed --- /dev/null +++ b/packages/Microsoft.AspNet.Identity.Owin.2.0.0/lib/net45/Microsoft.AspNet.Identity.Owin.xml @@ -0,0 +1,397 @@ + + + + Microsoft.AspNet.Identity.Owin + + + + + OwinMiddleware that initializes an object for use in the OwinContext via the Get/Set generic extensions method + + + + + + + Constructor + + The next middleware in the OWIN pipeline to invoke + Configuration options for the middleware + + + + Create an object using the Options.Provider, storing it in the OwinContext and then disposes the object when finished + + + + + + + Configuration options + + + + + Configuration options for a IdentityFactoryMiddleware + + + + + + Used to configure the data protection provider + + + + + Provider used to Create and Dispose objects + + + + + Interface used to create objects per request + + + + + + Called once per request to create an object + + + + + + + + Called at the end of the request to dispose the object created + + + + + + + Used to configure how the IdentityFactoryMiddleware will create an instance of the specified type for each OwinContext + + + + + + Constructor + + + + + Calls the OnCreate Delegate + + + + + + + + Calls the OnDispose delegate + + + + + + + A delegate assigned to this property will be invoked when the related method is called + + + + + A delegate assigned to this property will be invoked when the related method is called + + + + + Token provider that uses an IDataProtector to generate encrypted tokens based off of the security stamp + + + + + Token provider that uses an IDataProtector to generate encrypted tokens based off of the security stamp + + + + + Constructor + + + + + + Generate a protected string for a user + + + + + + + + + Return false if the token is not valid + + + + + + + + + + Returns true if the provider can be used to generate tokens for this user + + + + + + + + This provider no-ops by default when asked to notify a user + + + + + + + + + IDataProtector for the token + + + + + Lifespan after which the token is considered expired + + + + + Constructor + + + + + + Extensions off of IAppBuilder to make it easier to configure the SignInCookies + + + + + Registers a callback that will be invoked to create an instance of type T that will be stored in the OwinContext + which can fetched via context.Get + + + The passed to the configuration method + Invoked to create an instance of T + The updated + + + + Registers a callback that will be invoked to create an instance of type T that will be stored in the OwinContext + which can fetched via context.Get + + + + + + + + + Configure the app to use owin middleware based cookie authentication for external identities + + + + + + Configure the app to use owin middleware based cookie authentication for external identities + + + + + + + Configures a cookie intended to be used to store the partial credentials for two factor authentication + + + + + + + + Configures a cookie intended to be used to store whether two factor authentication has been done already + + + + + + + Configure the app to use owin middleware based oauth bearer tokens + + + + + + + Extensions methods on IAuthenticationManager that add methods for using the default Application and External + authentication type constants + + + + + Return the authentication types which are considered external because they have captions + + + + + + + Return the identity associated with the default external authentication type + + + + + + Extracts login info out of an external identity + + + + + + + Extracts login info out of an external identity + + + + + + + Extracts login info out of an external identity + + + key that will be used to find the userId to verify + + the value expected to be found using the xsrfKey in the AuthenticationResult.Properties + dictionary + + + + + + Extracts login info out of an external identity + + + key that will be used to find the userId to verify + + the value expected to be found using the xsrfKey in the AuthenticationResult.Properties + dictionary + + + + + + Returns true if there is a TwoFactorRememberBrowser cookie for a user + + + + + + + + Creates a TwoFactorRememberBrowser cookie for a user + + + + + + + + Extension methods for OwinContext/> + + + + + Stores an object in the OwinContext using a key based on the AssemblyQualified type name + + + + + + + + + Retrieves an object from the OwinContext using a key based on the AssemblyQualified type name + + + + + + + + Get the user manager from the context + + + + + + + + Used to return information needed to associate an external login + + + + + Associated login data + + + + + Suggested user name for a user + + + + + Email claim from the external identity + + + + + The external identity + + + + + Static helper class used to configure a CookieAuthenticationProvider to validate a cookie against a user's security + stamp + + + + + Can be used as the ValidateIdentity method for a CookieAuthenticationProvider which will check a user's security + stamp after validateInterval + Rejects the identity if the stamp changes, and otherwise will call regenerateIdentity to sign in a new + ClaimsIdentity + + + + + + + + + + Can be used as the ValidateIdentity method for a CookieAuthenticationProvider which will check a user's security + stamp after validateInterval + Rejects the identity if the stamp changes, and otherwise will call regenerateIdentity to sign in a new + ClaimsIdentity + + + + + + + + + + + diff --git a/packages/Microsoft.Owin.Security.2.1.0/Microsoft.Owin.Security.2.1.0.nupkg b/packages/Microsoft.Owin.Security.2.1.0/Microsoft.Owin.Security.2.1.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..4e3c3f58c446bf6f72e1563dac4b849678072a14 GIT binary patch literal 31393 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Owin.Security.2.1.0/Microsoft.Owin.Security.2.1.0.nuspec b/packages/Microsoft.Owin.Security.2.1.0/Microsoft.Owin.Security.2.1.0.nuspec new file mode 100644 index 0000000..96dc496 --- /dev/null +++ b/packages/Microsoft.Owin.Security.2.1.0/Microsoft.Owin.Security.2.1.0.nuspec @@ -0,0 +1,22 @@ + + + + Microsoft.Owin.Security + 2.1.0 + Microsoft.Owin.Security + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/aspnetcomponent_rtw_enu.htm + http://katanaproject.codeplex.com/ + true + Common types which are shared by the various authentication middleware components. + + + + Microsoft OWIN Katana + + + + + + \ No newline at end of file diff --git a/packages/Microsoft.Owin.Security.2.1.0/lib/net45/Microsoft.Owin.Security.XML b/packages/Microsoft.Owin.Security.2.1.0/lib/net45/Microsoft.Owin.Security.XML new file mode 100644 index 0000000..b20db1b --- /dev/null +++ b/packages/Microsoft.Owin.Security.2.1.0/lib/net45/Microsoft.Owin.Security.XML @@ -0,0 +1,452 @@ + + + + Microsoft.Owin.Security + + + + + Provides extensions methods for app.Property values that are only needed by implementations of authentication middleware. + + + + + Returns the previously set AuthenticationType that external sign in middleware should use when the + browser navigates back to their return url. + + App builder passed to the application startup code + + + + + Called by middleware to change the name of the AuthenticationType that external middleware should use + when the browser navigates back to their return url. + + App builder passed to the application startup code + AuthenticationType that external middleware should sign in as. + + + + Controls the behavior of authentication middleware + + + + + In Active mode the authentication middleware will alter the user identity as the request arrives, and + will also alter a plain 401 as the response leaves. + + + + + In Passive mode the authentication middleware will only provide user identity when asked, and will only + alter 401 responses where the authentication type named in the extra challenge data. + + + + + Base Options for all authentication middleware + + + + + Initialize properties of AuthenticationOptions base class + + Assigned to the AuthenticationType property + + + + The AuthenticationType in the options corresponds to the IIdentity AuthenticationType property. A different + value may be assigned in order to use the same authentication middleware type more than once in a pipeline. + + + + + If Active the authentication middleware alter the request user coming in and + alter 401 Unauthorized responses going out. If Passive the authentication middleware will only provide + identity and alter responses when explicitly indicated by the AuthenticationType. + + + + + Additional information about the authentication type which is made available to the application. + + + + + String constants used only by the Security assembly + + + + + Used by middleware extension methods to coordinate the default value Options property SignInAsAuthenticationType + + + + + Factory used to create IDataProtection instances + + + + + Returns a new instance of IDataProtection for the provider. + + Additional entropy used to ensure protected data may only be unprotected for the correct purposes. + An instance of a data protection service + + + + Service used to protect and unprotect data + + + + + Called to protect user data. + + The original data that must be protected + A different byte array that may be unprotected or altered only by software that has access to + the an identical IDataProtection service. + + + + Called to unprotect user data + + The byte array returned by a call to Protect on an identical IDataProtection service. + The byte array identical to the original userData passed to Protect. + + + + Base class for the per-request work performed by most authentication middleware. + + Specifies which type for of AuthenticationOptions property + + + + Base class for the per-request work performed by most authentication middleware. + + + + + Called once per request after Initialize and Invoke. + + async completion + + + + Called once by common code after initialization. If an authentication middleware responds directly to + specifically known paths it must override this virtual, compare the request path to it's known paths, + provide any response information as appropriate, and true to stop further processing. + + Returning false will cause the common code to call the next middleware in line. Returning true will + cause the common code to begin the async completion journey without calling the rest of the middleware + pipeline. + + + + Causes the authentication logic in AuthenticateCore to be performed for the current request + at most once and returns the results. Calling Authenticate more than once will always return + the original value. + + This method should always be called instead of calling AuthenticateCore directly. + + The ticket data provided by the authentication logic + + + + The core authentication logic which must be provided by the handler. Will be invoked at most + once per request. Do not call directly, call the wrapping Authenticate method instead. + + The ticket data provided by the authentication logic + + + + Causes the ApplyResponseCore to be invoked at most once per request. This method will be + invoked either earlier, when the response headers are sent as a result of a response write or flush, + or later, as the last step when the original async call to the middleware is returning. + + + + + + Core method that may be overridden by handler. The default behavior is to call two common response + activities, one that deals with sign-in/sign-out concerns, and a second to deal with 401 challenges. + + + + + + Override this method to dela with sign-in/sign-out concerns, if an authentication scheme in question + deals with grant/revoke as part of it's request flow. (like setting/deleting cookies) + + + + + + Override this method to dela with 401 challenge concerns, if an authentication scheme in question + deals an authentication interaction as part of it's request flow. (like adding a response header, or + changing the 401 result to 302 of a login page or external sign-in location.) + + + + + + Initialize is called once per request to contextualize this instance with appropriate state. + + The original options passed by the application control behavior + The utility object to observe the current request and response + async completion + + + + Contains user identity information as well as additional authentication state. + + + + + Initializes a new instance of the class + + + + + + + Gets the authenticated user identity. + + + + + Additional state values for the authentication session. + + + + + Interface for providing pinned certificate validation, which checks HTTPS + communication against a known good list of certificates to protect against + compromised or rogue CAs issuing certificates for hosts without the + knowledge of the host owner. + + + + + Verifies the remote Secure Sockets Layer (SSL) certificate used for authentication. + + An object that contains state information for this validation. + The certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + A Boolean value that determines whether the specified certificate is accepted for authentication. + + + + Provides pinned certificate validation based on the certificate thumbprint. + + + + + Initializes a new instance of the class. + + A set of thumbprints which are valid for an HTTPS request. + + + + Validates that the certificate thumbprints in the signing chain match at least one whitelisted thumbprint. + + An object that contains state information for this validation. + The certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + A Boolean value that determines whether the specified certificate is accepted for authentication. + + + + Used to provide the data protection services that are derived from the Data Protection API. It is the best choice of + data protection when you application is not hosted by ASP.NET and all processes are running as the same domain identity. + + + + + Initializes a new DpapiDataProtectionProvider with a random application + name. This is only useful to protect data for the duration of the + current application execution. + + + + + Initializes a new DpapiDataProtectionProvider which uses the given + appName as part of the protection algorithm + + A user provided value needed to round-trip secured + data. The default value comes from the IAppBuilder.Properties["owin.AppName"] + when self-hosted. + + + + Returns a new instance of IDataProtection for the provider. + + Additional entropy used to ensure protected data may only be unprotected for the correct purposes. + An instance of a data protection service + + + + Helper code used when implementing authentication middleware + + + + + Helper code used when implementing authentication middleware + + + + + + Add an additional ClaimsIdentity to the ClaimsPrincipal in the "server.User" environment key + + + + + + Find response challenge details for a specific authentication middleware + + The authentication type to look for + The authentication mode the middleware is running under + The information instructing the middleware how it should behave + + + + Find response sign-in details for a specific authentication middleware + + The authentication type to look for + The information instructing the middleware how it should behave + + + + Find response sign-out details for a specific authentication middleware + + The authentication type to look for + The authentication mode the middleware is running under + The information instructing the middleware how it should behave + + + + Base class used for certain event contexts + + + + + Base class used for certain event contexts + + + + + Creates an instance of this context + + + + + Prevents the request from being processed further by other components. + IsRequestCompleted becomes true after calling. + + + + + True if the request should not be processed further by other components. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The AuthenticationTokenProvider's required synchronous events have not been registered.. + + + + + Looks up a localized string similar to The default data protection provider may only be used when the IAppBuilder.Properties contains an appropriate 'host.AppName' key.. + + + + + Looks up a localized string similar to A default value for SignInAsAuthenticationType was not found in IAppBuilder Properties. This can happen if your authentication middleware are added in the wrong order, or if one is missing.. + + + + + Looks up a localized string similar to The state passed to UnhookAuthentication may only be the return value from HookAuthentication.. + + + + + Provides pinned certificate validation based on the subject key identifier of the certificate. + + + + + Initializes a new instance of the class. + + A set of subject key identifiers which are valid for an HTTPS request. + + + + Verifies the remote Secure Sockets Layer (SSL) certificate used for authentication. + + An object that contains state information for this validation. + The certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + A Boolean value that determines whether the specified certificate is accepted for authentication. + + + + The algorithm used to generate the subject public key information blob hashes. + + + + + Implements a cert pinning validator passed on + http://datatracker.ietf.org/doc/draft-ietf-websec-key-pinning/?include_text=1 + + + + + Initializes a new instance of the class. + + A collection of valid base64 encoded hashes of the certificate public key information blob. + The algorithm used to generate the hashes. + + + + Validates at least one SPKI hash is known. + + An object that contains state information for this validation. + The certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + A Boolean value that determines whether the specified certificate is accepted for authentication. + + + + Encodes a structure of the type indicated by the value of the lpszStructType parameter. + + Type of encoding used. + The high-order word is zero, the low-order word specifies the integer identifier for the type of the specified structure so + we can use the constants in http://msdn.microsoft.com/en-us/library/windows/desktop/aa378145%28v=vs.85%29.aspx + A pointer to the structure to be encoded. + A pointer to a buffer to receive the encoded structure. This parameter can be NULL to retrieve the size of this information for memory allocation purposes. + A pointer to a DWORD variable that contains the size, in bytes, of the buffer pointed to by the pbEncoded parameter. + + + + diff --git a/packages/Microsoft.Owin.Security.2.1.0/lib/net45/Microsoft.Owin.Security.dll b/packages/Microsoft.Owin.Security.2.1.0/lib/net45/Microsoft.Owin.Security.dll new file mode 100644 index 0000000000000000000000000000000000000000..e44dc6a4726fb7f0f597a64c5940ea41385e827e GIT binary patch literal 49840 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 Kt~j07_x=M!q!=6k literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Owin.Security.Cookies.2.1.0/Microsoft.Owin.Security.Cookies.2.1.0.nuspec b/packages/Microsoft.Owin.Security.Cookies.2.1.0/Microsoft.Owin.Security.Cookies.2.1.0.nuspec new file mode 100644 index 0000000..c91846b --- /dev/null +++ b/packages/Microsoft.Owin.Security.Cookies.2.1.0/Microsoft.Owin.Security.Cookies.2.1.0.nuspec @@ -0,0 +1,23 @@ + + + + Microsoft.Owin.Security.Cookies + 2.1.0 + Microsoft.Owin.Security.Cookies + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/aspnetcomponent_rtw_enu.htm + http://katanaproject.codeplex.com/ + true + Middleware that enables an application to use cookie based authentication, similar to ASP.NET's forms authentication. + + + + Microsoft OWIN Katana + + + + + + + \ No newline at end of file diff --git a/packages/Microsoft.Owin.Security.Cookies.2.1.0/lib/net45/Microsoft.Owin.Security.Cookies.dll b/packages/Microsoft.Owin.Security.Cookies.2.1.0/lib/net45/Microsoft.Owin.Security.Cookies.dll new file mode 100644 index 0000000000000000000000000000000000000000..a16a29a4b2ee87f9a1042b064707343210a58be7 GIT binary patch literal 29872 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 S{wQqom_GI2|8`f@_WuKXUYSh* literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Owin.Security.Cookies.2.1.0/lib/net45/Microsoft.Owin.Security.Cookies.xml b/packages/Microsoft.Owin.Security.Cookies.2.1.0/lib/net45/Microsoft.Owin.Security.Cookies.xml new file mode 100644 index 0000000..9e80687 --- /dev/null +++ b/packages/Microsoft.Owin.Security.Cookies.2.1.0/lib/net45/Microsoft.Owin.Security.Cookies.xml @@ -0,0 +1,356 @@ + + + + Microsoft.Owin.Security.Cookies + + + + + Default values related to cookie-based authentication middleware + + + + + The default value used for CookieAuthenticationOptions.AuthenticationType + + + + + The prefix used to provide a default CookieAuthenticationOptions.CookieName + + + + + The default value of the CookieAuthenticationOptions.ReturnUrlParameter + + + + + The default value used by UseApplicationSignInCookie for the + CookieAuthenticationOptions.LoginPath + + + + + The default value used by UseApplicationSignInCookie for the + CookieAuthenticationOptions.LogoutPath + + + + + Determines how the identity cookie's security property is set. + + + + + If the URI that provides the cookie is HTTPS, then the cookie will only be returned to the server on + subsequent HTTPS requests. Otherwise if the URI that provides the cookie is HTTP, then the cookie will + be returned to the server on all HTTP and HTTPS requests. This is the default value because it ensures + HTTPS for all authenticated requests on deployed servers, and also supports HTTP for localhost development + and for servers that do not have HTTPS support. + + + + + CookieOptions.Secure is never marked true. Use this value when your login page is HTTPS, but other pages + on the site which are HTTP also require authentication information. This setting is not recommended because + the authentication information provided with an HTTP request may be observed and used by other computers + on your local network or wireless connection. + + + + + CookieOptions.Secure is always marked true. Use this value when your login page and all subsequent pages + requiring the authenticated identity are HTTPS. Local development will also need to be done with HTTPS urls. + + + + + Extension methods provided by the cookies authentication middleware + + + + + Adds a cookie-based authentication middleware to your web application pipeline. + + The IAppBuilder passed to your configuration method + An options class that controls the middleware behavior + The original app parameter + + + + Contains the options used by the CookiesAuthenticationMiddleware + + + + + Create an instance of the options initialized with the default values + + + + + Determines the cookie name used to persist the identity. The default value is ".AspNet.Cookies". + This value should be changed if you change the name of the AuthenticationType, especially if your + system uses the cookie authentication middleware multiple times. + + + + + Determines the domain used to create the cookie. Is not provided by default. + + + + + Determines the path used to create the cookie. The default value is "/" for highest browser compatability. + + + + + Determines if the browser should allow the cookie to be accessed by client-side javascript. The + default is true, which means the cookie will only be passed to http requests and is not made available + to script on the page. + + + + + Determines if the cookie should only be transmitted on HTTPS request. The default is to limit the cookie + to HTTPS requests if the page which is doing the SignIn is also HTTPS. If you have an HTTPS sign in page + and portions of your site are HTTP you may need to change this value. + + + + + Controls how much time the cookie will remain valid from the point it is created. The expiration + information is in the protected cookie ticket. Because of that an expired cookie will be ignored + even if it is passed to the server after the browser should have purged it + + + + + The SlidingExpiration is set to true to instruct the middleware to re-issue a new cookie with a new + expiration time any time it processes a request which is more than halfway through the expiration window. + + + + + The LoginPath property informs the middleware that it should change an outgoing 401 Unauthorized status + code into a 302 redirection onto the given login path. The current url which generated the 401 is added + to the LoginPath as a query string parameter named by the ReturnUrlParameter. Once a request to the + LoginPath grants a new SignIn identity, the ReturnUrlParameter value is used to redirect the browser back + to the url which caused the original unauthorized status code. + + If the LoginPath is null or empty, the middleware will not look for 401 Unauthorized status codes, and it will + not redirect automatically when a login occurs. + + + + + If the LogoutPath is provided the middleware then a request to that path will redirect based on the ReturnUrlParameter. + + + + + The ReturnUrlParameter determines the name of the query string parameter which is appended by the middleware + when a 401 Unauthorized status code is changed to a 302 redirect onto the login path. This is also the query + string parameter looked for when a request arrives on the login path or logout path, in order to return to the + original url after the action is performed. + + + + + The Provider may be assigned to an instance of an object created by the application at startup time. The middleware + calls methods on the provider which give the application control at certain points where processing is occuring. + If it is not provided a default instance is supplied which does nothing when the methods are called. + + + + + The TicketDataFormat is used to protect and unprotect the identity and other properties which are stored in the + cookie value. If it is not provided a default data handler is created using the data protection service contained + in the IAppBuilder.Properties. The default data protection service is based on machine key when running on ASP.NET, + and on DPAPI when running in a different process. + + + + + The SystemClock provides access to the system's current time coordinates. If it is not provided a default instance is + used which calls DateTimeOffset.UtcNow. This is typically not replaced except for unit testing. + + + + + Context passed when a Challenge, SignIn, or SignOut causes a redirect in the cookie middleware + + + + + Creates a new context object. + + The OWIN request context + The cookie middleware options + The initial redirect URI + + + + Gets or Sets the URI used for the redirect operation. + + + + + This default implementation of the ICookieAuthenticationProvider may be used if the + application only needs to override a few of the interface methods. This may be used as a base class + or may be instantiated directly. + + + + + Specifies callback methods which the invokes to enable developer control over the authentication process. /> + + + + + Called each time a request identity has been validated by the middleware. By implementing this method the + application may alter or reject the identity which has arrived with the request. + + Contains information about the login session as well as the user . + A representing the completed operation. + + + + Called when an endpoint has provided sign in information before it is converted into a cookie. By + implementing this method the claims and extra information that go into the ticket may be altered. + + Contains information about the login session as well as the user . + + + + Called when a Challenge, SignIn, or SignOut causes a redirect in the cookie middleware + + Contains information about the event + + + + Create a new instance of the default provider. + + + + + Implements the interface method by invoking the related delegate method + + + + + + + Implements the interface method by invoking the related delegate method + + + + + + Called when a Challenge, SignIn, or SignOut causes a redirect in the cookie middleware + + Contains information about the event + + + + A delegate assigned to this property will be invoked when the related method is called + + + + + A delegate assigned to this property will be invoked when the related method is called + + + + + A delegate assigned to this property will be invoked when the related method is called + + + + + Context object passed to the ICookieAuthenticationProvider method ResponseSignIn. + + + + + Creates a new instance of the context object. + + Initializes Request property + Initializes Response property + Initializes AuthenticationType property + Initializes Identity property + Initializes Extra property + + + + Creates a new instance of the context object. + + The OWIN request context + The middleware options + Initializes AuthenticationType property + Initializes Identity property + Initializes Extra property + + + + The name of the AuthenticationType creating a cookie + + + + + Contains the claims about to be converted into the outgoing cookie. + May be replaced or altered during the ResponseSignIn call. + + + + + Contains the extra data about to be contained in the outgoing cookie. + May be replaced or altered during the ResponseSignIn call. + + + + + Context object passed to the ICookieAuthenticationProvider method ValidateIdentity. + + + + + Creates a new instance of the context object. + + Contains the initial values for identity and extra data + + + + Creates a new instance of the context object. + + + Contains the initial values for identity and extra data + + + + + Called to replace the claims identity. The supplied identity will replace the value of the + Identity property, which determines the identity of the authenticated request. + + The identity used as the replacement + + + + Called to reject the incoming identity. This may be done if the application has determined the + account is no longer active, and the request should be treated as if it was anonymous. + + + + + Contains the claims identity arriving with the request. May be altered to change the + details of the authenticated user. + + + + + Contains the extra metadata arriving with the request ticket. May be altered. + + + + diff --git a/packages/Microsoft.Owin.Security.OAuth.2.1.0/Microsoft.Owin.Security.OAuth.2.1.0.nupkg b/packages/Microsoft.Owin.Security.OAuth.2.1.0/Microsoft.Owin.Security.OAuth.2.1.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..f03a06123d77e9531474b81e3921828a8465b7f1 GIT binary patch literal 41654 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 + + + Microsoft.Owin.Security.OAuth + 2.1.0 + Microsoft.Owin.Security.OAuth + Microsoft + Microsoft + http://www.microsoft.com/web/webpi/eula/aspnetcomponent_rtw_enu.htm + http://katanaproject.codeplex.com/ + true + Middleware that enables an application to support any standard OAuth 2.0 authentication workflow. + Microsoft OWIN Katana + + + + + + + + \ No newline at end of file diff --git a/packages/Microsoft.Owin.Security.OAuth.2.1.0/lib/net45/Microsoft.Owin.Security.OAuth.XML b/packages/Microsoft.Owin.Security.OAuth.2.1.0/lib/net45/Microsoft.Owin.Security.OAuth.XML new file mode 100644 index 0000000..f6d2b19 --- /dev/null +++ b/packages/Microsoft.Owin.Security.OAuth.2.1.0/lib/net45/Microsoft.Owin.Security.OAuth.XML @@ -0,0 +1,1463 @@ + + + + Microsoft.Owin.Security.OAuth + + + + + Data object used by TokenEndpointRequest which contains parameter information when the "grant_type" is unrecognized. + + + + + The parameter information when the "grant_type" is unrecognized. + + + + + Data object used by TokenEndpointRequest when the "grant_type" parameter is "refresh_token". + + + + + The value passed to the Token endpoint in the "refresh_token" parameter + + + + + The value passed to the Token endpoint in the "scope" parameter + + + + + Data object used by TokenEndpointRequest when the "grant_type" is "authorization_code". + + + + + The value passed to the Token endpoint in the "code" parameter + + + + + The value passed to the Token endpoint in the "redirect_uri" parameter. This MUST be provided by the caller + if the original visit to the Authorize endpoint contained a "redirect_uri" parameter. + + + + + Data object representing the information contained in the query string of an Authorize endpoint request. + + + + + Creates a new instance populated with values from the query string parameters. + + Query string parameters from a request. + + + + The "response_type" query string parameter of the Authorize request. Known values are "code" and "token". + + + + + The "client_id" query string parameter of the Authorize request. + + + + + The "redirect_uri" query string parameter of the Authorize request. May be absent if the server should use the + redirect uri known to be registered to the client id. + + + + + The "scope" query string parameter of the Authorize request. May be absent if the server should use default scopes. + + + + + The "scope" query string parameter of the Authorize request. May be absent if the client does not require state to be + included when returning to the RedirectUri. + + + + + True if the "response_type" query string parameter is "code". + See also, http://tools.ietf.org/html/rfc6749#section-4.1.1 + + + + + True if the "response_type" query string parameter is "token". + See also, http://tools.ietf.org/html/rfc6749#section-4.2.1 + + + + + Data object representing the information contained in form encoded body of a Token endpoint request. + + + + + Creates a new instance populated with values from the form encoded body parameters. + + Form encoded body parameters from a request. + + + + The form encoded body parameters of the Token endpoint request + + + + + The "grant_type" parameter of the Token endpoint request. This parameter is required. + + + + + The "client_id" parameter of the Token endpoint request. This parameter is optional. It might not + be present if the request is authenticated in a different way, for example, by using basic authentication + credentials. + + + + + Data object available when the "grant_type" is "authorization_code". + See also http://tools.ietf.org/html/rfc6749#section-4.1.3 + + + + + Data object available when the "grant_type" is "client_credentials". + See also http://tools.ietf.org/html/rfc6749#section-4.4.2 + + + + + Data object available when the "grant_type" is "refresh_token". + See also http://tools.ietf.org/html/rfc6749#section-6 + + + + + Data object available when the "grant_type" is "password". + See also http://tools.ietf.org/html/rfc6749#section-4.3.2 + + + + + Data object available when the "grant_type" is unrecognized. + See also http://tools.ietf.org/html/rfc6749#section-4.5 + + + + + True when the "grant_type" is "authorization_code". + See also http://tools.ietf.org/html/rfc6749#section-4.1.3 + + + + + True when the "grant_type" is "client_credentials". + See also http://tools.ietf.org/html/rfc6749#section-4.4.2 + + + + + True when the "grant_type" is "refresh_token". + See also http://tools.ietf.org/html/rfc6749#section-6 + + + + + True when the "grant_type" is "password". + See also http://tools.ietf.org/html/rfc6749#section-4.3.2 + + + + + True when the "grant_type" is unrecognized. + See also http://tools.ietf.org/html/rfc6749#section-4.5 + + + + + Data object used by TokenEndpointRequest when the "grant_type" is "client_credentials". + + + + + The value passed to the Token endpoint in the "scope" parameter + + + + + Data object used by TokenEndpointRequest when the "grant_type" is "password". + + + + + The value passed to the Token endpoint in the "username" parameter + + + + + The value passed to the Token endpoint in the "password" parameter + + + + + The value passed to the Token endpoint in the "scope" parameter + + + + + Extension methods to add Authorization Server capabilities to an OWIN pipeline + + + + + Adds OAuth2 Authorization Server capabilities to an OWIN web application. This middleware + performs the request processing for the Authorize and Token endpoints defined by the OAuth2 specification. + See also http://tools.ietf.org/html/rfc6749 + + The web application builder + Options which control the behavior of the Authorization Server. + The application builder + + + + Options class provides information needed to control Authorization Server middleware behavior + + + + + Creates an instance of authorization server options with default values. + + + + + The request path where client applications will redirect the user-agent in order to + obtain user consent to issue a token. Must begin with a leading slash, like "/Authorize". + + + + + The request path client applications communicate with directly as part of the OAuth protocol. + Must begin with a leading slash, like "/Token". If the client is issued a client_secret, it must + be provided to this endpoint. + + + + + The object provided by the application to process events raised by the Authorization Server middleware. + The application may implement the interface fully, or it may create an instance of OAuthAuthorizationServerProvider + and assign delegates only to the events it wants to process. + + + + + The data format used to protect and unprotect the information contained in the authorization code. + If not provided by the application the default data protection provider depends on the host server. + The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted + servers will use DPAPI data protection. + + + + + The data format used to protect the information contained in the access token. + If not provided by the application the default data protection provider depends on the host server. + The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted + servers will use DPAPI data protection. If a different access token + provider or format is assigned, a compatible instance must be assigned to the OAuthBearerAuthenticationOptions.AccessTokenProvider + or OAuthBearerAuthenticationOptions.AccessTokenFormat property of the resource server. + + + + + The data format used to protect and unprotect the information contained in the refresh token. + If not provided by the application the default data protection provider depends on the host server. + The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted + servers will use DPAPI data protection. + + + + + The period of time the authorization code remains valid after being issued. The default is five minutes. + This time span must also take into account clock synchronization between servers in a web farm, so a very + brief value could result in unexpectedly expired tokens. + + + + + The period of time the access token remains valid after being issued. The default is twenty minutes. + The client application is expected to refresh or acquire a new access token after the token has expired. + + + + + Produces a single-use authorization code to return to the client application. For the OAuth server to be secure the + application MUST provide an instance for AuthorizationCodeProvider where the token produced by the OnCreate or OnCreateAsync event + is considered valid for only one call to OnReceive or OnReceiveAsync. + + + + + Produces a bearer token the client application will typically be providing to resource server as the authorization bearer + http request header. If not provided the token produced on the server's default data protection. If a different access token + provider or format is assigned, a compatible instance must be assigned to the OAuthBearerAuthenticationOptions.AccessTokenProvider + or OAuthBearerAuthenticationOptions.AccessTokenFormat property of the resource server. + + + + + Produces a refresh token which may be used to produce a new access token when needed. If not provided the authorization server will + not return refresh tokens from the /Token endpoint. + + + + + Set to true if the web application is able to render error messages on the /Authorize endpoint. This is only needed for cases where + the browser is not redirected back to the client application, for example, when the client_id or redirect_uri are incorrect. The + /Authorize endpoint should expect to see "oauth.Error", "oauth.ErrorDescription", "oauth.ErrorUri" properties added to the owin environment. + + + + + Used to know what the current clock time is when calculating or validating token expiration. When not assigned default is based on + DateTimeOffset.UtcNow. This is typically needed only for unit testing. + + + + + True to allow authorize and token requests to arrive on http URI addresses, and to allow incoming + redirect_uri authorize request parameter to have http URI addresses. + + + + + Authorization Server middleware component which is added to an OWIN pipeline. This class is not + created by application code directly, instead it is added by calling the the IAppBuilder UseOAuthAuthorizationServer + extension method. + + + + + Authorization Server middleware component which is added to an OWIN pipeline. This constructor is not + called by application code directly, instead it is added by calling the the IAppBuilder UseOAuthAuthorizationServer + extension method. + + + + + Called by the AuthenticationMiddleware base class to create a per-request handler. + + A new instance of the request handler + + + + Extension methods to add OAuth Bearer authentication capabilities to an OWIN application pipeline + + + + + Adds Bearer token processing to an OWIN application pipeline. This middleware understands appropriately + formatted and secured tokens which appear in the request header. If the Options.AuthenticationMode is Active, the + claims within the bearer token are added to the current request's IPrincipal User. If the Options.AuthenticationMode + is Passive, then the current request is not modified, but IAuthenticationManager AuthenticateAsync may be used at + any time to obtain the claims from the request's bearer token. + See also http://tools.ietf.org/html/rfc6749 + + The web application builder + Options which control the processing of the bearer header. + The application builder + + + + Bearer authentication middleware component which is added to an OWIN pipeline. This class is not + created by application code directly, instead it is added by calling the the IAppBuilder UseOAuthBearerAuthentication + extension method. + + + + + Bearer authentication component which is added to an OWIN pipeline. This constructor is not + called by application code directly, instead it is added by calling the the IAppBuilder UseOAuthBearerAuthentication + extension method. + + + + + Called by the AuthenticationMiddleware base class to create a per-request handler. + + A new instance of the request handler + + + + Options class provides information needed to control Bearer Authentication middleware behavior + + + + + Creates an instance of bearer authentication options with default values. + + + + + Determines what realm value is included when the bearer middleware adds a response header to an unauthorized request. + If not assigned, the response header does not have a realm. + + + + + Specifies the full challenge to send to the client, and should start with "Bearer". If a challenge is provided then the + Realm property is ignored. If no challenge is specified then one is created using "Bearer" and the value of the Realm + property. + + + + + The object provided by the application to process events raised by the bearer authentication middleware. + The application may implement the interface fully, or it may create an instance of OAuthBearerAuthenticationProvider + and assign delegates only to the events it wants to process. + + + + + The data format used to un-protect the information contained in the access token. + If not provided by the application the default data protection provider depends on the host server. + The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted + servers will use DPAPI data protection. If a different access token + provider or format is assigned, a compatible instance must be assigned to the OAuthAuthorizationServerOptions.AccessTokenProvider + and OAuthAuthorizationServerOptions.AccessTokenFormat of the authorization server. + + + + + Receives the bearer token the client application will be providing to web application. If not provided the token + produced on the server's default data protection by using the AccessTokenFormat. If a different access token + provider or format is assigned, a compatible instance must be assigned to the OAuthAuthorizationServerOptions.AccessTokenProvider + and OAuthAuthorizationServerOptions.AccessTokenFormat of the authorization server. + + + + + Used to know what the current clock time is when calculating or validating token expiration. When not assigned default is based on + DateTimeOffset.UtcNow. This is typically needed only for unit testing. + + + + + Default values used by authorization server and bearer authentication. + + + + + Default value for AuthenticationType property in the OAuthBearerAuthenticationOptions and + OAuthAuthorizationServerOptions. + + + + + Base class used for certain event contexts + + + + + Base class used for certain event contexts + + + + + Initializes base class used for certain event contexts + + + + + Marks this context as validated by the application. IsValidated becomes true and HasError becomes false as a result of calling. + + True if the validation has taken effect. + + + + Marks this context as not validated by the application. IsValidated and HasError become false as a result of calling. + + + + + Marks this context as not validated by the application and assigns various error information properties. + HasError becomes true and IsValidated becomes false as a result of calling. + + Assigned to the Error property + + + + Marks this context as not validated by the application and assigns various error information properties. + HasError becomes true and IsValidated becomes false as a result of calling. + + Assigned to the Error property + Assigned to the ErrorDescription property + + + + Marks this context as not validated by the application and assigns various error information properties. + HasError becomes true and IsValidated becomes false as a result of calling. + + Assigned to the Error property + Assigned to the ErrorDescription property + Assigned to the ErrorUri property + + + + True if application code has called any of the Validate methods on this context. + + + + + True if application code has called any of the SetError methods on this context. + + + + + The error argument provided when SetError was called on this context. This is eventually + returned to the client app as the OAuth "error" parameter. + + + + + The optional errorDescription argument provided when SetError was called on this context. This is eventually + returned to the client app as the OAuth "error_description" parameter. + + + + + The optional errorUri argument provided when SetError was called on this context. This is eventually + returned to the client app as the OAuth "error_uri" parameter. + + + + + Initializes base class used for certain event contexts + + + + + The "client_id" parameter for the current request. The Authorization Server application is responsible for + validating this value identifies a registered client. + + + + + Base class used for certain event contexts + + + + + Initializes base class used for certain event contexts + + + + + Replaces the ticket information on this context and marks it as as validated by the application. + IsValidated becomes true and HasError becomes false as a result of calling. + + Assigned to the Ticket property + True if the validation has taken effect. + + + + Alters the ticket information on this context and marks it as as validated by the application. + IsValidated becomes true and HasError becomes false as a result of calling. + + Assigned to the Ticket.Identity property + True if the validation has taken effect. + + + + Contains the identity and properties for the application to authenticate. If the Validated method + is invoked with an AuthenticationTicket or ClaimsIdentity argument, that new value is assigned to + this property in addition to changing IsValidated to true. + + + + + An event raised after the Authorization Server has processed the request, but before it is passed on to the web application. + Calling RequestCompleted will prevent the request from passing on to the web application. + + + + + Creates an instance of this context + + + + + Interface for OAuthAuthorizationServerOptions.Provider property used by Authorization + Server to communicate with the web application while processing requests. + + + + + Called to determine if an incoming request is treated as an Authorize or Token + endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath + are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint + will already be true if the request path matches. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri" + registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this + call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called + with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI. + If context.Validated is not called the request will not proceed further. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are + present on the request. If the web application accepts Basic authentication credentials, + context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web + application accepts "client_id" and "client_secret" as form encoded POST parameters, + context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body. + If context.Validated is not called the request will not proceed further. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called for each request to the Authorize endpoint to determine if the request is valid and should continue. + The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with + validated client redirect URI, should continue processing. An application may add any additional constraints. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called for each request to the Authorize endpoint to determine if the request is valid and should continue. + The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with + validated client credentials, should continue processing. An application may add any additional constraints. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize + endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token". + The claims and properties + associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization + Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different + AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token. + The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to + the access token unmodified. + See also http://tools.ietf.org/html/rfc6749#section-4.1.3 + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token" + along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token". + To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties + associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the + Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may + be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to + the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to + the access token unmodified. + See also http://tools.ietf.org/html/rfc6749#section-6 + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password + credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and + optional "refresh_token". If the web application supports the + resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an + access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated + with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers. . + The default behavior is to reject this grant type. + See also http://tools.ietf.org/html/rfc6749#section-4.3.2 + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client + application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user. + If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call. + To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated + with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers. + The default behavior is to reject this grant type. + See also http://tools.ietf.org/html/rfc6749#section-4.4.2 + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called when a request to the Token andpoint arrives with a "grant_type" of any other value. If the application supports custom grant types + it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket + information the response body is produced in the same way as the other standard grant types. If additional response parameters must be + included they may be added in the final TokenEndpoint call. + See also http://tools.ietf.org/html/rfc6749#section-4.5 + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component + responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the + response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the + Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the + context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes + to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the + appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final + modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional + response parameters to the Token endpoint's json response body. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Default implementation of IOAuthAuthorizationServerProvider used by Authorization + Server to communicate with the web application while processing requests. OAuthAuthorizationServerProvider provides some default behavior, + may be used as a virtual base class, and offers delegate properties which may be used to + handle individual calls without declaring a new class type. + + + + + Creates new instance of default provider behavior + + + + + Called to determine if an incoming request is treated as an Authorize or Token + endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath + are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint + will already be true if the request path matches. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri" + registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this + call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called + with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI. + If context.Validated is not called the request will not proceed further. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are + present on the request. If the web application accepts Basic authentication credentials, + context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web + application accepts "client_id" and "client_secret" as form encoded POST parameters, + context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body. + If context.Validated is not called the request will not proceed further. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called for each request to the Authorize endpoint to determine if the request is valid and should continue. + The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with + validated client redirect URI, should continue processing. An application may add any additional constraints. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called for each request to the Authorize endpoint to determine if the request is valid and should continue. + The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with + validated client credentials, should continue processing. An application may add any additional constraints. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize + endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token". + The claims and properties + associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization + Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different + AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token. + The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to + the access token unmodified. + See also http://tools.ietf.org/html/rfc6749#section-4.1.3 + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token" + along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token". + To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties + associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the + Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may + be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to + the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to + the access token unmodified. + See also http://tools.ietf.org/html/rfc6749#section-6 + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password + credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and + optional "refresh_token". If the web application supports the + resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an + access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated + with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers. + The default behavior is to reject this grant type. + See also http://tools.ietf.org/html/rfc6749#section-4.3.2 + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client + application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user. + If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call. + To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated + with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers. + The default behavior is to reject this grant type. + See also http://tools.ietf.org/html/rfc6749#section-4.4.2 + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called when a request to the Token andpoint arrives with a "grant_type" of any other value. If the application supports custom grant types + it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket + information the response body is produced in the same way as the other standard grant types. If additional response parameters must be + included they may be added in the final TokenEndpoint call. + See also http://tools.ietf.org/html/rfc6749#section-4.5 + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component + responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the + response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the + Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the + context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes + to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the + appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final + modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional + response parameters to the Token endpoint's json response body. + + The context of the event carries information in and results out. + Task to enable asynchronous execution + + + + Called to determine if an incoming request is treated as an Authorize or Token + endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath + are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint + will already be true if the request path matches. + + + + + Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri" + registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this + call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called + with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI. + If context.Validated is not called the request will not proceed further. + + + + + Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are + present on the request. If the web application accepts Basic authentication credentials, + context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web + application accepts "client_id" and "client_secret" as form encoded POST parameters, + context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body. + If context.Validated is not called the request will not proceed further. + + + + + Called for each request to the Authorize endpoint to determine if the request is valid and should continue. + The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with + validated client redirect URI, should continue processing. An application may add any additional constraints. + + + + + Called for each request to the Authorize endpoint to determine if the request is valid and should continue. + The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with + validated client credentials, should continue processing. An application may add any additional constraints. + + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize + endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token". + The claims and properties + associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization + Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different + AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token. + The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to + the access token unmodified. + See also http://tools.ietf.org/html/rfc6749#section-4.1.3 + + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password + credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and + optional "refresh_token". If the web application supports the + resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an + access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated + with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers. + The default behavior is to reject this grant type. + See also http://tools.ietf.org/html/rfc6749#section-4.3.2 + + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client + application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user. + If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call. + To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated + with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers. + The default behavior is to reject this grant type. + See also http://tools.ietf.org/html/rfc6749#section-4.4.2 + + + + + Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token" + along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token". + To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties + associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the + Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may + be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to + the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to + the access token unmodified. + See also http://tools.ietf.org/html/rfc6749#section-6 + + + + + Called when a request to the Token andpoint arrives with a "grant_type" of any other value. If the application supports custom grant types + it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket + information the response body is produced in the same way as the other standard grant types. If additional response parameters must be + included they may be added in the final TokenEndpoint call. + See also http://tools.ietf.org/html/rfc6749#section-4.5 + + + + + Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component + responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the + response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the + Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the + context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes + to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the + appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing. + + + + + Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final + modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional + response parameters to the Token endpoint's json response body. + + + + + OAuth bearer token middleware provider + + + + + Specifies callback methods which the invokes to enable developer control over the authentication process. /> + + + + + Invoked before the is created. Gives the application an + opportunity to find the identity from a different location, adjust, or reject the token. + + Contains the token string. + A representing the completed operation. + + + + Called each time a request identity has been validated by the middleware. By implementing this method the + application may alter or reject the identity which has arrived with the request. + + Contains information about the login session as well as the user . + A representing the completed operation. + + + + Called each time a challenge is being sent to the client. By implementing this method the application + may modify the challenge as needed. + + Contains the default challenge. + A representing the completed operation. + + + + Initializes a new instance of the class + + + + + Handles processing OAuth bearer token. + + + + + + + Handles validating the identity produced from an OAuth bearer token. + + + + + + + Handles applying the authentication challenge to the response message. + + + + + + + Handles processing OAuth bearer token. + + + + + Handles validating the identity produced from an OAuth bearer token. + + + + + Handles applying the authentication challenge to the response message. + + + + + Specifies the HTTP response header for the bearer authentication scheme. + + + + + Initializes a new + + OWIN environment + The www-authenticate header value. + + + + The www-authenticate header value. + + + + + Provides context information when handling an OAuth authorization code grant. + + + + + Initializes a new instance of the class + + + + + + + + Provides context information used when granting an OAuth refresh token. + + + + + Initializes a new instance of the class + + + + + + + + + The OAuth client id. + + + + + Specifies the HTTP request header for the bearer authentication scheme. + + + + + Initializes a new + + OWIN environment + The authorization header value. + + + + The authorization header value + + + + + Contains information about the client credentials. + + + + + Initializes a new instance of the class + + + + + + + + Sets the client id and marks the context as validated by the application. + + + + + + + Extracts HTTP basic authentication credentials from the HTTP authenticate header. + + + + + + + + Extracts forms authentication credentials from the HTTP request body. + + + + + + + + Gets the set of form parameters from the request. + + + + + Provides context information used when determining the OAuth flow type based on the request. + + + + + Initializes a new instance of the class + + + + + + + Sets the endpoint type to authorize endpoint. + + + + + Sets the endpoint type to token endpoint. + + + + + Sets the endpoint type to neither authorize nor token. + + + + + Gets whether or not the endpoint is an OAuth authorize endpoint. + + + + + Gets whether or not the endpoint is an OAuth token endpoint. + + + + + Provides context information used when processing an OAuth token request. + + + + + Initializes a new instance of the class + + + + + + + + + Issues the token. + + + + + + + Gets the identity of the resource owner. + + + + + Dictionary containing the state of the authentication session. + + + + + Gets information about the token endpoint request. + + + + + Gets whether or not the token should be issued. + + + + + Enables additional values to be appended to the token response. + + + + + Provides context information used in handling an OAuth client credentials grant. + + + + + Initializes a new instance of the class + + + + + + + + + OAuth client id. + + + + + List of scopes allowed by the resource owner. + + + + + Provides context information used when handling OAuth extension grant types. + + + + + Initializes a new instance of the class + + + + + + + + + + Gets the OAuth client id. + + + + + Gets the name of the OAuth extension grant type. + + + + + Gets a list of additional parameters from the token request. + + + + + Provides context information used in validating an OAuth authorization request. + + + + + Initializes a new instance of the class + + + + + + + + + Gets OAuth authorization request data. + + + + + Gets data about the OAuth client. + + + + + Contains data about the OAuth client redirect URI + + + + + Initializes a new instance of the class + + + + + + + + + Marks this context as validated by the application. IsValidated becomes true and HasError becomes false as a result of calling. + + + + + + Checks the redirect URI to determine whether it equals . + + + + + + + Gets the client redirect URI + + + + + Contains the authentication ticket data from an OAuth bearer token. + + + + + Initializes a new instance of the class + + + + + + + + Provides context information used in handling an OAuth resource owner grant. + + + + + Initializes a new instance of the class + + + + + + + + + + + OAuth client id. + + + + + Resource owner username. + + + + + Resource owner password. + + + + + List of scopes allowed by the resource owner. + + + + + Provides context information used in validating an OAuth token request. + + + + + Initializes a new instance of the class + + + + + + + + + Gets the token request data. + + + + + Gets information about the client. + + + + diff --git a/packages/Microsoft.Owin.Security.OAuth.2.1.0/lib/net45/Microsoft.Owin.Security.OAuth.dll b/packages/Microsoft.Owin.Security.OAuth.2.1.0/lib/net45/Microsoft.Owin.Security.OAuth.dll new file mode 100644 index 0000000000000000000000000000000000000000..2b1d0f6596f29aa191e08db7851452ecf7cbbac9 GIT binary patch literal 71856 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 literal 0 HcmV?d00001 From 5842e35d667647e0d99235462d19d68631faf6ac Mon Sep 17 00:00:00 2001 From: Milad Karbasizadeh Date: Fri, 28 Mar 2014 10:46:03 +0430 Subject: [PATCH 2/2] packages updated for good --- .../Sevomin.WebFrontend.Controllers.csproj | 25 +- .../packages.config | 10 +- .../Content/bootstrap-theme.css | 282 +- .../Content/bootstrap-theme.css.map | 1 + .../Content/bootstrap-theme.min.css | 8 +- Sevomin.WebFrontend/Content/bootstrap.css | 3921 ++---- Sevomin.WebFrontend/Content/bootstrap.css.map | 1 + Sevomin.WebFrontend/Content/bootstrap.min.css | 8 +- Sevomin.WebFrontend/Scripts/bootstrap.js | 517 +- Sevomin.WebFrontend/Scripts/bootstrap.min.js | 9 +- .../Scripts/jquery-1.10.2.min.js | 23 - .../Scripts/jquery-1.10.2.min.map | 1 - .../Scripts/jquery-2.1.0-vsdoc.js | 6632 ++++++++++ .../{jquery-1.10.2.js => jquery-2.1.0.js} | 10066 +++++++--------- .../Scripts/jquery-2.1.0.min.js | 4 + .../Scripts/jquery-2.1.0.min.map | 1 + .../Scripts/jquery.validate.unobtrusive.js | 722 +- .../jquery.validate.unobtrusive.min.js | 28 +- .../Sevomin.WebFrontend.csproj | 62 +- Sevomin.WebFrontend/Web.config | 59 +- .../fonts/glyphicons-halflings-regular.eot | Bin 20290 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 94 +- .../fonts/glyphicons-halflings-regular.ttf | Bin 41236 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23292 -> 23320 bytes Sevomin.WebFrontend/packages.config | 14 +- ...Microsoft.AspNet.Identity.Owin.1.0.0.nupkg | Bin 16384 -> 0 bytes ...icrosoft.AspNet.Identity.Owin.1.0.0.nuspec | 24 - .../net45/Microsoft.AspNet.Identity.Owin.dll | Bin 21152 -> 0 bytes .../net45/Microsoft.AspNet.Identity.Owin.xml | 198 - .../Microsoft.AspNet.Mvc.5.0.0.nupkg | Bin 282119 -> 0 bytes .../lib/net45/System.Web.Mvc.dll | Bin 538320 -> 0 bytes .../Content/Web.config.install.xdt | 34 + .../Content/Web.config.uninstall.xdt | 10 + .../Microsoft.AspNet.Mvc.5.1.1.nupkg | Bin 0 -> 290278 bytes .../Microsoft.AspNet.Mvc.5.1.1.nuspec} | 7 +- .../lib/net45/System.Web.Mvc.dll | Bin 0 -> 554704 bytes .../lib/net45/System.Web.Mvc.xml | 451 +- .../Microsoft.AspNet.Razor.3.0.0.nupkg | Bin 148786 -> 0 bytes .../Microsoft.AspNet.Razor.3.1.1.nupkg | Bin 0 -> 148904 bytes .../Microsoft.AspNet.Razor.3.1.1.nuspec} | 3 +- .../lib/net45/System.Web.Razor.dll | Bin 271056 -> 271056 bytes .../lib/net45/System.Web.Razor.xml | 0 .../Microsoft.AspNet.WebPages.3.0.0.nupkg | Bin 224858 -> 0 bytes .../lib/net45/System.Web.Helpers.dll | Bin 139472 -> 0 bytes .../lib/net45/System.Web.Helpers.xml | 836 -- .../net45/System.Web.WebPages.Deployment.dll | Bin 41680 -> 0 bytes .../net45/System.Web.WebPages.Deployment.xml | 60 - .../lib/net45/System.Web.WebPages.Razor.dll | Bin 39632 -> 0 bytes .../lib/net45/System.Web.WebPages.Razor.xml | 292 - .../lib/net45/System.Web.WebPages.dll | Bin 207568 -> 0 bytes .../lib/net45/System.Web.WebPages.xml | 2688 ----- .../Content/Web.config.install.xdt | 41 + .../Content/Web.config.uninstall.xdt | 13 + .../Microsoft.AspNet.WebPages.3.1.1.nupkg | Bin 0 -> 214845 bytes .../Microsoft.AspNet.WebPages.3.1.1.nuspec} | 5 +- .../lib/net45/System.Web.Helpers.dll | Bin 0 -> 139984 bytes .../lib/net45/System.Web.Helpers.xml | 587 + .../net45/System.Web.WebPages.Deployment.dll | Bin 0 -> 41680 bytes .../net45/System.Web.WebPages.Deployment.xml | 231 + .../lib/net45/System.Web.WebPages.Razor.dll | Bin 0 -> 39632 bytes .../lib/net45/System.Web.WebPages.Razor.xml | 111 + .../lib/net45/System.Web.WebPages.dll | Bin 0 -> 211664 bytes .../lib/net45/System.Web.WebPages.xml | 1039 ++ .../Microsoft.Owin.Security.2.0.2.nupkg | Bin 31490 -> 0 bytes .../Microsoft.Owin.Security.2.0.2.nuspec | 19 - .../lib/net45/Microsoft.Owin.Security.XML | 435 - .../lib/net45/Microsoft.Owin.Security.dll | Bin 50352 -> 0 bytes ...icrosoft.Owin.Security.Cookies.2.0.2.nupkg | Bin 22039 -> 0 bytes ...crosoft.Owin.Security.Cookies.2.0.2.nuspec | 20 - .../net45/Microsoft.Owin.Security.Cookies.dll | Bin 29872 -> 0 bytes .../net45/Microsoft.Owin.Security.Cookies.xml | 356 - .../Microsoft.Owin.Security.OAuth.2.0.2.nupkg | Bin 39564 -> 0 bytes ...Microsoft.Owin.Security.OAuth.2.0.2.nuspec | 21 - .../net45/Microsoft.Owin.Security.OAuth.XML | 1046 -- .../net45/Microsoft.Owin.Security.OAuth.dll | Bin 70832 -> 0 bytes .../Scripts/jquery.validate.unobtrusive.js | 344 - ....jQuery.Unobtrusive.Validation.3.0.0.nupkg | Bin 9551 -> 0 bytes .../Scripts/jquery.validate.unobtrusive.js | 394 + .../jquery.validate.unobtrusive.min.js | 28 +- ....jQuery.Unobtrusive.Validation.3.1.1.nupkg | Bin 0 -> 9891 bytes ...Query.Unobtrusive.Validation.3.1.1.nuspec} | 4 +- .../Newtonsoft.Json.4.5.11.nupkg | Bin 1409718 -> 0 bytes .../lib/net20/Newtonsoft.Json.dll | Bin 406016 -> 0 bytes .../lib/net35/Newtonsoft.Json.dll | Bin 366592 -> 0 bytes .../lib/net40/Newtonsoft.Json.dll | Bin 391680 -> 0 bytes .../Newtonsoft.Json.dll | Bin 315904 -> 0 bytes .../Newtonsoft.Json.xml | 7091 ----------- .../lib/sl3-wp/Newtonsoft.Json.dll | Bin 334336 -> 0 bytes .../lib/sl3-wp/Newtonsoft.Json.xml | 7212 ----------- .../sl4-windowsphone71/Newtonsoft.Json.dll | Bin 334336 -> 0 bytes .../sl4-windowsphone71/Newtonsoft.Json.xml | 7212 ----------- .../lib/sl4/Newtonsoft.Json.dll | Bin 337408 -> 0 bytes .../lib/winrt45/Newtonsoft.Json.dll | Bin 367616 -> 0 bytes .../Newtonsoft.Json.6.0.1.nupkg | Bin 0 -> 1484411 bytes .../Newtonsoft.Json.6.0.1.nuspec} | 6 +- .../lib/net20/Newtonsoft.Json.dll | Bin 0 -> 488448 bytes .../lib/net20/Newtonsoft.Json.xml | 744 +- .../lib/net35/Newtonsoft.Json.dll | Bin 0 -> 425472 bytes .../lib/net35}/Newtonsoft.Json.xml | 1200 +- .../lib/net40/Newtonsoft.Json.dll | Bin 0 -> 481792 bytes .../lib/net40/Newtonsoft.Json.xml | 8472 +++++++++++++ .../lib/net45/Newtonsoft.Json.dll | Bin 0 -> 491008 bytes .../lib/net45/Newtonsoft.Json.xml | 8472 +++++++++++++ .../lib/netcore45/Newtonsoft.Json.dll | Bin 0 -> 440320 bytes .../lib/netcore45}/Newtonsoft.Json.xml | 2719 +++-- .../Newtonsoft.Json.dll | Bin 0 -> 374784 bytes .../Newtonsoft.Json.xml | 1013 +- .../Newtonsoft.Json.dll | Bin 0 -> 431616 bytes .../Newtonsoft.Json.xml | 6681 +++++----- .../Newtonsoft.Json.6.0.1/tools/install.ps1 | 93 + .../bootstrap.3.0.3/bootstrap.3.0.3.nupkg | Bin 144497 -> 0 bytes .../content/Content/bootstrap-theme.min.css | 7 - .../content/Content/bootstrap.min.css | 7 - .../content/Scripts/bootstrap.min.js | 7 - .../fonts/glyphicons-halflings-regular.eot | Bin 20290 -> 0 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 23292 -> 0 bytes .../bootstrap.3.1.1/bootstrap.3.1.1.nupkg | Bin 0 -> 208481 bytes .../bootstrap.3.1.1.nuspec} | 4 +- .../content/Content/bootstrap-theme.css | 282 +- .../content/Content/bootstrap-theme.css.map | 1 + .../content/Content/bootstrap-theme.min.css | 7 + .../content/Content/bootstrap.css | 3921 ++---- .../content/Content/bootstrap.css.map | 1 + .../content/Content/bootstrap.min.css | 7 + .../content/Scripts/bootstrap.js | 517 +- .../content/Scripts/bootstrap.min.js | 6 + .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 94 +- .../fonts/glyphicons-halflings-regular.ttf | Bin 41236 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes .../Content/Scripts/jquery-1.10.2-vsdoc.js | 6748 ----------- .../Content/Scripts/jquery-1.10.2.min.js | 23 - .../Content/Scripts/jquery-1.10.2.min.map | 1 - packages/jQuery.1.10.2/jQuery.1.10.2.nupkg | Bin 240370 -> 0 bytes .../Content/Scripts/jquery-2.1.0-vsdoc.js | 6632 ++++++++++ .../Content/Scripts/jquery-2.1.0.js} | 10066 +++++++--------- .../Content/Scripts/jquery-2.1.0.min.js | 4 + .../Content/Scripts/jquery-2.1.0.min.map | 1 + .../Tools/common.ps1 | 0 .../Tools/install.ps1 | 0 .../Tools/jquery-2.1.0.intellisense.js} | 149 +- .../Tools/uninstall.ps1 | 0 packages/jQuery.2.1.0/jQuery.2.1.0.nupkg | Bin 0 -> 222614 bytes .../jQuery.2.1.0.nuspec} | 6 +- 144 files changed, 53778 insertions(+), 57413 deletions(-) create mode 100644 Sevomin.WebFrontend/Content/bootstrap-theme.css.map create mode 100644 Sevomin.WebFrontend/Content/bootstrap.css.map delete mode 100644 Sevomin.WebFrontend/Scripts/jquery-1.10.2.min.js delete mode 100644 Sevomin.WebFrontend/Scripts/jquery-1.10.2.min.map create mode 100644 Sevomin.WebFrontend/Scripts/jquery-2.1.0-vsdoc.js rename Sevomin.WebFrontend/Scripts/{jquery-1.10.2.js => jquery-2.1.0.js} (69%) create mode 100644 Sevomin.WebFrontend/Scripts/jquery-2.1.0.min.js create mode 100644 Sevomin.WebFrontend/Scripts/jquery-2.1.0.min.map delete mode 100644 packages/Microsoft.AspNet.Identity.Owin.1.0.0/Microsoft.AspNet.Identity.Owin.1.0.0.nupkg delete mode 100644 packages/Microsoft.AspNet.Identity.Owin.1.0.0/Microsoft.AspNet.Identity.Owin.1.0.0.nuspec delete mode 100644 packages/Microsoft.AspNet.Identity.Owin.1.0.0/lib/net45/Microsoft.AspNet.Identity.Owin.dll delete mode 100644 packages/Microsoft.AspNet.Identity.Owin.1.0.0/lib/net45/Microsoft.AspNet.Identity.Owin.xml delete mode 100644 packages/Microsoft.AspNet.Mvc.5.0.0/Microsoft.AspNet.Mvc.5.0.0.nupkg delete mode 100644 packages/Microsoft.AspNet.Mvc.5.0.0/lib/net45/System.Web.Mvc.dll create mode 100644 packages/Microsoft.AspNet.Mvc.5.1.1/Content/Web.config.install.xdt create mode 100644 packages/Microsoft.AspNet.Mvc.5.1.1/Content/Web.config.uninstall.xdt create mode 100644 packages/Microsoft.AspNet.Mvc.5.1.1/Microsoft.AspNet.Mvc.5.1.1.nupkg rename packages/{Microsoft.AspNet.Mvc.5.0.0/Microsoft.AspNet.Mvc.5.0.0.nuspec => Microsoft.AspNet.Mvc.5.1.1/Microsoft.AspNet.Mvc.5.1.1.nuspec} (76%) create mode 100644 packages/Microsoft.AspNet.Mvc.5.1.1/lib/net45/System.Web.Mvc.dll rename packages/{Microsoft.AspNet.Mvc.5.0.0 => Microsoft.AspNet.Mvc.5.1.1}/lib/net45/System.Web.Mvc.xml (96%) delete mode 100644 packages/Microsoft.AspNet.Razor.3.0.0/Microsoft.AspNet.Razor.3.0.0.nupkg create mode 100644 packages/Microsoft.AspNet.Razor.3.1.1/Microsoft.AspNet.Razor.3.1.1.nupkg rename packages/{Microsoft.AspNet.Razor.3.0.0/Microsoft.AspNet.Razor.3.0.0.nuspec => Microsoft.AspNet.Razor.3.1.1/Microsoft.AspNet.Razor.3.1.1.nuspec} (86%) rename packages/{Microsoft.AspNet.Razor.3.0.0 => Microsoft.AspNet.Razor.3.1.1}/lib/net45/System.Web.Razor.dll (57%) rename packages/{Microsoft.AspNet.Razor.3.0.0 => Microsoft.AspNet.Razor.3.1.1}/lib/net45/System.Web.Razor.xml (100%) delete mode 100644 packages/Microsoft.AspNet.WebPages.3.0.0/Microsoft.AspNet.WebPages.3.0.0.nupkg delete mode 100644 packages/Microsoft.AspNet.WebPages.3.0.0/lib/net45/System.Web.Helpers.dll delete mode 100644 packages/Microsoft.AspNet.WebPages.3.0.0/lib/net45/System.Web.Helpers.xml delete mode 100644 packages/Microsoft.AspNet.WebPages.3.0.0/lib/net45/System.Web.WebPages.Deployment.dll delete mode 100644 packages/Microsoft.AspNet.WebPages.3.0.0/lib/net45/System.Web.WebPages.Deployment.xml delete mode 100644 packages/Microsoft.AspNet.WebPages.3.0.0/lib/net45/System.Web.WebPages.Razor.dll delete mode 100644 packages/Microsoft.AspNet.WebPages.3.0.0/lib/net45/System.Web.WebPages.Razor.xml delete mode 100644 packages/Microsoft.AspNet.WebPages.3.0.0/lib/net45/System.Web.WebPages.dll delete mode 100644 packages/Microsoft.AspNet.WebPages.3.0.0/lib/net45/System.Web.WebPages.xml create mode 100644 packages/Microsoft.AspNet.WebPages.3.1.1/Content/Web.config.install.xdt create mode 100644 packages/Microsoft.AspNet.WebPages.3.1.1/Content/Web.config.uninstall.xdt create mode 100644 packages/Microsoft.AspNet.WebPages.3.1.1/Microsoft.AspNet.WebPages.3.1.1.nupkg rename packages/{Microsoft.AspNet.WebPages.3.0.0/Microsoft.AspNet.WebPages.3.0.0.nuspec => Microsoft.AspNet.WebPages.3.1.1/Microsoft.AspNet.WebPages.3.1.1.nuspec} (81%) create mode 100644 packages/Microsoft.AspNet.WebPages.3.1.1/lib/net45/System.Web.Helpers.dll create mode 100644 packages/Microsoft.AspNet.WebPages.3.1.1/lib/net45/System.Web.Helpers.xml create mode 100644 packages/Microsoft.AspNet.WebPages.3.1.1/lib/net45/System.Web.WebPages.Deployment.dll create mode 100644 packages/Microsoft.AspNet.WebPages.3.1.1/lib/net45/System.Web.WebPages.Deployment.xml create mode 100644 packages/Microsoft.AspNet.WebPages.3.1.1/lib/net45/System.Web.WebPages.Razor.dll create mode 100644 packages/Microsoft.AspNet.WebPages.3.1.1/lib/net45/System.Web.WebPages.Razor.xml create mode 100644 packages/Microsoft.AspNet.WebPages.3.1.1/lib/net45/System.Web.WebPages.dll create mode 100644 packages/Microsoft.AspNet.WebPages.3.1.1/lib/net45/System.Web.WebPages.xml delete mode 100644 packages/Microsoft.Owin.Security.2.0.2/Microsoft.Owin.Security.2.0.2.nupkg delete mode 100644 packages/Microsoft.Owin.Security.2.0.2/Microsoft.Owin.Security.2.0.2.nuspec delete mode 100644 packages/Microsoft.Owin.Security.2.0.2/lib/net45/Microsoft.Owin.Security.XML delete mode 100644 packages/Microsoft.Owin.Security.2.0.2/lib/net45/Microsoft.Owin.Security.dll delete mode 100644 packages/Microsoft.Owin.Security.Cookies.2.0.2/Microsoft.Owin.Security.Cookies.2.0.2.nupkg delete mode 100644 packages/Microsoft.Owin.Security.Cookies.2.0.2/Microsoft.Owin.Security.Cookies.2.0.2.nuspec delete mode 100644 packages/Microsoft.Owin.Security.Cookies.2.0.2/lib/net45/Microsoft.Owin.Security.Cookies.dll delete mode 100644 packages/Microsoft.Owin.Security.Cookies.2.0.2/lib/net45/Microsoft.Owin.Security.Cookies.xml delete mode 100644 packages/Microsoft.Owin.Security.OAuth.2.0.2/Microsoft.Owin.Security.OAuth.2.0.2.nupkg delete mode 100644 packages/Microsoft.Owin.Security.OAuth.2.0.2/Microsoft.Owin.Security.OAuth.2.0.2.nuspec delete mode 100644 packages/Microsoft.Owin.Security.OAuth.2.0.2/lib/net45/Microsoft.Owin.Security.OAuth.XML delete mode 100644 packages/Microsoft.Owin.Security.OAuth.2.0.2/lib/net45/Microsoft.Owin.Security.OAuth.dll delete mode 100644 packages/Microsoft.jQuery.Unobtrusive.Validation.3.0.0/Content/Scripts/jquery.validate.unobtrusive.js delete mode 100644 packages/Microsoft.jQuery.Unobtrusive.Validation.3.0.0/Microsoft.jQuery.Unobtrusive.Validation.3.0.0.nupkg create mode 100644 packages/Microsoft.jQuery.Unobtrusive.Validation.3.1.1/Content/Scripts/jquery.validate.unobtrusive.js rename packages/{Microsoft.jQuery.Unobtrusive.Validation.3.0.0 => Microsoft.jQuery.Unobtrusive.Validation.3.1.1}/Content/Scripts/jquery.validate.unobtrusive.min.js (69%) create mode 100644 packages/Microsoft.jQuery.Unobtrusive.Validation.3.1.1/Microsoft.jQuery.Unobtrusive.Validation.3.1.1.nupkg rename packages/{Microsoft.jQuery.Unobtrusive.Validation.3.0.0/Microsoft.jQuery.Unobtrusive.Validation.3.0.0.nuspec => Microsoft.jQuery.Unobtrusive.Validation.3.1.1/Microsoft.jQuery.Unobtrusive.Validation.3.1.1.nuspec} (79%) delete mode 100644 packages/Newtonsoft.Json.4.5.11/Newtonsoft.Json.4.5.11.nupkg delete mode 100644 packages/Newtonsoft.Json.4.5.11/lib/net20/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.4.5.11/lib/net35/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.4.5.11/lib/net40/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.4.5.11/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.4.5.11/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.xml delete mode 100644 packages/Newtonsoft.Json.4.5.11/lib/sl3-wp/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.4.5.11/lib/sl3-wp/Newtonsoft.Json.xml delete mode 100644 packages/Newtonsoft.Json.4.5.11/lib/sl4-windowsphone71/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.4.5.11/lib/sl4-windowsphone71/Newtonsoft.Json.xml delete mode 100644 packages/Newtonsoft.Json.4.5.11/lib/sl4/Newtonsoft.Json.dll delete mode 100644 packages/Newtonsoft.Json.4.5.11/lib/winrt45/Newtonsoft.Json.dll create mode 100644 packages/Newtonsoft.Json.6.0.1/Newtonsoft.Json.6.0.1.nupkg rename packages/{Newtonsoft.Json.4.5.11/Newtonsoft.Json.4.5.11.nuspec => Newtonsoft.Json.6.0.1/Newtonsoft.Json.6.0.1.nuspec} (70%) create mode 100644 packages/Newtonsoft.Json.6.0.1/lib/net20/Newtonsoft.Json.dll rename packages/{Newtonsoft.Json.4.5.11 => Newtonsoft.Json.6.0.1}/lib/net20/Newtonsoft.Json.xml (92%) create mode 100644 packages/Newtonsoft.Json.6.0.1/lib/net35/Newtonsoft.Json.dll rename packages/{Newtonsoft.Json.4.5.11/lib/net40 => Newtonsoft.Json.6.0.1/lib/net35}/Newtonsoft.Json.xml (92%) create mode 100644 packages/Newtonsoft.Json.6.0.1/lib/net40/Newtonsoft.Json.dll create mode 100644 packages/Newtonsoft.Json.6.0.1/lib/net40/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.6.0.1/lib/net45/Newtonsoft.Json.dll create mode 100644 packages/Newtonsoft.Json.6.0.1/lib/net45/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.6.0.1/lib/netcore45/Newtonsoft.Json.dll rename packages/{Newtonsoft.Json.4.5.11/lib/sl4 => Newtonsoft.Json.6.0.1/lib/netcore45}/Newtonsoft.Json.xml (88%) create mode 100644 packages/Newtonsoft.Json.6.0.1/lib/portable-net40+sl5+wp80+win8+monotouch+monoandroid/Newtonsoft.Json.dll rename packages/{Newtonsoft.Json.4.5.11/lib/winrt45 => Newtonsoft.Json.6.0.1/lib/portable-net40+sl5+wp80+win8+monotouch+monoandroid}/Newtonsoft.Json.xml (92%) create mode 100644 packages/Newtonsoft.Json.6.0.1/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll rename packages/{Newtonsoft.Json.4.5.11/lib/net35 => Newtonsoft.Json.6.0.1/lib/portable-net45+wp80+win8}/Newtonsoft.Json.xml (88%) create mode 100644 packages/Newtonsoft.Json.6.0.1/tools/install.ps1 delete mode 100644 packages/bootstrap.3.0.3/bootstrap.3.0.3.nupkg delete mode 100644 packages/bootstrap.3.0.3/content/Content/bootstrap-theme.min.css delete mode 100644 packages/bootstrap.3.0.3/content/Content/bootstrap.min.css delete mode 100644 packages/bootstrap.3.0.3/content/Scripts/bootstrap.min.js delete mode 100644 packages/bootstrap.3.0.3/content/fonts/glyphicons-halflings-regular.eot delete mode 100644 packages/bootstrap.3.0.3/content/fonts/glyphicons-halflings-regular.woff create mode 100644 packages/bootstrap.3.1.1/bootstrap.3.1.1.nupkg rename packages/{bootstrap.3.0.3/bootstrap.3.0.3.nuspec => bootstrap.3.1.1/bootstrap.3.1.1.nuspec} (86%) rename packages/{bootstrap.3.0.3 => bootstrap.3.1.1}/content/Content/bootstrap-theme.css (66%) create mode 100644 packages/bootstrap.3.1.1/content/Content/bootstrap-theme.css.map create mode 100644 packages/bootstrap.3.1.1/content/Content/bootstrap-theme.min.css rename packages/{bootstrap.3.0.3 => bootstrap.3.1.1}/content/Content/bootstrap.css (73%) create mode 100644 packages/bootstrap.3.1.1/content/Content/bootstrap.css.map create mode 100644 packages/bootstrap.3.1.1/content/Content/bootstrap.min.css rename packages/{bootstrap.3.0.3 => bootstrap.3.1.1}/content/Scripts/bootstrap.js (79%) create mode 100644 packages/bootstrap.3.1.1/content/Scripts/bootstrap.min.js create mode 100644 packages/bootstrap.3.1.1/content/fonts/glyphicons-halflings-regular.eot rename packages/{bootstrap.3.0.3 => bootstrap.3.1.1}/content/fonts/glyphicons-halflings-regular.svg (81%) rename packages/{bootstrap.3.0.3 => bootstrap.3.1.1}/content/fonts/glyphicons-halflings-regular.ttf (68%) create mode 100644 packages/bootstrap.3.1.1/content/fonts/glyphicons-halflings-regular.woff delete mode 100644 packages/jQuery.1.10.2/Content/Scripts/jquery-1.10.2-vsdoc.js delete mode 100644 packages/jQuery.1.10.2/Content/Scripts/jquery-1.10.2.min.js delete mode 100644 packages/jQuery.1.10.2/Content/Scripts/jquery-1.10.2.min.map delete mode 100644 packages/jQuery.1.10.2/jQuery.1.10.2.nupkg create mode 100644 packages/jQuery.2.1.0/Content/Scripts/jquery-2.1.0-vsdoc.js rename packages/{jQuery.1.10.2/Content/Scripts/jquery-1.10.2.js => jQuery.2.1.0/Content/Scripts/jquery-2.1.0.js} (69%) create mode 100644 packages/jQuery.2.1.0/Content/Scripts/jquery-2.1.0.min.js create mode 100644 packages/jQuery.2.1.0/Content/Scripts/jquery-2.1.0.min.map rename packages/{jQuery.1.10.2 => jQuery.2.1.0}/Tools/common.ps1 (100%) rename packages/{jQuery.1.10.2 => jQuery.2.1.0}/Tools/install.ps1 (100%) rename packages/{jQuery.1.10.2/Tools/jquery-1.10.2.intellisense.js => jQuery.2.1.0/Tools/jquery-2.1.0.intellisense.js} (95%) rename packages/{jQuery.1.10.2 => jQuery.2.1.0}/Tools/uninstall.ps1 (100%) create mode 100644 packages/jQuery.2.1.0/jQuery.2.1.0.nupkg rename packages/{jQuery.1.10.2/jQuery.1.10.2.nuspec => jQuery.2.1.0/jQuery.2.1.0.nuspec} (86%) diff --git a/Sevomin.WebFrontend.Controllers/Sevomin.WebFrontend.Controllers.csproj b/Sevomin.WebFrontend.Controllers/Sevomin.WebFrontend.Controllers.csproj index ae6332f..aa5f2d8 100644 --- a/Sevomin.WebFrontend.Controllers/Sevomin.WebFrontend.Controllers.csproj +++ b/Sevomin.WebFrontend.Controllers/Sevomin.WebFrontend.Controllers.csproj @@ -43,8 +43,9 @@ ..\packages\Microsoft.AspNet.Identity.EntityFramework.2.0.0\lib\net45\Microsoft.AspNet.Identity.EntityFramework.dll - - ..\packages\Microsoft.AspNet.Identity.Owin.1.0.0\lib\net45\Microsoft.AspNet.Identity.Owin.dll + + False + ..\packages\Microsoft.AspNet.Identity.Owin.2.0.0\lib\net45\Microsoft.AspNet.Identity.Owin.dll False @@ -53,17 +54,21 @@ ..\packages\Microsoft.Owin.Host.SystemWeb.2.1.0\lib\net45\Microsoft.Owin.Host.SystemWeb.dll - - ..\packages\Microsoft.Owin.Security.2.0.2\lib\net45\Microsoft.Owin.Security.dll + + False + ..\packages\Microsoft.Owin.Security.2.1.0\lib\net45\Microsoft.Owin.Security.dll - - ..\packages\Microsoft.Owin.Security.Cookies.2.0.2\lib\net45\Microsoft.Owin.Security.Cookies.dll + + False + ..\packages\Microsoft.Owin.Security.Cookies.2.1.0\lib\net45\Microsoft.Owin.Security.Cookies.dll - - ..\packages\Microsoft.Owin.Security.OAuth.2.0.2\lib\net45\Microsoft.Owin.Security.OAuth.dll + + False + ..\packages\Microsoft.Owin.Security.OAuth.2.1.0\lib\net45\Microsoft.Owin.Security.OAuth.dll - - ..\packages\Newtonsoft.Json.4.5.11\lib\net40\Newtonsoft.Json.dll + + False + ..\packages\Newtonsoft.Json.6.0.1\lib\net45\Newtonsoft.Json.dll ..\packages\Owin.1.0\lib\net40\Owin.dll diff --git a/Sevomin.WebFrontend.Controllers/packages.config b/Sevomin.WebFrontend.Controllers/packages.config index 1a810c4..63b60f7 100644 --- a/Sevomin.WebFrontend.Controllers/packages.config +++ b/Sevomin.WebFrontend.Controllers/packages.config @@ -3,12 +3,12 @@ - + - - - - + + + + \ No newline at end of file diff --git a/Sevomin.WebFrontend/Content/bootstrap-theme.css b/Sevomin.WebFrontend/Content/bootstrap-theme.css index df2d3d9..a406992 100644 --- a/Sevomin.WebFrontend/Content/bootstrap-theme.css +++ b/Sevomin.WebFrontend/Content/bootstrap-theme.css @@ -1,7 +1,7 @@ /*! - * Bootstrap v3.0.3 (http://getbootstrap.com) - * Copyright 2013 Twitter, Inc. - * Licensed under http://www.apache.org/licenses/LICENSE-2.0 + * Bootstrap v3.1.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ .btn-default, @@ -10,11 +10,10 @@ .btn-info, .btn-warning, .btn-danger { - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); } - .btn-default:active, .btn-primary:active, .btn-success:active, @@ -27,371 +26,322 @@ .btn-info.active, .btn-warning.active, .btn-danger.active { - -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); + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } - .btn:active, .btn.active { background-image: none; } - .btn-default { text-shadow: 0 1px 0 #fff; - background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%); - background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%); + background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #dbdbdb; border-color: #ccc; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } - .btn-default:hover, .btn-default:focus { background-color: #e0e0e0; background-position: 0 -15px; } - .btn-default:active, .btn-default.active { background-color: #e0e0e0; border-color: #dbdbdb; } - .btn-primary { background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%); - background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%); + background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #2b669a; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } - .btn-primary:hover, .btn-primary:focus { background-color: #2d6ca2; background-position: 0 -15px; } - .btn-primary:active, .btn-primary.active { background-color: #2d6ca2; border-color: #2b669a; } - .btn-success { background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); - background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); + background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #3e8f3e; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } - .btn-success:hover, .btn-success:focus { background-color: #419641; background-position: 0 -15px; } - .btn-success:active, .btn-success.active { background-color: #419641; border-color: #3e8f3e; } - +.btn-info { + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #28a4c9; +} +.btn-info:hover, +.btn-info:focus { + background-color: #2aabd2; + background-position: 0 -15px; +} +.btn-info:active, +.btn-info.active { + background-color: #2aabd2; + border-color: #28a4c9; +} .btn-warning { background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); - background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #e38d13; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } - .btn-warning:hover, .btn-warning:focus { background-color: #eb9316; background-position: 0 -15px; } - .btn-warning:active, .btn-warning.active { background-color: #eb9316; border-color: #e38d13; } - .btn-danger { background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); - background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); + background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #b92c28; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); } - .btn-danger:hover, .btn-danger:focus { background-color: #c12e2a; background-position: 0 -15px; } - .btn-danger:active, .btn-danger.active { background-color: #c12e2a; border-color: #b92c28; } - -.btn-info { - background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); - background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); - background-repeat: repeat-x; - border-color: #28a4c9; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -} - -.btn-info:hover, -.btn-info:focus { - background-color: #2aabd2; - background-position: 0 -15px; -} - -.btn-info:active, -.btn-info.active { - background-color: #2aabd2; - border-color: #28a4c9; -} - .thumbnail, .img-thumbnail { - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + box-shadow: 0 1px 2px rgba(0, 0, 0, .075); } - .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background-color: #e8e8e8; background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); - background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; } - .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { background-color: #357ebd; background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); - background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); + background-repeat: repeat-x; } - .navbar-default { - background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%); - background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%); + background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); + background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-radius: 4px; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); } - .navbar-default .navbar-nav > .active > a { background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%); - background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0); - -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); } - .navbar-brand, .navbar-nav > li > a { - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); + text-shadow: 0 1px 0 rgba(255, 255, 255, .25); } - .navbar-inverse { - background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%); - background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%); - background-repeat: repeat-x; + background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); - filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; } - .navbar-inverse .navbar-nav > .active > a { - background-image: -webkit-linear-gradient(top, #222222 0%, #282828 100%); - background-image: linear-gradient(to bottom, #222222 0%, #282828 100%); - background-repeat: repeat-x; + background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%); + background-image: linear-gradient(to bottom, #222 0%, #282828 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0); - -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); - box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); } - .navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a { - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); } - .navbar-static-top, .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } - .alert { - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); + text-shadow: 0 1px 0 rgba(255, 255, 255, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); } - .alert-success { background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); - background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); + background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); background-repeat: repeat-x; border-color: #b2dba1; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); } - .alert-info { background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); - background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); + background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); background-repeat: repeat-x; border-color: #9acfea; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); } - .alert-warning { background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); - background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); background-repeat: repeat-x; border-color: #f5e79e; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); } - .alert-danger { background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); - background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); + background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); background-repeat: repeat-x; border-color: #dca7a7; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); } - .progress { background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); - background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; } - .progress-bar { background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%); - background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0); + background-repeat: repeat-x; } - .progress-bar-success { background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); - background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); + background-repeat: repeat-x; } - .progress-bar-info { background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); - background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); + background-repeat: repeat-x; } - .progress-bar-warning { background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); - background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); + background-repeat: repeat-x; } - .progress-bar-danger { background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); - background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); + background-repeat: repeat-x; } - .list-group { border-radius: 4px; - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + box-shadow: 0 1px 2px rgba(0, 0, 0, .075); } - .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { text-shadow: 0 -1px 0 #3071a9; background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%); - background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%); + background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0); background-repeat: repeat-x; border-color: #3278b3; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0); } - .panel { - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: 0 1px 2px rgba(0, 0, 0, .05); } - .panel-default > .panel-heading { background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); - background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; } - .panel-primary > .panel-heading { background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); - background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); + background-repeat: repeat-x; } - .panel-success > .panel-heading { background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); - background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); + background-repeat: repeat-x; } - .panel-info > .panel-heading { background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); - background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); + background-repeat: repeat-x; } - .panel-warning > .panel-heading { background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); - background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); + background-repeat: repeat-x; } - .panel-danger > .panel-heading { background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); - background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); - background-repeat: repeat-x; + background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); + background-repeat: repeat-x; } - .well { background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); - background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); + background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); background-repeat: repeat-x; border-color: #dcdcdc; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); - -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1); -} \ No newline at end of file + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); +} +/*# sourceMappingURL=bootstrap-theme.css.map */ diff --git a/Sevomin.WebFrontend/Content/bootstrap-theme.css.map b/Sevomin.WebFrontend/Content/bootstrap-theme.css.map new file mode 100644 index 0000000..b36fc9a --- /dev/null +++ b/Sevomin.WebFrontend/Content/bootstrap-theme.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["less/theme.less","less/mixins.less"],"names":[],"mappings":"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","sourcesContent":["\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n}\n\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","//\n// Mixins\n// --------------------------------------------------\n\n\n// Utilities\n// -------------------------\n\n// Clearfix\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n.clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n\n// WebKit-style focus\n.tab-focus() {\n // Default\n outline: thin dotted;\n // WebKit\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n\n// Center-align a block level element\n.center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n// Sizing shortcuts\n.size(@width; @height) {\n width: @width;\n height: @height;\n}\n.square(@size) {\n .size(@size; @size);\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n &::-moz-placeholder { color: @color; // Firefox\n opacity: 1; } // See https://github.com/twbs/bootstrap/pull/11526\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Text overflow\n// Requires inline-block or block for proper styling\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n// CSS image replacement\n//\n// Heads up! v3 launched with with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. Note\n// that we cannot chain the mixins together in Less, so they are repeated.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (will be removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n\n\n\n// CSS3 PROPERTIES\n// --------------------------------------------------\n\n// Single side border-radius\n.border-top-radius(@radius) {\n border-top-right-radius: @radius;\n border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-bottom-left-radius: @radius;\n border-top-left-radius: @radius;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support the\n// standard `box-shadow` property.\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Transitions\n.transition(@transition) {\n -webkit-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n// Transformations\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n transform: rotate(@degrees);\n}\n.scale(@ratio; @ratio-y...) {\n -webkit-transform: scale(@ratio, @ratio-y);\n -ms-transform: scale(@ratio, @ratio-y); // IE9 only\n transform: scale(@ratio, @ratio-y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n transform: translate(@x, @y);\n}\n.skew(@x; @y) {\n -webkit-transform: skew(@x, @y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n transform: skew(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// User select\n// For selecting text on the page\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n\n// Resize anything\n.resizable(@direction) {\n resize: @direction; // Options: horizontal, vertical, both\n overflow: auto; // Safari fix\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Opacity\n.opacity(@opacity) {\n opacity: @opacity;\n // IE8 filter\n @opacity-ie: (@opacity * 100);\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n\n\n\n// GRADIENTS\n// --------------------------------------------------\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1-6, Chrome 10+\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n\n// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n\n\n\n// Retina images\n//\n// Short retina mixin for setting background-image and -size\n\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// COMPONENT MIXINS\n// --------------------------------------------------\n\n// Horizontal dividers\n// -------------------------\n// Dividers (basically an hr) within dropdowns and nav lists\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n\n// Panels\n// -------------------------\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse .panel-body {\n border-top-color: @border;\n }\n }\n & > .panel-footer {\n + .panel-collapse .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n\n// Alerts\n// -------------------------\n.alert-variant(@background; @border; @text-color) {\n background-color: @background;\n border-color: @border;\n color: @text-color;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n\n// Tables\n// -------------------------\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n\n// List Groups\n// -------------------------\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a& {\n color: @color;\n\n .list-group-item-heading { color: inherit; }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n\n// Button variants\n// -------------------------\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:hover,\n &:focus,\n &:active,\n &.active,\n .open .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 8%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open .dropdown-toggle& {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &:active,\n &.active {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n// -------------------------\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n\n// Pagination\n// -------------------------\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n\n// Labels\n// -------------------------\n.label-variant(@color) {\n background-color: @color;\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n\n// Contextual backgrounds\n// -------------------------\n.bg-variant(@color) {\n background-color: @color;\n a&:hover {\n background-color: darken(@color, 10%);\n }\n}\n\n// Typography\n// -------------------------\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover {\n color: darken(@color, 10%);\n }\n}\n\n// Navbar vertical align\n// -------------------------\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n\n// Progress bars\n// -------------------------\n.progress-bar-variant(@color) {\n background-color: @color;\n .progress-striped & {\n #gradient > .striped();\n }\n}\n\n// Responsive utilities\n// -------------------------\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n display: block !important;\n table& { display: table; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n\n\n// Grid System\n// -----------\n\n// Centered container element\n.container-fixed() {\n margin-right: auto;\n margin-left: auto;\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: (@gutter / -2);\n margin-right: (@gutter / -2);\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n @media (min-width: @screen-xs-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-xs-column-push(@columns) {\n @media (min-width: @screen-xs-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-xs-column-pull(@columns) {\n @media (min-width: @screen-xs-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) when (@index = 1) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) when (@index = 1) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n\n// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n // Color the label and help text\n .help-block,\n .control-label,\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline {\n color: @text-color;\n }\n // Set the border and box shadow on specific inputs to match\n .form-control {\n border-color: @border-color;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work\n &:focus {\n border-color: darken(@border-color, 10%);\n @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);\n .box-shadow(@shadow);\n }\n }\n // Set validation states also for addons\n .input-group-addon {\n color: @text-color;\n border-color: @border-color;\n background-color: @background-color;\n }\n // Optional feedback icon\n .form-control-feedback {\n color: @text-color;\n }\n}\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-focus-border` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n\n.form-control-focus(@color: @input-border-focus) {\n @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n &:focus {\n border-color: @color;\n outline: 0;\n .box-shadow(~\"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}\");\n }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. ``\n// element gets special love because it's special, and that's a fact!\n\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","//\n// Variables\n// --------------------------------------------------\n\n\n//== Colors\n//\n//## Gray and brand colors for use across Bootstrap.\n\n@gray-darker: lighten(#000, 13.5%); // #222\n@gray-dark: lighten(#000, 20%); // #333\n@gray: lighten(#000, 33.5%); // #555\n@gray-light: lighten(#000, 60%); // #999\n@gray-lighter: lighten(#000, 93.5%); // #eee\n\n@brand-primary: #428bca;\n@brand-success: #5cb85c;\n@brand-info: #5bc0de;\n@brand-warning: #f0ad4e;\n@brand-danger: #d9534f;\n\n\n//== Scaffolding\n//\n// ## Settings for some of the most global styles.\n\n//** Background color for ``.\n@body-bg: #fff;\n//** Global text color on ``.\n@text-color: @gray-dark;\n\n//** Global textual link color.\n@link-color: @brand-primary;\n//** Link hover color set via `darken()` function.\n@link-hover-color: darken(@link-color, 15%);\n\n\n//== Typography\n//\n//## Font, line-height, and color for body text, headings, and more.\n\n@font-family-sans-serif: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n@font-family-serif: Georgia, \"Times New Roman\", Times, serif;\n//** Default monospace fonts for ``, ``, and `
`.\n@font-family-monospace:   Menlo, Monaco, Consolas, \"Courier New\", monospace;\n@font-family-base:        @font-family-sans-serif;\n\n@font-size-base:          14px;\n@font-size-large:         ceil((@font-size-base * 1.25)); // ~18px\n@font-size-small:         ceil((@font-size-base * 0.85)); // ~12px\n\n@font-size-h1:            floor((@font-size-base * 2.6)); // ~36px\n@font-size-h2:            floor((@font-size-base * 2.15)); // ~30px\n@font-size-h3:            ceil((@font-size-base * 1.7)); // ~24px\n@font-size-h4:            ceil((@font-size-base * 1.25)); // ~18px\n@font-size-h5:            @font-size-base;\n@font-size-h6:            ceil((@font-size-base * 0.85)); // ~12px\n\n//** Unit-less `line-height` for use in components like buttons.\n@line-height-base:        1.428571429; // 20/14\n//** Computed \"line-height\" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.\n@line-height-computed:    floor((@font-size-base * @line-height-base)); // ~20px\n\n//** By default, this inherits from the ``.\n@headings-font-family:    inherit;\n@headings-font-weight:    500;\n@headings-line-height:    1.1;\n@headings-color:          inherit;\n\n\n//-- Iconography\n//\n//## Specify custom locations of the include Glyphicons icon font. Useful for those including Bootstrap via Bower.\n\n@icon-font-path:          \"../fonts/\";\n@icon-font-name:          \"glyphicons-halflings-regular\";\n@icon-font-svg-id:        \"glyphicons_halflingsregular\";\n\n//== Components\n//\n//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).\n\n@padding-base-vertical:     6px;\n@padding-base-horizontal:   12px;\n\n@padding-large-vertical:    10px;\n@padding-large-horizontal:  16px;\n\n@padding-small-vertical:    5px;\n@padding-small-horizontal:  10px;\n\n@padding-xs-vertical:       1px;\n@padding-xs-horizontal:     5px;\n\n@line-height-large:         1.33;\n@line-height-small:         1.5;\n\n@border-radius-base:        4px;\n@border-radius-large:       6px;\n@border-radius-small:       3px;\n\n//** Global color for active items (e.g., navs or dropdowns).\n@component-active-color:    #fff;\n//** Global background color for active items (e.g., navs or dropdowns).\n@component-active-bg:       @brand-primary;\n\n//** Width of the `border` for generating carets that indicator dropdowns.\n@caret-width-base:          4px;\n//** Carets increase slightly in size for larger components.\n@caret-width-large:         5px;\n\n\n//== Tables\n//\n//## Customizes the `.table` component with basic values, each used across all table variations.\n\n//** Padding for ``s and ``s.\n@table-cell-padding:            8px;\n//** Padding for cells in `.table-condensed`.\n@table-condensed-cell-padding:  5px;\n\n//** Default background color used for all tables.\n@table-bg:                      transparent;\n//** Background color used for `.table-striped`.\n@table-bg-accent:               #f9f9f9;\n//** Background color used for `.table-hover`.\n@table-bg-hover:                #f5f5f5;\n@table-bg-active:               @table-bg-hover;\n\n//** Border color for table and cell borders.\n@table-border-color:            #ddd;\n\n\n//== Buttons\n//\n//## For each of Bootstrap's buttons, define text, background and border color.\n\n@btn-font-weight:                normal;\n\n@btn-default-color:              #333;\n@btn-default-bg:                 #fff;\n@btn-default-border:             #ccc;\n\n@btn-primary-color:              #fff;\n@btn-primary-bg:                 @brand-primary;\n@btn-primary-border:             darken(@btn-primary-bg, 5%);\n\n@btn-success-color:              #fff;\n@btn-success-bg:                 @brand-success;\n@btn-success-border:             darken(@btn-success-bg, 5%);\n\n@btn-info-color:                 #fff;\n@btn-info-bg:                    @brand-info;\n@btn-info-border:                darken(@btn-info-bg, 5%);\n\n@btn-warning-color:              #fff;\n@btn-warning-bg:                 @brand-warning;\n@btn-warning-border:             darken(@btn-warning-bg, 5%);\n\n@btn-danger-color:               #fff;\n@btn-danger-bg:                  @brand-danger;\n@btn-danger-border:              darken(@btn-danger-bg, 5%);\n\n@btn-link-disabled-color:        @gray-light;\n\n\n//== Forms\n//\n//##\n\n//** `` background color\n@input-bg:                       #fff;\n//** `` background color\n@input-bg-disabled:              @gray-lighter;\n\n//** Text color for ``s\n@input-color:                    @gray;\n//** `` border color\n@input-border:                   #ccc;\n//** `` border radius\n@input-border-radius:            @border-radius-base;\n//** Border color for inputs on focus\n@input-border-focus:             #66afe9;\n\n//** Placeholder text color\n@input-color-placeholder:        @gray-light;\n\n//** Default `.form-control` height\n@input-height-base:              (@line-height-computed + (@padding-base-vertical * 2) + 2);\n//** Large `.form-control` height\n@input-height-large:             (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);\n//** Small `.form-control` height\n@input-height-small:             (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);\n\n@legend-color:                   @gray-dark;\n@legend-border-color:            #e5e5e5;\n\n//** Background color for textual input addons\n@input-group-addon-bg:           @gray-lighter;\n//** Border color for textual input addons\n@input-group-addon-border-color: @input-border;\n\n\n//== Dropdowns\n//\n//## Dropdown menu container and contents.\n\n//** Background for the dropdown menu.\n@dropdown-bg:                    #fff;\n//** Dropdown menu `border-color`.\n@dropdown-border:                rgba(0,0,0,.15);\n//** Dropdown menu `border-color` **for IE8**.\n@dropdown-fallback-border:       #ccc;\n//** Divider color for between dropdown items.\n@dropdown-divider-bg:            #e5e5e5;\n\n//** Dropdown link text color.\n@dropdown-link-color:            @gray-dark;\n//** Hover color for dropdown links.\n@dropdown-link-hover-color:      darken(@gray-dark, 5%);\n//** Hover background for dropdown links.\n@dropdown-link-hover-bg:         #f5f5f5;\n\n//** Active dropdown menu item text color.\n@dropdown-link-active-color:     @component-active-color;\n//** Active dropdown menu item background color.\n@dropdown-link-active-bg:        @component-active-bg;\n\n//** Disabled dropdown menu item background color.\n@dropdown-link-disabled-color:   @gray-light;\n\n//** Text color for headers within dropdown menus.\n@dropdown-header-color:          @gray-light;\n\n// Note: Deprecated @dropdown-caret-color as of v3.1.0\n@dropdown-caret-color:           #000;\n\n\n//-- Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n//\n// Note: These variables are not generated into the Customizer.\n\n@zindex-navbar:            1000;\n@zindex-dropdown:          1000;\n@zindex-popover:           1010;\n@zindex-tooltip:           1030;\n@zindex-navbar-fixed:      1030;\n@zindex-modal-background:  1040;\n@zindex-modal:             1050;\n\n\n//== Media queries breakpoints\n//\n//## Define the breakpoints at which your layout will change, adapting to different screen sizes.\n\n// Extra small screen / phone\n// Note: Deprecated @screen-xs and @screen-phone as of v3.0.1\n@screen-xs:                  480px;\n@screen-xs-min:              @screen-xs;\n@screen-phone:               @screen-xs-min;\n\n// Small screen / tablet\n// Note: Deprecated @screen-sm and @screen-tablet as of v3.0.1\n@screen-sm:                  768px;\n@screen-sm-min:              @screen-sm;\n@screen-tablet:              @screen-sm-min;\n\n// Medium screen / desktop\n// Note: Deprecated @screen-md and @screen-desktop as of v3.0.1\n@screen-md:                  992px;\n@screen-md-min:              @screen-md;\n@screen-desktop:             @screen-md-min;\n\n// Large screen / wide desktop\n// Note: Deprecated @screen-lg and @screen-lg-desktop as of v3.0.1\n@screen-lg:                  1200px;\n@screen-lg-min:              @screen-lg;\n@screen-lg-desktop:          @screen-lg-min;\n\n// So media queries don't overlap when required, provide a maximum\n@screen-xs-max:              (@screen-sm-min - 1);\n@screen-sm-max:              (@screen-md-min - 1);\n@screen-md-max:              (@screen-lg-min - 1);\n\n\n//== Grid system\n//\n//## Define your custom responsive grid.\n\n//** Number of columns in the grid.\n@grid-columns:              12;\n//** Padding between columns. Gets divided in half for the left and right.\n@grid-gutter-width:         30px;\n// Navbar collapse\n//** Point at which the navbar becomes uncollapsed.\n@grid-float-breakpoint:     @screen-sm-min;\n//** Point at which the navbar begins collapsing.\n@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);\n\n\n//== Container sizes\n//\n//## Define the maximum width of `.container` for different screen sizes.\n\n// Small screen / tablet\n@container-tablet:             ((720px + @grid-gutter-width));\n//** For `@screen-sm-min` and up.\n@container-sm:                 @container-tablet;\n\n// Medium screen / desktop\n@container-desktop:            ((940px + @grid-gutter-width));\n//** For `@screen-md-min` and up.\n@container-md:                 @container-desktop;\n\n// Large screen / wide desktop\n@container-large-desktop:      ((1140px + @grid-gutter-width));\n//** For `@screen-lg-min` and up.\n@container-lg:                 @container-large-desktop;\n\n\n//== Navbar\n//\n//##\n\n// Basics of a navbar\n@navbar-height:                    50px;\n@navbar-margin-bottom:             @line-height-computed;\n@navbar-border-radius:             @border-radius-base;\n@navbar-padding-horizontal:        floor((@grid-gutter-width / 2));\n@navbar-padding-vertical:          ((@navbar-height - @line-height-computed) / 2);\n@navbar-collapse-max-height:       340px;\n\n@navbar-default-color:             #777;\n@navbar-default-bg:                #f8f8f8;\n@navbar-default-border:            darken(@navbar-default-bg, 6.5%);\n\n// Navbar links\n@navbar-default-link-color:                #777;\n@navbar-default-link-hover-color:          #333;\n@navbar-default-link-hover-bg:             transparent;\n@navbar-default-link-active-color:         #555;\n@navbar-default-link-active-bg:            darken(@navbar-default-bg, 6.5%);\n@navbar-default-link-disabled-color:       #ccc;\n@navbar-default-link-disabled-bg:          transparent;\n\n// Navbar brand label\n@navbar-default-brand-color:               @navbar-default-link-color;\n@navbar-default-brand-hover-color:         darken(@navbar-default-brand-color, 10%);\n@navbar-default-brand-hover-bg:            transparent;\n\n// Navbar toggle\n@navbar-default-toggle-hover-bg:           #ddd;\n@navbar-default-toggle-icon-bar-bg:        #888;\n@navbar-default-toggle-border-color:       #ddd;\n\n\n// Inverted navbar\n// Reset inverted navbar basics\n@navbar-inverse-color:                      @gray-light;\n@navbar-inverse-bg:                         #222;\n@navbar-inverse-border:                     darken(@navbar-inverse-bg, 10%);\n\n// Inverted navbar links\n@navbar-inverse-link-color:                 @gray-light;\n@navbar-inverse-link-hover-color:           #fff;\n@navbar-inverse-link-hover-bg:              transparent;\n@navbar-inverse-link-active-color:          @navbar-inverse-link-hover-color;\n@navbar-inverse-link-active-bg:             darken(@navbar-inverse-bg, 10%);\n@navbar-inverse-link-disabled-color:        #444;\n@navbar-inverse-link-disabled-bg:           transparent;\n\n// Inverted navbar brand label\n@navbar-inverse-brand-color:                @navbar-inverse-link-color;\n@navbar-inverse-brand-hover-color:          #fff;\n@navbar-inverse-brand-hover-bg:             transparent;\n\n// Inverted navbar toggle\n@navbar-inverse-toggle-hover-bg:            #333;\n@navbar-inverse-toggle-icon-bar-bg:         #fff;\n@navbar-inverse-toggle-border-color:        #333;\n\n\n//== Navs\n//\n//##\n\n//=== Shared nav styles\n@nav-link-padding:                          10px 15px;\n@nav-link-hover-bg:                         @gray-lighter;\n\n@nav-disabled-link-color:                   @gray-light;\n@nav-disabled-link-hover-color:             @gray-light;\n\n@nav-open-link-hover-color:                 #fff;\n\n//== Tabs\n@nav-tabs-border-color:                     #ddd;\n\n@nav-tabs-link-hover-border-color:          @gray-lighter;\n\n@nav-tabs-active-link-hover-bg:             @body-bg;\n@nav-tabs-active-link-hover-color:          @gray;\n@nav-tabs-active-link-hover-border-color:   #ddd;\n\n@nav-tabs-justified-link-border-color:            #ddd;\n@nav-tabs-justified-active-link-border-color:     @body-bg;\n\n//== Pills\n@nav-pills-border-radius:                   @border-radius-base;\n@nav-pills-active-link-hover-bg:            @component-active-bg;\n@nav-pills-active-link-hover-color:         @component-active-color;\n\n\n//== Pagination\n//\n//##\n\n@pagination-color:                     @link-color;\n@pagination-bg:                        #fff;\n@pagination-border:                    #ddd;\n\n@pagination-hover-color:               @link-hover-color;\n@pagination-hover-bg:                  @gray-lighter;\n@pagination-hover-border:              #ddd;\n\n@pagination-active-color:              #fff;\n@pagination-active-bg:                 @brand-primary;\n@pagination-active-border:             @brand-primary;\n\n@pagination-disabled-color:            @gray-light;\n@pagination-disabled-bg:               #fff;\n@pagination-disabled-border:           #ddd;\n\n\n//== Pager\n//\n//##\n\n@pager-bg:                             @pagination-bg;\n@pager-border:                         @pagination-border;\n@pager-border-radius:                  15px;\n\n@pager-hover-bg:                       @pagination-hover-bg;\n\n@pager-active-bg:                      @pagination-active-bg;\n@pager-active-color:                   @pagination-active-color;\n\n@pager-disabled-color:                 @pagination-disabled-color;\n\n\n//== Jumbotron\n//\n//##\n\n@jumbotron-padding:              30px;\n@jumbotron-color:                inherit;\n@jumbotron-bg:                   @gray-lighter;\n@jumbotron-heading-color:        inherit;\n@jumbotron-font-size:            ceil((@font-size-base * 1.5));\n\n\n//== Form states and alerts\n//\n//## Define colors for form feedback states and, by default, alerts.\n\n@state-success-text:             #3c763d;\n@state-success-bg:               #dff0d8;\n@state-success-border:           darken(spin(@state-success-bg, -10), 5%);\n\n@state-info-text:                #31708f;\n@state-info-bg:                  #d9edf7;\n@state-info-border:              darken(spin(@state-info-bg, -10), 7%);\n\n@state-warning-text:             #8a6d3b;\n@state-warning-bg:               #fcf8e3;\n@state-warning-border:           darken(spin(@state-warning-bg, -10), 5%);\n\n@state-danger-text:              #a94442;\n@state-danger-bg:                #f2dede;\n@state-danger-border:            darken(spin(@state-danger-bg, -10), 5%);\n\n\n//== Tooltips\n//\n//##\n\n//** Tooltip max width\n@tooltip-max-width:           200px;\n//** Tooltip text color\n@tooltip-color:               #fff;\n//** Tooltip background color\n@tooltip-bg:                  #000;\n@tooltip-opacity:             .9;\n\n//** Tooltip arrow width\n@tooltip-arrow-width:         5px;\n//** Tooltip arrow color\n@tooltip-arrow-color:         @tooltip-bg;\n\n\n//== Popovers\n//\n//##\n\n//** Popover body background color\n@popover-bg:                          #fff;\n//** Popover maximum width\n@popover-max-width:                   276px;\n//** Popover border color\n@popover-border-color:                rgba(0,0,0,.2);\n//** Popover fallback border color\n@popover-fallback-border-color:       #ccc;\n\n//** Popover title background color\n@popover-title-bg:                    darken(@popover-bg, 3%);\n\n//** Popover arrow width\n@popover-arrow-width:                 10px;\n//** Popover arrow color\n@popover-arrow-color:                 #fff;\n\n//** Popover outer arrow width\n@popover-arrow-outer-width:           (@popover-arrow-width + 1);\n//** Popover outer arrow color\n@popover-arrow-outer-color:           fadein(@popover-border-color, 5%);\n//** Popover outer arrow fallback color\n@popover-arrow-outer-fallback-color:  darken(@popover-fallback-border-color, 20%);\n\n\n//== Labels\n//\n//##\n\n//** Default label background color\n@label-default-bg:            @gray-light;\n//** Primary label background color\n@label-primary-bg:            @brand-primary;\n//** Success label background color\n@label-success-bg:            @brand-success;\n//** Info label background color\n@label-info-bg:               @brand-info;\n//** Warning label background color\n@label-warning-bg:            @brand-warning;\n//** Danger label background color\n@label-danger-bg:             @brand-danger;\n\n//** Default label text color\n@label-color:                 #fff;\n//** Default text color of a linked label\n@label-link-hover-color:      #fff;\n\n\n//== Modals\n//\n//##\n\n//** Padding applied to the modal body\n@modal-inner-padding:         20px;\n\n//** Padding applied to the modal title\n@modal-title-padding:         15px;\n//** Modal title line-height\n@modal-title-line-height:     @line-height-base;\n\n//** Background color of modal content area\n@modal-content-bg:                             #fff;\n//** Modal content border color\n@modal-content-border-color:                   rgba(0,0,0,.2);\n//** Modal content border color **for IE8**\n@modal-content-fallback-border-color:          #999;\n\n//** Modal backdrop background color\n@modal-backdrop-bg:           #000;\n//** Modal backdrop opacity\n@modal-backdrop-opacity:      .5;\n//** Modal header border color\n@modal-header-border-color:   #e5e5e5;\n//** Modal footer border color\n@modal-footer-border-color:   @modal-header-border-color;\n\n@modal-lg:                    900px;\n@modal-md:                    600px;\n@modal-sm:                    300px;\n\n\n//== Alerts\n//\n//## Define alert colors, border radius, and padding.\n\n@alert-padding:               15px;\n@alert-border-radius:         @border-radius-base;\n@alert-link-font-weight:      bold;\n\n@alert-success-bg:            @state-success-bg;\n@alert-success-text:          @state-success-text;\n@alert-success-border:        @state-success-border;\n\n@alert-info-bg:               @state-info-bg;\n@alert-info-text:             @state-info-text;\n@alert-info-border:           @state-info-border;\n\n@alert-warning-bg:            @state-warning-bg;\n@alert-warning-text:          @state-warning-text;\n@alert-warning-border:        @state-warning-border;\n\n@alert-danger-bg:             @state-danger-bg;\n@alert-danger-text:           @state-danger-text;\n@alert-danger-border:         @state-danger-border;\n\n\n//== Progress bars\n//\n//##\n\n//** Background color of the whole progress component\n@progress-bg:                 #f5f5f5;\n//** Progress bar text color\n@progress-bar-color:          #fff;\n\n//** Default progress bar color\n@progress-bar-bg:             @brand-primary;\n//** Success progress bar color\n@progress-bar-success-bg:     @brand-success;\n//** Warning progress bar color\n@progress-bar-warning-bg:     @brand-warning;\n//** Danger progress bar color\n@progress-bar-danger-bg:      @brand-danger;\n//** Info progress bar color\n@progress-bar-info-bg:        @brand-info;\n\n\n//== List group\n//\n//##\n\n//** Background color on `.list-group-item`\n@list-group-bg:                 #fff;\n//** `.list-group-item` border color\n@list-group-border:             #ddd;\n//** List group border radius\n@list-group-border-radius:      @border-radius-base;\n\n//** Background color of single list elements on hover\n@list-group-hover-bg:           #f5f5f5;\n//** Text color of active list elements\n@list-group-active-color:       @component-active-color;\n//** Background color of active list elements\n@list-group-active-bg:          @component-active-bg;\n//** Border color of active list elements\n@list-group-active-border:      @list-group-active-bg;\n@list-group-active-text-color:  lighten(@list-group-active-bg, 40%);\n\n@list-group-link-color:         #555;\n@list-group-link-heading-color: #333;\n\n\n//== Panels\n//\n//##\n\n@panel-bg:                    #fff;\n@panel-body-padding:          15px;\n@panel-border-radius:         @border-radius-base;\n\n//** Border color for elements within panels\n@panel-inner-border:          #ddd;\n@panel-footer-bg:             #f5f5f5;\n\n@panel-default-text:          @gray-dark;\n@panel-default-border:        #ddd;\n@panel-default-heading-bg:    #f5f5f5;\n\n@panel-primary-text:          #fff;\n@panel-primary-border:        @brand-primary;\n@panel-primary-heading-bg:    @brand-primary;\n\n@panel-success-text:          @state-success-text;\n@panel-success-border:        @state-success-border;\n@panel-success-heading-bg:    @state-success-bg;\n\n@panel-info-text:             @state-info-text;\n@panel-info-border:           @state-info-border;\n@panel-info-heading-bg:       @state-info-bg;\n\n@panel-warning-text:          @state-warning-text;\n@panel-warning-border:        @state-warning-border;\n@panel-warning-heading-bg:    @state-warning-bg;\n\n@panel-danger-text:           @state-danger-text;\n@panel-danger-border:         @state-danger-border;\n@panel-danger-heading-bg:     @state-danger-bg;\n\n\n//== Thumbnails\n//\n//##\n\n//** Padding around the thumbnail image\n@thumbnail-padding:           4px;\n//** Thumbnail background color\n@thumbnail-bg:                @body-bg;\n//** Thumbnail border color\n@thumbnail-border:            #ddd;\n//** Thumbnail border radius\n@thumbnail-border-radius:     @border-radius-base;\n\n//** Custom text color for thumbnail captions\n@thumbnail-caption-color:     @text-color;\n//** Padding around the thumbnail caption\n@thumbnail-caption-padding:   9px;\n\n\n//== Wells\n//\n//##\n\n@well-bg:                     #f5f5f5;\n@well-border:                 darken(@well-bg, 7%);\n\n\n//== Badges\n//\n//##\n\n@badge-color:                 #fff;\n//** Linked badge text color on hover\n@badge-link-hover-color:      #fff;\n@badge-bg:                    @gray-light;\n\n//** Badge text color in active nav link\n@badge-active-color:          @link-color;\n//** Badge background color in active nav link\n@badge-active-bg:             #fff;\n\n@badge-font-weight:           bold;\n@badge-line-height:           1;\n@badge-border-radius:         10px;\n\n\n//== Breadcrumbs\n//\n//##\n\n@breadcrumb-padding-vertical:   8px;\n@breadcrumb-padding-horizontal: 15px;\n//** Breadcrumb background color\n@breadcrumb-bg:                 #f5f5f5;\n//** Breadcrumb text color\n@breadcrumb-color:              #ccc;\n//** Text color of current page in the breadcrumb\n@breadcrumb-active-color:       @gray-light;\n//** Textual separator for between breadcrumb elements\n@breadcrumb-separator:          \"/\";\n\n\n//== Carousel\n//\n//##\n\n@carousel-text-shadow:                        0 1px 2px rgba(0,0,0,.6);\n\n@carousel-control-color:                      #fff;\n@carousel-control-width:                      15%;\n@carousel-control-opacity:                    .5;\n@carousel-control-font-size:                  20px;\n\n@carousel-indicator-active-bg:                #fff;\n@carousel-indicator-border-color:             #fff;\n\n@carousel-caption-color:                      #fff;\n\n\n//== Close\n//\n//##\n\n@close-font-weight:           bold;\n@close-color:                 #000;\n@close-text-shadow:           0 1px 0 #fff;\n\n\n//== Code\n//\n//##\n\n@code-color:                  #c7254e;\n@code-bg:                     #f9f2f4;\n\n@kbd-color:                   #fff;\n@kbd-bg:                      #333;\n\n@pre-bg:                      #f5f5f5;\n@pre-color:                   @gray-dark;\n@pre-border-color:            #ccc;\n@pre-scrollable-max-height:   340px;\n\n\n//== Type\n//\n//##\n\n//** Text muted color\n@text-muted:                  @gray-light;\n//** Abbreviations and acronyms border color\n@abbr-border-color:           @gray-light;\n//** Headings small color\n@headings-small-color:        @gray-light;\n//** Blockquote small color\n@blockquote-small-color:      @gray-light;\n//** Blockquote font size\n@blockquote-font-size:        (@font-size-base * 1.25);\n//** Blockquote border color\n@blockquote-border-color:     @gray-lighter;\n//** Page header border color\n@page-header-border-color:    @gray-lighter;\n\n\n//== Miscellaneous\n//\n//##\n\n//** Horizontal line color.\n@hr-border:                   @gray-lighter;\n\n//** Horizontal offset for forms and lists.\n@component-offset-horizontal: 180px;\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n  display: block;\n  padding: @thumbnail-padding;\n  margin-bottom: @line-height-computed;\n  line-height: @line-height-base;\n  background-color: @thumbnail-bg;\n  border: 1px solid @thumbnail-border;\n  border-radius: @thumbnail-border-radius;\n  .transition(all .2s ease-in-out);\n\n  > img,\n  a > img {\n    &:extend(.img-responsive);\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  // Add a hover state for linked versions only\n  a&:hover,\n  a&:focus,\n  a&.active {\n    border-color: @link-color;\n  }\n\n  // Image captions\n  .caption {\n    padding: @thumbnail-caption-padding;\n    color: @thumbnail-caption-color;\n  }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n  position: relative;\n}\n\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n\n  > .item {\n    display: none;\n    position: relative;\n    .transition(.6s ease-in-out left);\n\n    // Account for jankitude on images\n    > img,\n    > a > img {\n      &:extend(.img-responsive);\n      line-height: 1;\n    }\n  }\n\n  > .active,\n  > .next,\n  > .prev { display: block; }\n\n  > .active {\n    left: 0;\n  }\n\n  > .next,\n  > .prev {\n    position: absolute;\n    top: 0;\n    width: 100%;\n  }\n\n  > .next {\n    left: 100%;\n  }\n  > .prev {\n    left: -100%;\n  }\n  > .next.left,\n  > .prev.right {\n    left: 0;\n  }\n\n  > .active.left {\n    left: -100%;\n  }\n  > .active.right {\n    left: 100%;\n  }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: @carousel-control-width;\n  .opacity(@carousel-control-opacity);\n  font-size: @carousel-control-font-size;\n  color: @carousel-control-color;\n  text-align: center;\n  text-shadow: @carousel-text-shadow;\n  // We can't have this transition here because WebKit cancels the carousel\n  // animation if you trip this while in the middle of another animation.\n\n  // Set gradients for backgrounds\n  &.left {\n    #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n  }\n  &.right {\n    left: auto;\n    right: 0;\n    #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n  }\n\n  // Hover/focus state\n  &:hover,\n  &:focus {\n    outline: none;\n    color: @carousel-control-color;\n    text-decoration: none;\n    .opacity(.9);\n  }\n\n  // Toggles\n  .icon-prev,\n  .icon-next,\n  .glyphicon-chevron-left,\n  .glyphicon-chevron-right {\n    position: absolute;\n    top: 50%;\n    z-index: 5;\n    display: inline-block;\n  }\n  .icon-prev,\n  .glyphicon-chevron-left {\n    left: 50%;\n  }\n  .icon-next,\n  .glyphicon-chevron-right {\n    right: 50%;\n  }\n  .icon-prev,\n  .icon-next {\n    width:  20px;\n    height: 20px;\n    margin-top: -10px;\n    margin-left: -10px;\n    font-family: serif;\n  }\n\n  .icon-prev {\n    &:before {\n      content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n    }\n  }\n  .icon-next {\n    &:before {\n      content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n    }\n  }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n\n  li {\n    display: inline-block;\n    width:  10px;\n    height: 10px;\n    margin: 1px;\n    text-indent: -999px;\n    border: 1px solid @carousel-indicator-border-color;\n    border-radius: 10px;\n    cursor: pointer;\n\n    // IE8-9 hack for event handling\n    //\n    // Internet Explorer 8-9 does not support clicks on elements without a set\n    // `background-color`. We cannot use `filter` since that's not viewed as a\n    // background color by the browser. Thus, a hack is needed.\n    //\n    // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n    // set alpha transparency for the best results possible.\n    background-color: #000 \\9; // IE8\n    background-color: rgba(0,0,0,0); // IE9\n  }\n  .active {\n    margin: 0;\n    width:  12px;\n    height: 12px;\n    background-color: @carousel-indicator-active-bg;\n  }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: @carousel-caption-color;\n  text-align: center;\n  text-shadow: @carousel-text-shadow;\n  & .btn {\n    text-shadow: none; // No shadow for button elements in carousel-caption\n  }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n  // Scale up the controls a smidge\n  .carousel-control {\n    .glyphicon-chevron-left,\n    .glyphicon-chevron-right,\n    .icon-prev,\n    .icon-next {\n      width: 30px;\n      height: 30px;\n      margin-top: -15px;\n      margin-left: -15px;\n      font-size: 30px;\n    }\n  }\n\n  // Show and left align the captions\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n\n  // Move up the indicators\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  font-family: @headings-font-family;\n  font-weight: @headings-font-weight;\n  line-height: @headings-line-height;\n  color: @headings-color;\n\n  small,\n  .small {\n    font-weight: normal;\n    line-height: 1;\n    color: @headings-small-color;\n  }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n  margin-top: @line-height-computed;\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 65%;\n  }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n  margin-top: (@line-height-computed / 2);\n  margin-bottom: (@line-height-computed / 2);\n\n  small,\n  .small {\n    font-size: 75%;\n  }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n  margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n  margin-bottom: @line-height-computed;\n  font-size: floor((@font-size-base * 1.15));\n  font-weight: 200;\n  line-height: 1.4;\n\n  @media (min-width: @screen-sm-min) {\n    font-size: (@font-size-base * 1.5);\n  }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: 14px base font * 85% = about 12px\nsmall,\n.small  { font-size: 85%; }\n\n// Undo browser default styling\ncite    { font-style: normal; }\n\n// Alignment\n.text-left           { text-align: left; }\n.text-right          { text-align: right; }\n.text-center         { text-align: center; }\n.text-justify        { text-align: justify; }\n\n// Contextual colors\n.text-muted {\n  color: @text-muted;\n}\n.text-primary {\n  .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n  .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n  .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n  .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n  .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n  // Given the contrast here, this is the only class to have its color inverted\n  // automatically.\n  color: #fff;\n  .bg-variant(@brand-primary);\n}\n.bg-success {\n  .bg-variant(@state-success-bg);\n}\n.bg-info {\n  .bg-variant(@state-info-bg);\n}\n.bg-warning {\n  .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n  .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n  padding-bottom: ((@line-height-computed / 2) - 1);\n  margin: (@line-height-computed * 2) 0 @line-height-computed;\n  border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// --------------------------------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n  margin-top: 0;\n  margin-bottom: (@line-height-computed / 2);\n  ul,\n  ol {\n    margin-bottom: 0;\n  }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n  .list-unstyled();\n  margin-left: -5px;\n\n  > li {\n    display: inline-block;\n    padding-left: 5px;\n    padding-right: 5px;\n  }\n}\n\n// Description Lists\ndl {\n  margin-top: 0; // Remove browser default\n  margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n  line-height: @line-height-base;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n@media (min-width: @grid-float-breakpoint) {\n  .dl-horizontal {\n    dt {\n      float: left;\n      width: (@component-offset-horizontal - 20);\n      clear: left;\n      text-align: right;\n      .text-overflow();\n    }\n    dd {\n      margin-left: @component-offset-horizontal;\n      &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n    }\n  }\n}\n\n// MISC\n// ----\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n\n// Blockquotes\nblockquote {\n  padding: (@line-height-computed / 2) @line-height-computed;\n  margin: 0 0 @line-height-computed;\n  font-size: @blockquote-font-size;\n  border-left: 5px solid @blockquote-border-color;\n\n  p,\n  ul,\n  ol {\n    &:last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  // Note: Deprecated small and .small as of v3.1.0\n  // Context: https://github.com/twbs/bootstrap/issues/11660\n  footer,\n  small,\n  .small {\n    display: block;\n    font-size: 80%; // back to default font-size\n    line-height: @line-height-base;\n    color: @blockquote-small-color;\n\n    &:before {\n      content: '\\2014 \\00A0'; // em dash, nbsp\n    }\n  }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid @blockquote-border-color;\n  border-left: 0;\n  text-align: right;\n\n  // Account for citation\n  footer,\n  small,\n  .small {\n    &:before { content: ''; }\n    &:after {\n      content: '\\00A0 \\2014'; // nbsp, em dash\n    }\n  }\n}\n\n// Quotes\nblockquote:before,\nblockquote:after {\n  content: \"\";\n}\n\n// Addresses\naddress {\n  margin-bottom: @line-height-computed;\n  font-style: normal;\n  line-height: @line-height-base;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n  font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @code-color;\n  background-color: @code-bg;\n  white-space: nowrap;\n  border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: @kbd-color;\n  background-color: @kbd-bg;\n  border-radius: @border-radius-small;\n  box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n}\n\n// Blocks of code\npre {\n  display: block;\n  padding: ((@line-height-computed - 1) / 2);\n  margin: 0 0 (@line-height-computed / 2);\n  font-size: (@font-size-base - 1); // 14px to 13px\n  line-height: @line-height-base;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: @pre-color;\n  background-color: @pre-bg;\n  border: 1px solid @pre-border-color;\n  border-radius: @border-radius-base;\n\n  // Account for some code outputs that place code tags in pre tags\n  code {\n    padding: 0;\n    font-size: inherit;\n    color: inherit;\n    white-space: pre-wrap;\n    background-color: transparent;\n    border-radius: 0;\n  }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n  max-height: @pre-scrollable-max-height;\n  overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n  .container-fixed();\n\n  @media (min-width: @screen-sm-min) {\n    width: @container-sm;\n  }\n  @media (min-width: @screen-md-min) {\n    width: @container-md;\n  }\n  @media (min-width: @screen-lg-min) {\n    width: @container-lg;\n  }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n  .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n  .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n  .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n  .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n  .make-grid(lg);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n  max-width: 100%;\n  background-color: @table-bg;\n}\nth {\n  text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n  width: 100%;\n  margin-bottom: @line-height-computed;\n  // Cells\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-cell-padding;\n        line-height: @line-height-base;\n        vertical-align: top;\n        border-top: 1px solid @table-border-color;\n      }\n    }\n  }\n  // Bottom align for column headings\n  > thead > tr > th {\n    vertical-align: bottom;\n    border-bottom: 2px solid @table-border-color;\n  }\n  // Remove top border from thead by default\n  > caption + thead,\n  > colgroup + thead,\n  > thead:first-child {\n    > tr:first-child {\n      > th,\n      > td {\n        border-top: 0;\n      }\n    }\n  }\n  // Account for multiple tbody instances\n  > tbody + tbody {\n    border-top: 2px solid @table-border-color;\n  }\n\n  // Nesting\n  .table {\n    background-color: @body-bg;\n  }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        padding: @table-condensed-cell-padding;\n      }\n    }\n  }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n  border: 1px solid @table-border-color;\n  > thead,\n  > tbody,\n  > tfoot {\n    > tr {\n      > th,\n      > td {\n        border: 1px solid @table-border-color;\n      }\n    }\n  }\n  > thead > tr {\n    > th,\n    > td {\n      border-bottom-width: 2px;\n    }\n  }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n  > tbody > tr:nth-child(odd) {\n    > td,\n    > th {\n      background-color: @table-bg-accent;\n    }\n  }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n  > tbody > tr:hover {\n    > td,\n    > th {\n      background-color: @table-bg-hover;\n    }\n  }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n  position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)\n  float: none;\n  display: table-column;\n}\ntable {\n  td,\n  th {\n    &[class*=\"col-\"] {\n      position: static; // Prevent border hiding in Firefox and IE9/10 (see https://github.com/twbs/bootstrap/issues/11623)\n      float: none;\n      display: table-cell;\n    }\n  }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n@media (max-width: @screen-xs-max) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: (@line-height-computed * 0.75);\n    overflow-y: hidden;\n    overflow-x: scroll;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid @table-border-color;\n    -webkit-overflow-scrolling: touch;\n\n    // Tighten up spacing\n    > .table {\n      margin-bottom: 0;\n\n      // Ensure the content doesn't wrap\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th,\n          > td {\n            white-space: nowrap;\n          }\n        }\n      }\n    }\n\n    // Special overrides for the bordered tables\n    > .table-bordered {\n      border: 0;\n\n      // Nuke the appropriate borders so that the parent can handle them\n      > thead,\n      > tbody,\n      > tfoot {\n        > tr {\n          > th:first-child,\n          > td:first-child {\n            border-left: 0;\n          }\n          > th:last-child,\n          > td:last-child {\n            border-right: 0;\n          }\n        }\n      }\n\n      // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n      // chances are there will be only one `tr` in a `thead` and that would\n      // remove the border altogether.\n      > tbody,\n      > tfoot {\n        > tr:last-child {\n          > th,\n          > td {\n            border-bottom: 0;\n          }\n        }\n      }\n\n    }\n  }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n  // Chrome and Firefox set a `min-width: -webkit-min-content;` on fieldsets,\n  // so we reset that to ensure it behaves more like a standard block element.\n  // See https://github.com/twbs/bootstrap/issues/12359.\n  min-width: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: @line-height-computed;\n  font-size: (@font-size-base * 1.5);\n  line-height: inherit;\n  color: @legend-color;\n  border: 0;\n  border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n  display: inline-block;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n  .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9; /* IE8-9 */\n  line-height: normal;\n}\n\n// Set the height of file controls to match text inputs\ninput[type=\"file\"] {\n  display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n  height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  .tab-focus();\n}\n\n// Adjust output element\noutput {\n  display: block;\n  padding-top: (@padding-base-vertical + 1);\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  line-height: @line-height-base;\n  color: @input-color;\n  background-color: @input-bg;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid @input-border;\n  border-radius: @input-border-radius;\n  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n  .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n  // Customize the `:focus` state to imitate native WebKit styles.\n  .form-control-focus();\n\n  // Placeholder\n  .placeholder();\n\n  // Disabled and read-only inputs\n  //\n  // HTML5 says that controls under a fieldset > legend:first-child won't be\n  // disabled if the fieldset is disabled. Due to implementation difficulty, we\n  // don't honor that edge case; we style them as disabled anyway.\n  &[disabled],\n  &[readonly],\n  fieldset[disabled] & {\n    cursor: not-allowed;\n    background-color: @input-bg-disabled;\n    opacity: 1; // iOS fix for unreadable disabled content\n  }\n\n  // Reset height for `textarea`s\n  textarea& {\n    height: auto;\n  }\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n\n\n// Special styles for iOS date input\n//\n// In Mobile Safari, date inputs require a pixel line-height that matches the\n// given height of the input.\n\ninput[type=\"date\"] {\n  line-height: @input-height-base;\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: 15px;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n  display: block;\n  min-height: @line-height-computed; // clear the floating input if there is no label text\n  margin-top: 10px;\n  margin-bottom: 10px;\n  padding-left: 20px;\n  label {\n    display: inline;\n    font-weight: normal;\n    cursor: pointer;\n  }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  float: left;\n  margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n//\n// Note: Neither radios nor checkboxes can be readonly.\ninput[type=\"radio\"],\ninput[type=\"checkbox\"],\n.radio,\n.radio-inline,\n.checkbox,\n.checkbox-inline {\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: not-allowed;\n  }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n\n.input-sm {\n  .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n\n.input-lg {\n  .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n  // Enable absolute positioning\n  position: relative;\n\n  // Ensure icons don't overlap text\n  .form-control {\n    padding-right: (@input-height-base * 1.25);\n  }\n\n  // Feedback icon (requires .glyphicon classes)\n  .form-control-feedback {\n    position: absolute;\n    top: (@line-height-computed + 5); // Height of the `label` and its margin\n    right: 0;\n    display: block;\n    width: @input-height-base;\n    height: @input-height-base;\n    line-height: @input-height-base;\n    text-align: center;\n  }\n}\n\n// Feedback states\n.has-success {\n  .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n  .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n  .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n  margin-bottom: 0; // Remove default margin from `p`\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n  display: block; // account for any element using help-block\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n  // Kick in the inline\n  @media (min-width: @screen-sm-min) {\n    // Inline-block all the things for \"inline\"\n    .form-group {\n      display: inline-block;\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // In navbar-form, allow folks to *not* use `.form-group`\n    .form-control {\n      display: inline-block;\n      width: auto; // Prevent labels from stacking above inputs in `.form-group`\n      vertical-align: middle;\n    }\n    // Input groups need that 100% width though\n    .input-group > .form-control {\n      width: 100%;\n    }\n\n    .control-label {\n      margin-bottom: 0;\n      vertical-align: middle;\n    }\n\n    // Remove default margin on radios/checkboxes that were used for stacking, and\n    // then undo the floating of radios and checkboxes to match (which also avoids\n    // a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969).\n    .radio,\n    .checkbox {\n      display: inline-block;\n      margin-top: 0;\n      margin-bottom: 0;\n      padding-left: 0;\n      vertical-align: middle;\n    }\n    .radio input[type=\"radio\"],\n    .checkbox input[type=\"checkbox\"] {\n      float: none;\n      margin-left: 0;\n    }\n\n    // Validation states\n    //\n    // Reposition the icon because it's now within a grid column and columns have\n    // `position: relative;` on them. Also accounts for the grid gutter padding.\n    .has-feedback .form-control-feedback {\n      top: 0;\n    }\n  }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n  // Consistent vertical alignment of labels, radios, and checkboxes\n  .control-label,\n  .radio,\n  .checkbox,\n  .radio-inline,\n  .checkbox-inline {\n    margin-top: 0;\n    margin-bottom: 0;\n    padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n  }\n  // Account for padding we're adding to ensure the alignment and of help text\n  // and other content below items\n  .radio,\n  .checkbox {\n    min-height: (@line-height-computed + (@padding-base-vertical + 1));\n  }\n\n  // Make form groups behave like rows\n  .form-group {\n    .make-row();\n  }\n\n  .form-control-static {\n    padding-top: (@padding-base-vertical + 1);\n  }\n\n  // Only right align form labels here when the columns stop stacking\n  @media (min-width: @screen-sm-min) {\n    .control-label {\n      text-align: right;\n    }\n  }\n\n  // Validation states\n  //\n  // Reposition the icon because it's now within a grid column and columns have\n  // `position: relative;` on them. Also accounts for the grid gutter padding.\n  .has-feedback .form-control-feedback {\n    top: 0;\n    right: (@grid-gutter-width / 2);\n  }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n  display: inline-block;\n  margin-bottom: 0; // For input.btn\n  font-weight: @btn-font-weight;\n  text-align: center;\n  vertical-align: middle;\n  cursor: pointer;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  white-space: nowrap;\n  .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base);\n  .user-select(none);\n\n  &,\n  &:active,\n  &.active {\n    &:focus {\n      .tab-focus();\n    }\n  }\n\n  &:hover,\n  &:focus {\n    color: @btn-default-color;\n    text-decoration: none;\n  }\n\n  &:active,\n  &.active {\n    outline: 0;\n    background-image: none;\n    .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n  }\n\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    cursor: not-allowed;\n    pointer-events: none; // Future-proof disabling of clicks\n    .opacity(.65);\n    .box-shadow(none);\n  }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n  .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n  .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n  .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n  .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n  .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n  .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n  color: @link-color;\n  font-weight: normal;\n  cursor: pointer;\n  border-radius: 0;\n\n  &,\n  &:active,\n  &[disabled],\n  fieldset[disabled] & {\n    background-color: transparent;\n    .box-shadow(none);\n  }\n  &,\n  &:hover,\n  &:focus,\n  &:active {\n    border-color: transparent;\n  }\n  &:hover,\n  &:focus {\n    color: @link-hover-color;\n    text-decoration: underline;\n    background-color: transparent;\n  }\n  &[disabled],\n  fieldset[disabled] & {\n    &:hover,\n    &:focus {\n      color: @btn-link-disabled-color;\n      text-decoration: none;\n    }\n  }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n  // line-height: ensure even-numbered height of button next to large input\n  .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n.btn-sm {\n  // line-height: ensure proper height of button next to small input\n  .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n.btn-xs {\n  .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n  display: block;\n  width: 100%;\n  padding-left: 0;\n  padding-right: 0;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n  &.btn-block {\n    width: 100%;\n  }\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n  > .btn {\n    position: relative;\n    float: left;\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active,\n    &.active {\n      z-index: 2;\n    }\n    &:focus {\n      // Remove focus outline when dropdown JS adds it after closing the menu\n      outline: none;\n    }\n  }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n  .btn + .btn,\n  .btn + .btn-group,\n  .btn-group + .btn,\n  .btn-group + .btn-group {\n    margin-left: -1px;\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  margin-left: -5px; // Offset the first child's margin\n  &:extend(.clearfix all);\n\n  .btn-group,\n  .input-group {\n    float: left;\n  }\n  > .btn,\n  > .btn-group,\n  > .input-group {\n    margin-left: 5px;\n  }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n  margin-left: 0;\n  &:not(:last-child):not(.dropdown-toggle) {\n    .border-right-radius(0);\n  }\n}\n// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-right-radius(0);\n  }\n}\n.btn-group > .btn-group:last-child > .btn:first-child {\n  .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n  .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    .box-shadow(none);\n  }\n}\n\n\n// Reposition the caret\n.btn .caret {\n  margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n  border-width: @caret-width-large @caret-width-large 0;\n  border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n  border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n  > .btn,\n  > .btn-group,\n  > .btn-group > .btn {\n    display: block;\n    float: none;\n    width: 100%;\n    max-width: 100%;\n  }\n\n  // Clear floats so dropdown menus can be properly placed\n  > .btn-group {\n    &:extend(.clearfix all);\n    > .btn {\n      float: none;\n    }\n  }\n\n  > .btn + .btn,\n  > .btn + .btn-group,\n  > .btn-group + .btn,\n  > .btn-group + .btn-group {\n    margin-top: -1px;\n    margin-left: 0;\n  }\n}\n\n.btn-group-vertical > .btn {\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n  &:first-child:not(:last-child) {\n    border-top-right-radius: @border-radius-base;\n    .border-bottom-radius(0);\n  }\n  &:last-child:not(:first-child) {\n    border-bottom-left-radius: @border-radius-base;\n    .border-top-radius(0);\n  }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n  > .btn:last-child,\n  > .dropdown-toggle {\n    .border-bottom-radius(0);\n  }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  .border-top-radius(0);\n}\n\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n  > .btn,\n  > .btn-group {\n    float: none;\n    display: table-cell;\n    width: 1%;\n  }\n  > .btn-group .btn {\n    width: 100%;\n  }\n}\n\n\n// Checkbox and radio options\n[data-toggle=\"buttons\"] > .btn > input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn > input[type=\"checkbox\"] {\n  display: none;\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twitter/bootstrap/pull/3552.\n\n.fade {\n  opacity: 0;\n  .transition(opacity .15s linear);\n  &.in {\n    opacity: 1;\n  }\n}\n\n.collapse {\n  display: none;\n  &.in {\n    display: block;\n  }\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  .transition(height .35s ease);\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n//  Star\n\n// Import the fonts\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: ~\"url('@{icon-font-path}@{icon-font-name}.eot')\";\n  src: ~\"url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype')\",\n       ~\"url('@{icon-font-path}@{icon-font-name}.woff') format('woff')\",\n       ~\"url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype')\",\n       ~\"url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg')\";\n}\n\n// Catchall baseclass\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk               { &:before { content: \"\\2a\"; } }\n.glyphicon-plus                   { &:before { content: \"\\2b\"; } }\n.glyphicon-euro                   { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus                  { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud                  { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope               { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil                 { &:before { content: \"\\270f\"; } }\n.glyphicon-glass                  { &:before { content: \"\\e001\"; } }\n.glyphicon-music                  { &:before { content: \"\\e002\"; } }\n.glyphicon-search                 { &:before { content: \"\\e003\"; } }\n.glyphicon-heart                  { &:before { content: \"\\e005\"; } }\n.glyphicon-star                   { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty             { &:before { content: \"\\e007\"; } }\n.glyphicon-user                   { &:before { content: \"\\e008\"; } }\n.glyphicon-film                   { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large               { &:before { content: \"\\e010\"; } }\n.glyphicon-th                     { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list                { &:before { content: \"\\e012\"; } }\n.glyphicon-ok                     { &:before { content: \"\\e013\"; } }\n.glyphicon-remove                 { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in                { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out               { &:before { content: \"\\e016\"; } }\n.glyphicon-off                    { &:before { content: \"\\e017\"; } }\n.glyphicon-signal                 { &:before { content: \"\\e018\"; } }\n.glyphicon-cog                    { &:before { content: \"\\e019\"; } }\n.glyphicon-trash                  { &:before { content: \"\\e020\"; } }\n.glyphicon-home                   { &:before { content: \"\\e021\"; } }\n.glyphicon-file                   { &:before { content: \"\\e022\"; } }\n.glyphicon-time                   { &:before { content: \"\\e023\"; } }\n.glyphicon-road                   { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt           { &:before { content: \"\\e025\"; } }\n.glyphicon-download               { &:before { content: \"\\e026\"; } }\n.glyphicon-upload                 { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox                  { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle            { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat                 { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh                { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt               { &:before { content: \"\\e032\"; } }\n.glyphicon-lock                   { &:before { content: \"\\e033\"; } }\n.glyphicon-flag                   { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones             { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off             { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down            { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up              { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode                 { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode                { &:before { content: \"\\e040\"; } }\n.glyphicon-tag                    { &:before { content: \"\\e041\"; } }\n.glyphicon-tags                   { &:before { content: \"\\e042\"; } }\n.glyphicon-book                   { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark               { &:before { content: \"\\e044\"; } }\n.glyphicon-print                  { &:before { content: \"\\e045\"; } }\n.glyphicon-camera                 { &:before { content: \"\\e046\"; } }\n.glyphicon-font                   { &:before { content: \"\\e047\"; } }\n.glyphicon-bold                   { &:before { content: \"\\e048\"; } }\n.glyphicon-italic                 { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height            { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width             { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left             { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center           { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right            { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify          { &:before { content: \"\\e055\"; } }\n.glyphicon-list                   { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left            { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right           { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video         { &:before { content: \"\\e059\"; } }\n.glyphicon-picture                { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker             { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust                 { &:before { content: \"\\e063\"; } }\n.glyphicon-tint                   { &:before { content: \"\\e064\"; } }\n.glyphicon-edit                   { &:before { content: \"\\e065\"; } }\n.glyphicon-share                  { &:before { content: \"\\e066\"; } }\n.glyphicon-check                  { &:before { content: \"\\e067\"; } }\n.glyphicon-move                   { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward          { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward          { &:before { content: \"\\e070\"; } }\n.glyphicon-backward               { &:before { content: \"\\e071\"; } }\n.glyphicon-play                   { &:before { content: \"\\e072\"; } }\n.glyphicon-pause                  { &:before { content: \"\\e073\"; } }\n.glyphicon-stop                   { &:before { content: \"\\e074\"; } }\n.glyphicon-forward                { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward           { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward           { &:before { content: \"\\e077\"; } }\n.glyphicon-eject                  { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left           { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right          { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign              { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign             { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign            { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign                { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign          { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign              { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot             { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle          { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle              { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle             { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left             { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right            { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up               { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down             { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt              { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full            { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small           { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign       { &:before { content: \"\\e101\"; } }\n.glyphicon-gift                   { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf                   { &:before { content: \"\\e103\"; } }\n.glyphicon-fire                   { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open               { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close              { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign           { &:before { content: \"\\e107\"; } }\n.glyphicon-plane                  { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar               { &:before { content: \"\\e109\"; } }\n.glyphicon-random                 { &:before { content: \"\\e110\"; } }\n.glyphicon-comment                { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet                 { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up             { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down           { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet                { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart          { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close           { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open            { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical        { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal      { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd                    { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn               { &:before { content: \"\\e122\"; } }\n.glyphicon-bell                   { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate            { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up              { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down            { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right             { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left              { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up                { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down              { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right     { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left      { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up        { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down      { &:before { content: \"\\e134\"; } }\n.glyphicon-globe                  { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench                 { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks                  { &:before { content: \"\\e137\"; } }\n.glyphicon-filter                 { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase              { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen             { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard              { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip              { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty            { &:before { content: \"\\e143\"; } }\n.glyphicon-link                   { &:before { content: \"\\e144\"; } }\n.glyphicon-phone                  { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin                { &:before { content: \"\\e146\"; } }\n.glyphicon-usd                    { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp                    { &:before { content: \"\\e149\"; } }\n.glyphicon-sort                   { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet       { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt   { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order          { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt      { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes     { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked              { &:before { content: \"\\e157\"; } }\n.glyphicon-expand                 { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down          { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up            { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in                 { &:before { content: \"\\e161\"; } }\n.glyphicon-flash                  { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out                { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window             { &:before { content: \"\\e164\"; } }\n.glyphicon-record                 { &:before { content: \"\\e165\"; } }\n.glyphicon-save                   { &:before { content: \"\\e166\"; } }\n.glyphicon-open                   { &:before { content: \"\\e167\"; } }\n.glyphicon-saved                  { &:before { content: \"\\e168\"; } }\n.glyphicon-import                 { &:before { content: \"\\e169\"; } }\n.glyphicon-export                 { &:before { content: \"\\e170\"; } }\n.glyphicon-send                   { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk            { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved           { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove          { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save            { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open            { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card            { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer               { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery                { &:before { content: \"\\e179\"; } }\n.glyphicon-header                 { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed             { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone               { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt              { &:before { content: \"\\e183\"; } }\n.glyphicon-tower                  { &:before { content: \"\\e184\"; } }\n.glyphicon-stats                  { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video               { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video               { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles              { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo           { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby            { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1              { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1              { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1              { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark         { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark      { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download         { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload           { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer           { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous         { &:before { content: \"\\e200\"; } }\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top:   @caret-width-base solid;\n  border-right: @caret-width-base solid transparent;\n  border-left:  @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropdown {\n  position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n  outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: @zindex-dropdown;\n  display: none; // none by default, but block on \"open\" of the menu\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0; // override default ul\n  list-style: none;\n  font-size: @font-size-base;\n  background-color: @dropdown-bg;\n  border: 1px solid @dropdown-fallback-border; // IE8 fallback\n  border: 1px solid @dropdown-border;\n  border-radius: @border-radius-base;\n  .box-shadow(0 6px 12px rgba(0,0,0,.175));\n  background-clip: padding-box;\n\n  // Aligns the dropdown menu to right\n  //\n  // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n  &.pull-right {\n    right: 0;\n    left: auto;\n  }\n\n  // Dividers (basically an hr) within the dropdown\n  .divider {\n    .nav-divider(@dropdown-divider-bg);\n  }\n\n  // Links within the dropdown menu\n  > li > a {\n    display: block;\n    padding: 3px 20px;\n    clear: both;\n    font-weight: normal;\n    line-height: @line-height-base;\n    color: @dropdown-link-color;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n  }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    color: @dropdown-link-hover-color;\n    background-color: @dropdown-link-hover-bg;\n  }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-active-color;\n    text-decoration: none;\n    outline: 0;\n    background-color: @dropdown-link-active-bg;\n  }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n  &,\n  &:hover,\n  &:focus {\n    color: @dropdown-link-disabled-color;\n  }\n}\n// Nuke hover/focus effects\n.dropdown-menu > .disabled > a {\n  &:hover,\n  &:focus {\n    text-decoration: none;\n    background-color: transparent;\n    background-image: none; // Remove CSS gradient\n    .reset-filter();\n    cursor: not-allowed;\n  }\n}\n\n// Open state for the dropdown\n.open {\n  // Show the menu\n  > .dropdown-menu {\n    display: block;\n  }\n\n  // Remove the outline when :focus is triggered\n  > a {\n    outline: 0;\n  }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n  left: auto; // Reset the default from `.dropdown-menu`\n  right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n  left: 0;\n  right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: @font-size-small;\n  line-height: @line-height-base;\n  color: @dropdown-header-color;\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n  // Reverse the caret\n  .caret {\n    border-top: 0;\n    border-bottom: @caret-width-base solid;\n    content: \"\";\n  }\n  // Different positioning for bottom up menu\n  .dropdown-menu {\n    top: auto;\n    bottom: 100%;\n    margin-bottom: 1px;\n  }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-right {\n    .dropdown-menu {\n      .dropdown-menu-right();\n    }\n    // Necessary for overrides of the default right aligned menu.\n    // Will remove come v4 in all likelihood.\n    .dropdown-menu-left {\n      .dropdown-menu-left();\n    }\n  }\n}\n\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n  position: relative; // For dropdowns\n  display: table;\n  border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n  // Undo padding and float of grid classes\n  &[class*=\"col-\"] {\n    float: none;\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n  .form-control {\n    // Ensure that the input is always above the *appended* addon button for\n    // proper border colors.\n    position: relative;\n    z-index: 2;\n\n    // IE9 fubars the placeholder attribute in text inputs and the arrows on\n    // select elements in input groups. To fix it, we float the input. Details:\n    // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n    float: left;\n\n    width: 100%;\n    margin-bottom: 0;\n  }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn { .input-lg(); }\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn { .input-sm(); }\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n\n  &:not(:first-child):not(:last-child) {\n    border-radius: 0;\n  }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n  padding: @padding-base-vertical @padding-base-horizontal;\n  font-size: @font-size-base;\n  font-weight: normal;\n  line-height: 1;\n  color: @input-color;\n  text-align: center;\n  background-color: @input-group-addon-bg;\n  border: 1px solid @input-group-addon-border-color;\n  border-radius: @border-radius-base;\n\n  // Sizing\n  &.input-sm {\n    padding: @padding-small-vertical @padding-small-horizontal;\n    font-size: @font-size-small;\n    border-radius: @border-radius-small;\n  }\n  &.input-lg {\n    padding: @padding-large-vertical @padding-large-horizontal;\n    font-size: @font-size-large;\n    border-radius: @border-radius-large;\n  }\n\n  // Nuke default margins from checkboxes and radios to vertically center within.\n  input[type=\"radio\"],\n  input[type=\"checkbox\"] {\n    margin-top: 0;\n  }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  .border-right-radius(0);\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  .border-left-radius(0);\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n  position: relative;\n  // Jankily prevent input button groups from wrapping with `white-space` and\n  // `font-size` in combination with `inline-block` on buttons.\n  font-size: 0;\n  white-space: nowrap;\n\n  // Negative margin for spacing, position for bringing hovered/focused/actived\n  // element above the siblings.\n  > .btn {\n    position: relative;\n    + .btn {\n      margin-left: -1px;\n    }\n    // Bring the \"active\" button to the front\n    &:hover,\n    &:focus,\n    &:active {\n      z-index: 2;\n    }\n  }\n\n  // Negative margin to only have a 1px border between the two\n  &:first-child {\n    > .btn,\n    > .btn-group {\n      margin-right: -1px;\n    }\n  }\n  &:last-child {\n    > .btn,\n    > .btn-group {\n      margin-left: -1px;\n    }\n  }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n  margin-bottom: 0;\n  padding-left: 0; // Override default ul/ol\n  list-style: none;\n  &:extend(.clearfix all);\n\n  > li {\n    position: relative;\n    display: block;\n\n    > a {\n      position: relative;\n      display: block;\n      padding: @nav-link-padding;\n      &:hover,\n      &:focus {\n        text-decoration: none;\n        background-color: @nav-link-hover-bg;\n      }\n    }\n\n    // Disabled state sets text to gray and nukes hover/tab effects\n    &.disabled > a {\n      color: @nav-disabled-link-color;\n\n      &:hover,\n      &:focus {\n        color: @nav-disabled-link-hover-color;\n        text-decoration: none;\n        background-color: transparent;\n        cursor: not-allowed;\n      }\n    }\n  }\n\n  // Open dropdowns\n  .open > a {\n    &,\n    &:hover,\n    &:focus {\n      background-color: @nav-link-hover-bg;\n      border-color: @link-color;\n    }\n  }\n\n  // Nav dividers (deprecated with v3.0.1)\n  //\n  // This should have been removed in v3 with the dropping of `.nav-list`, but\n  // we missed it. We don't currently support this anywhere, but in the interest\n  // of maintaining backward compatibility in case you use it, it's deprecated.\n  .nav-divider {\n    .nav-divider();\n  }\n\n  // Prevent IE8 from misplacing imgs\n  //\n  // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n  > li > a > img {\n    max-width: none;\n  }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n  border-bottom: 1px solid @nav-tabs-border-color;\n  > li {\n    float: left;\n    // Make the list-items overlay the bottom border\n    margin-bottom: -1px;\n\n    // Actual tabs (as links)\n    > a {\n      margin-right: 2px;\n      line-height: @line-height-base;\n      border: 1px solid transparent;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n      &:hover {\n        border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n      }\n    }\n\n    // Active state, and its :hover to override normal :hover\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-tabs-active-link-hover-color;\n        background-color: @nav-tabs-active-link-hover-bg;\n        border: 1px solid @nav-tabs-active-link-hover-border-color;\n        border-bottom-color: transparent;\n        cursor: default;\n      }\n    }\n  }\n  // pulling this in mainly for less shorthand\n  &.nav-justified {\n    .nav-justified();\n    .nav-tabs-justified();\n  }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n  > li {\n    float: left;\n\n    // Links rendered as pills\n    > a {\n      border-radius: @nav-pills-border-radius;\n    }\n    + li {\n      margin-left: 2px;\n    }\n\n    // Active state\n    &.active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @nav-pills-active-link-hover-color;\n        background-color: @nav-pills-active-link-hover-bg;\n      }\n    }\n  }\n}\n\n\n// Stacked pills\n.nav-stacked {\n  > li {\n    float: none;\n    + li {\n      margin-top: 2px;\n      margin-left: 0; // no need for this gap between nav items\n    }\n  }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n  width: 100%;\n\n  > li {\n    float: none;\n     > a {\n      text-align: center;\n      margin-bottom: 5px;\n    }\n  }\n\n  > .dropdown .dropdown-menu {\n    top: auto;\n    left: auto;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li {\n      display: table-cell;\n      width: 1%;\n      > a {\n        margin-bottom: 0;\n      }\n    }\n  }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n  border-bottom: 0;\n\n  > li > a {\n    // Override margin from .nav-tabs\n    margin-right: 0;\n    border-radius: @border-radius-base;\n  }\n\n  > .active > a,\n  > .active > a:hover,\n  > .active > a:focus {\n    border: 1px solid @nav-tabs-justified-link-border-color;\n  }\n\n  @media (min-width: @screen-sm-min) {\n    > li > a {\n      border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n      border-radius: @border-radius-base @border-radius-base 0 0;\n    }\n    > .active > a,\n    > .active > a:hover,\n    > .active > a:focus {\n      border-bottom-color: @nav-tabs-justified-active-link-border-color;\n    }\n  }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n  > .tab-pane {\n    display: none;\n  }\n  > .active {\n    display: block;\n  }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n  // make dropdown border overlap tab border\n  margin-top: -1px;\n  // Remove the top rounded corners here since there is a hard edge above the menu\n  .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n  position: relative;\n  min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n  margin-bottom: @navbar-margin-bottom;\n  border: 1px solid transparent;\n\n  // Prevent floats from breaking the navbar\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: @navbar-border-radius;\n  }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n  &:extend(.clearfix all);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n  }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n  max-height: @navbar-collapse-max-height;\n  overflow-x: visible;\n  padding-right: @navbar-padding-horizontal;\n  padding-left:  @navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n  &:extend(.clearfix all);\n  -webkit-overflow-scrolling: touch;\n\n  &.in {\n    overflow-y: auto;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n\n    &.collapse {\n      display: block !important;\n      height: auto !important;\n      padding-bottom: 0; // Override default setting\n      overflow: visible !important;\n    }\n\n    &.in {\n      overflow-y: visible;\n    }\n\n    // Undo the collapse side padding for navbars with containers to ensure\n    // alignment of right-aligned contents.\n    .navbar-fixed-top &,\n    .navbar-static-top &,\n    .navbar-fixed-bottom & {\n      padding-left: 0;\n      padding-right: 0;\n    }\n  }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n  > .navbar-header,\n  > .navbar-collapse {\n    margin-right: -@navbar-padding-horizontal;\n    margin-left:  -@navbar-padding-horizontal;\n\n    @media (min-width: @grid-float-breakpoint) {\n      margin-right: 0;\n      margin-left:  0;\n    }\n  }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n  z-index: @zindex-navbar;\n  border-width: 0 0 1px;\n\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: @zindex-navbar-fixed;\n\n  // Undo the rounded corners\n  @media (min-width: @grid-float-breakpoint) {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0; // override .navbar defaults\n  border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n  float: left;\n  padding: @navbar-padding-vertical @navbar-padding-horizontal;\n  font-size: @font-size-large;\n  line-height: @line-height-computed;\n  height: @navbar-height;\n\n  &:hover,\n  &:focus {\n    text-decoration: none;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    .navbar > .container &,\n    .navbar > .container-fluid & {\n      margin-left: -@navbar-padding-horizontal;\n    }\n  }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: @navbar-padding-horizontal;\n  padding: 9px 10px;\n  .navbar-vertical-align(34px);\n  background-color: transparent;\n  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n  border: 1px solid transparent;\n  border-radius: @border-radius-base;\n\n  // We remove the `outline` here, but later compensate by attaching `:hover`\n  // styles to `:focus`.\n  &:focus {\n    outline: none;\n  }\n\n  // Bars\n  .icon-bar {\n    display: block;\n    width: 22px;\n    height: 2px;\n    border-radius: 1px;\n  }\n  .icon-bar + .icon-bar {\n    margin-top: 4px;\n  }\n\n  @media (min-width: @grid-float-breakpoint) {\n    display: none;\n  }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n  margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n  > li > a {\n    padding-top:    10px;\n    padding-bottom: 10px;\n    line-height: @line-height-computed;\n  }\n\n  @media (max-width: @grid-float-breakpoint-max) {\n    // Dropdowns get custom display when collapsed\n    .open .dropdown-menu {\n      position: static;\n      float: none;\n      width: auto;\n      margin-top: 0;\n      background-color: transparent;\n      border: 0;\n      box-shadow: none;\n      > li > a,\n      .dropdown-header {\n        padding: 5px 15px 5px 25px;\n      }\n      > li > a {\n        line-height: @line-height-computed;\n        &:hover,\n        &:focus {\n          background-image: none;\n        }\n      }\n    }\n  }\n\n  // Uncollapse the nav\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin: 0;\n\n    > li {\n      float: left;\n      > a {\n        padding-top:    @navbar-padding-vertical;\n        padding-bottom: @navbar-padding-vertical;\n      }\n    }\n\n    &.navbar-right:last-child {\n      margin-right: -@navbar-padding-horizontal;\n    }\n  }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n\n@media (min-width: @grid-float-breakpoint) {\n  .navbar-left  { .pull-left(); }\n  .navbar-right { .pull-right(); }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n  margin-left: -@navbar-padding-horizontal;\n  margin-right: -@navbar-padding-horizontal;\n  padding: 10px @navbar-padding-horizontal;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n  .box-shadow(@shadow);\n\n  // Mixin behavior for optimum display\n  .form-inline();\n\n  .form-group {\n    @media (max-width: @grid-float-breakpoint-max) {\n      margin-bottom: 5px;\n    }\n  }\n\n  // Vertically center in expanded, horizontal navbar\n  .navbar-vertical-align(@input-height-base);\n\n  // Undo 100% width for pull classes\n  @media (min-width: @grid-float-breakpoint) {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    .box-shadow(none);\n\n    // Outdent the form if last child to line up with content down the page\n    &.navbar-right:last-child {\n      margin-right: -@navbar-padding-horizontal;\n    }\n  }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n  .navbar-vertical-align(@input-height-base);\n\n  &.btn-sm {\n    .navbar-vertical-align(@input-height-small);\n  }\n  &.btn-xs {\n    .navbar-vertical-align(22);\n  }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n  .navbar-vertical-align(@line-height-computed);\n\n  @media (min-width: @grid-float-breakpoint) {\n    float: left;\n    margin-left: @navbar-padding-horizontal;\n    margin-right: @navbar-padding-horizontal;\n\n    // Outdent the form if last child to line up with content down the page\n    &.navbar-right:last-child {\n      margin-right: 0;\n    }\n  }\n}\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n  background-color: @navbar-default-bg;\n  border-color: @navbar-default-border;\n\n  .navbar-brand {\n    color: @navbar-default-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-default-brand-hover-color;\n      background-color: @navbar-default-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-default-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-default-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-hover-color;\n        background-color: @navbar-default-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-active-color;\n        background-color: @navbar-default-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-default-link-disabled-color;\n        background-color: @navbar-default-link-disabled-bg;\n      }\n    }\n  }\n\n  .navbar-toggle {\n    border-color: @navbar-default-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-default-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-default-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: @navbar-default-border;\n  }\n\n  // Dropdown menu items\n  .navbar-nav {\n    // Remove background color from open dropdown\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: @navbar-default-link-active-bg;\n        color: @navbar-default-link-active-color;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display when collapsed\n      .open .dropdown-menu {\n        > li > a {\n          color: @navbar-default-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-hover-color;\n            background-color: @navbar-default-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-active-color;\n            background-color: @navbar-default-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-default-link-disabled-color;\n            background-color: @navbar-default-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n\n  // Links in navbars\n  //\n  // Add a class to ensure links outside the navbar nav are colored correctly.\n\n  .navbar-link {\n    color: @navbar-default-link-color;\n    &:hover {\n      color: @navbar-default-link-hover-color;\n    }\n  }\n\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n  background-color: @navbar-inverse-bg;\n  border-color: @navbar-inverse-border;\n\n  .navbar-brand {\n    color: @navbar-inverse-brand-color;\n    &:hover,\n    &:focus {\n      color: @navbar-inverse-brand-hover-color;\n      background-color: @navbar-inverse-brand-hover-bg;\n    }\n  }\n\n  .navbar-text {\n    color: @navbar-inverse-color;\n  }\n\n  .navbar-nav {\n    > li > a {\n      color: @navbar-inverse-link-color;\n\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-hover-color;\n        background-color: @navbar-inverse-link-hover-bg;\n      }\n    }\n    > .active > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-active-color;\n        background-color: @navbar-inverse-link-active-bg;\n      }\n    }\n    > .disabled > a {\n      &,\n      &:hover,\n      &:focus {\n        color: @navbar-inverse-link-disabled-color;\n        background-color: @navbar-inverse-link-disabled-bg;\n      }\n    }\n  }\n\n  // Darken the responsive nav toggle\n  .navbar-toggle {\n    border-color: @navbar-inverse-toggle-border-color;\n    &:hover,\n    &:focus {\n      background-color: @navbar-inverse-toggle-hover-bg;\n    }\n    .icon-bar {\n      background-color: @navbar-inverse-toggle-icon-bar-bg;\n    }\n  }\n\n  .navbar-collapse,\n  .navbar-form {\n    border-color: darken(@navbar-inverse-bg, 7%);\n  }\n\n  // Dropdowns\n  .navbar-nav {\n    > .open > a {\n      &,\n      &:hover,\n      &:focus {\n        background-color: @navbar-inverse-link-active-bg;\n        color: @navbar-inverse-link-active-color;\n      }\n    }\n\n    @media (max-width: @grid-float-breakpoint-max) {\n      // Dropdowns get custom display\n      .open .dropdown-menu {\n        > .dropdown-header {\n          border-color: @navbar-inverse-border;\n        }\n        .divider {\n          background-color: @navbar-inverse-border;\n        }\n        > li > a {\n          color: @navbar-inverse-link-color;\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-hover-color;\n            background-color: @navbar-inverse-link-hover-bg;\n          }\n        }\n        > .active > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-active-color;\n            background-color: @navbar-inverse-link-active-bg;\n          }\n        }\n        > .disabled > a {\n          &,\n          &:hover,\n          &:focus {\n            color: @navbar-inverse-link-disabled-color;\n            background-color: @navbar-inverse-link-disabled-bg;\n          }\n        }\n      }\n    }\n  }\n\n  .navbar-link {\n    color: @navbar-inverse-link-color;\n    &:hover {\n      color: @navbar-inverse-link-hover-color;\n    }\n  }\n\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n  .clearfix();\n}\n.center-block {\n  .center-block();\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n  display: none !important;\n  visibility: hidden !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n  position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n  padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n  margin-bottom: @line-height-computed;\n  list-style: none;\n  background-color: @breadcrumb-bg;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline-block;\n\n    + li:before {\n      content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n      padding: 0 5px;\n      color: @breadcrumb-color;\n    }\n  }\n\n  > .active {\n    color: @breadcrumb-active-color;\n  }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  border-radius: @border-radius-base;\n\n  > li {\n    display: inline; // Remove list-style and block-level defaults\n    > a,\n    > span {\n      position: relative;\n      float: left; // Collapse white-space\n      padding: @padding-base-vertical @padding-base-horizontal;\n      line-height: @line-height-base;\n      text-decoration: none;\n      color: @pagination-color;\n      background-color: @pagination-bg;\n      border: 1px solid @pagination-border;\n      margin-left: -1px;\n    }\n    &:first-child {\n      > a,\n      > span {\n        margin-left: 0;\n        .border-left-radius(@border-radius-base);\n      }\n    }\n    &:last-child {\n      > a,\n      > span {\n        .border-right-radius(@border-radius-base);\n      }\n    }\n  }\n\n  > li > a,\n  > li > span {\n    &:hover,\n    &:focus {\n      color: @pagination-hover-color;\n      background-color: @pagination-hover-bg;\n      border-color: @pagination-hover-border;\n    }\n  }\n\n  > .active > a,\n  > .active > span {\n    &,\n    &:hover,\n    &:focus {\n      z-index: 2;\n      color: @pagination-active-color;\n      background-color: @pagination-active-bg;\n      border-color: @pagination-active-border;\n      cursor: default;\n    }\n  }\n\n  > .disabled {\n    > span,\n    > span:hover,\n    > span:focus,\n    > a,\n    > a:hover,\n    > a:focus {\n      color: @pagination-disabled-color;\n      background-color: @pagination-disabled-bg;\n      border-color: @pagination-disabled-border;\n      cursor: not-allowed;\n    }\n  }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n  .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n  .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small);\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n  padding-left: 0;\n  margin: @line-height-computed 0;\n  list-style: none;\n  text-align: center;\n  &:extend(.clearfix all);\n  li {\n    display: inline;\n    > a,\n    > span {\n      display: inline-block;\n      padding: 5px 14px;\n      background-color: @pager-bg;\n      border: 1px solid @pager-border;\n      border-radius: @pager-border-radius;\n    }\n\n    > a:hover,\n    > a:focus {\n      text-decoration: none;\n      background-color: @pager-hover-bg;\n    }\n  }\n\n  .next {\n    > a,\n    > span {\n      float: right;\n    }\n  }\n\n  .previous {\n    > a,\n    > span {\n      float: left;\n    }\n  }\n\n  .disabled {\n    > a,\n    > a:hover,\n    > a:focus,\n    > span {\n      color: @pager-disabled-color;\n      background-color: @pager-bg;\n      cursor: not-allowed;\n    }\n  }\n\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: @label-color;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n\n  // Add hover effects, but only for links\n  &[href] {\n    &:hover,\n    &:focus {\n      color: @label-link-hover-color;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n\n  // Empty labels collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for labels in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n  .label-variant(@label-default-bg);\n}\n\n.label-primary {\n  .label-variant(@label-primary-bg);\n}\n\n.label-success {\n  .label-variant(@label-success-bg);\n}\n\n.label-info {\n  .label-variant(@label-info-bg);\n}\n\n.label-warning {\n  .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n  .label-variant(@label-danger-bg);\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base classes\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: @font-size-small;\n  font-weight: @badge-font-weight;\n  color: @badge-color;\n  line-height: @badge-line-height;\n  vertical-align: baseline;\n  white-space: nowrap;\n  text-align: center;\n  background-color: @badge-bg;\n  border-radius: @badge-border-radius;\n\n  // Empty badges collapse automatically (not available in IE8)\n  &:empty {\n    display: none;\n  }\n\n  // Quick fix for badges in buttons\n  .btn & {\n    position: relative;\n    top: -1px;\n  }\n  .btn-xs & {\n    top: 0;\n    padding: 1px 5px;\n  }\n}\n\n// Hover state, but only for links\na.badge {\n  &:hover,\n  &:focus {\n    color: @badge-link-hover-color;\n    text-decoration: none;\n    cursor: pointer;\n  }\n}\n\n// Account for counters in navs\na.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: @badge-active-color;\n  background-color: @badge-active-bg;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n  padding: @jumbotron-padding;\n  margin-bottom: @jumbotron-padding;\n  color: @jumbotron-color;\n  background-color: @jumbotron-bg;\n\n  h1,\n  .h1 {\n    color: @jumbotron-heading-color;\n  }\n  p {\n    margin-bottom: (@jumbotron-padding / 2);\n    font-size: @jumbotron-font-size;\n    font-weight: 200;\n  }\n\n  .container & {\n    border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n  }\n\n  .container {\n    max-width: 100%;\n  }\n\n  @media screen and (min-width: @screen-sm-min) {\n    padding-top:    (@jumbotron-padding * 1.6);\n    padding-bottom: (@jumbotron-padding * 1.6);\n\n    .container & {\n      padding-left:  (@jumbotron-padding * 2);\n      padding-right: (@jumbotron-padding * 2);\n    }\n\n    h1,\n    .h1 {\n      font-size: (@font-size-base * 4.5);\n    }\n  }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n  padding: @alert-padding;\n  margin-bottom: @line-height-computed;\n  border: 1px solid transparent;\n  border-radius: @alert-border-radius;\n\n  // Headings for larger alerts\n  h4 {\n    margin-top: 0;\n    // Specified for the h4 to prevent conflicts of changing @headings-color\n    color: inherit;\n  }\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: @alert-link-font-weight;\n  }\n\n  // Improve alignment and spacing of inner content\n  > p,\n  > ul {\n    margin-bottom: 0;\n  }\n  > p + p {\n    margin-top: 5px;\n  }\n}\n\n// Dismissable alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable {\n padding-right: (@alert-padding + 20);\n\n  // Adjust close link position\n  .close {\n    position: relative;\n    top: -2px;\n    right: -21px;\n    color: inherit;\n  }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n  .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n.alert-info {\n  .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n.alert-warning {\n  .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n.alert-danger {\n  .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n  from  { background-position: 40px 0; }\n  to    { background-position: 0 0; }\n}\n\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n  overflow: hidden;\n  height: @line-height-computed;\n  margin-bottom: @line-height-computed;\n  background-color: @progress-bg;\n  border-radius: @border-radius-base;\n  .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: @font-size-small;\n  line-height: @line-height-computed;\n  color: @progress-bar-color;\n  text-align: center;\n  background-color: @progress-bar-bg;\n  .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n  .transition(width .6s ease);\n}\n\n// Striped bars\n.progress-striped .progress-bar {\n  #gradient > .striped();\n  background-size: 40px 40px;\n}\n\n// Call animation for the active one\n.progress.active .progress-bar {\n  .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n  .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n  .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n  .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n  .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Media objects\n// Source: http://stubbornella.org/content/?p=497\n// --------------------------------------------------\n\n\n// Common styles\n// -------------------------\n\n// Clear the floats\n.media,\n.media-body {\n  overflow: hidden;\n  zoom: 1;\n}\n\n// Proper spacing between instances of .media\n.media,\n.media .media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n\n// For images and videos, set to block\n.media-object {\n  display: block;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n  margin: 0 0 5px;\n}\n\n\n// Media image alignment\n// -------------------------\n\n.media {\n  > .pull-left {\n    margin-right: 10px;\n  }\n  > .pull-right {\n    margin-left: 10px;\n  }\n}\n\n\n// Media list variation\n// -------------------------\n\n// Undo default ul/ol styles\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on 
    ,
      , or
      .\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n margin-bottom: 20px;\n padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n\n // Align badges within list items\n > .badge {\n float: right;\n }\n > .badge + .badge {\n margin-right: 5px;\n }\n}\n\n\n// Linked list items\n//\n// Use anchor elements instead of `li`s or `div`s to create linked list items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @list-group-hover-bg;\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: 10px 15px;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table {\n margin-bottom: 0;\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n border: 0;\n margin-bottom: 0;\n }\n}\n\n\n// Collapsable panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n overflow: hidden; // crop contents when collapsed\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n + .panel-collapse .panel-body {\n border-top: 1px solid @panel-inner-border;\n }\n }\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n display: none;\n overflow: auto;\n overflow-y: scroll;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0)}\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0,0,0,.5));\n background-clip: padding-box;\n // Remove focus outline from opened modal\n outline: none;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n min-height: (@modal-title-padding + @modal-title-line-height);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n margin-top: 15px;\n padding: (@modal-inner-padding - 1) @modal-inner-padding @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n visibility: visible;\n font-size: @font-size-small;\n line-height: 1.4;\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }\n &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }\n &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }\n &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n text-decoration: none;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip {\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n right: @tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n text-align: left; // Reset given new insertion method\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n // Overrides for proper insertion\n white-space: normal;\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n margin: 0; // reset heading margin\n padding: 8px 14px;\n font-size: @font-size-base;\n font-weight: normal;\n line-height: 18px;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: 5px 5px 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n}\n.popover > .arrow {\n border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n border-width: @popover-arrow-width;\n content: \"\";\n}\n\n.popover {\n &.top > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n bottom: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-color;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n left: 1px;\n bottom: -@popover-arrow-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-color;\n }\n }\n &.bottom > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n top: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n top: 1px;\n margin-left: -@popover-arrow-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n bottom: -@popover-arrow-width;\n }\n }\n\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#browsers\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n"]} \ No newline at end of file diff --git a/Sevomin.WebFrontend/Content/bootstrap.min.css b/Sevomin.WebFrontend/Content/bootstrap.min.css index c547283..679272d 100644 --- a/Sevomin.WebFrontend/Content/bootstrap.min.css +++ b/Sevomin.WebFrontend/Content/bootstrap.min.css @@ -1,7 +1,7 @@ /*! - * Bootstrap v3.0.3 (http://getbootstrap.com) - * Copyright 2013 Twitter, Inc. - * Licensed under http://www.apache.org/licenses/LICENSE-2.0 + * Bootstrap v3.1.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ -/*! normalize.css v2.1.3 | 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],template{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a{background:transparent}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) ")"}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}select{background:#fff!important}.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}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;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}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;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small{font-size:75%}h1,.h1{font-size: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}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-primary:hover{color:#3071a9}.text-warning{color:#8a6d3b}.text-warning:hover{color:#66512c}.text-danger{color:#a94442}.text-danger:hover{color:#843534}.text-success{color:#3c763d}.text-success:hover{color:#2b542c}.text-info{color:#31708f}.text-info:hover{color:#245269}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.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}.list-inline>li:first-child{padding-left:0}dl{margin-top:0;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}.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,blockquote .small{display:block;line-height:1.428571429;color:#999}blockquote small:before,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,blockquote.pull-right .small{text-align:right}blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,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 code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{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}@media(min-width:768px){.container{width:750px}}@media(min-width:992px){.container{width:970px}}@media(min-width:1200px){.container{width:1170px}}.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-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-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,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666666666666%}.col-xs-10{width:83.33333333333334%}.col-xs-9{width:75%}.col-xs-8{width:66.66666666666666%}.col-xs-7{width:58.333333333333336%}.col-xs-6{width:50%}.col-xs-5{width:41.66666666666667%}.col-xs-4{width:33.33333333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666666666664%}.col-xs-1{width:8.333333333333332%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666666666666%}.col-xs-pull-10{right:83.33333333333334%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666666666666%}.col-xs-pull-7{right:58.333333333333336%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666666666667%}.col-xs-pull-4{right:33.33333333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666666666664%}.col-xs-pull-1{right:8.333333333333332%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666666666666%}.col-xs-push-10{left:83.33333333333334%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666666666666%}.col-xs-push-7{left:58.333333333333336%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666666666667%}.col-xs-push-4{left:33.33333333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666666666664%}.col-xs-push-1{left:8.333333333333332%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666666666666%}.col-xs-offset-10{margin-left:83.33333333333334%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666666666666%}.col-xs-offset-7{margin-left:58.333333333333336%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666666666667%}.col-xs-offset-4{margin-left:33.33333333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666666666664%}.col-xs-offset-1{margin-left:8.333333333333332%}.col-xs-offset-0{margin-left:0}@media(min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media(min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media(min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}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-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>.active,.table>tbody>tr>.active,.table>tfoot>tr>.active,.table>thead>.active>td,.table>tbody>.active>td,.table>tfoot>.active>td,.table>thead>.active>th,.table>tbody>.active>th,.table>tfoot>.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>.active:hover,.table-hover>tbody>.active:hover>td,.table-hover>tbody>.active:hover>th{background-color:#e8e8e8}.table>thead>tr>.success,.table>tbody>tr>.success,.table>tfoot>tr>.success,.table>thead>.success>td,.table>tbody>.success>td,.table>tfoot>.success>td,.table>thead>.success>th,.table>tbody>.success>th,.table>tfoot>.success>th{background-color:#dff0d8}.table-hover>tbody>tr>.success:hover,.table-hover>tbody>.success:hover>td,.table-hover>tbody>.success:hover>th{background-color:#d0e9c6}.table>thead>tr>.danger,.table>tbody>tr>.danger,.table>tfoot>tr>.danger,.table>thead>.danger>td,.table>tbody>.danger>td,.table>tfoot>.danger>td,.table>thead>.danger>th,.table>tbody>.danger>th,.table>tfoot>.danger>th{background-color:#f2dede}.table-hover>tbody>tr>.danger:hover,.table-hover>tbody>.danger:hover>td,.table-hover>tbody>.danger:hover>th{background-color:#ebcccc}.table>thead>tr>.warning,.table>tbody>tr>.warning,.table>tfoot>tr>.warning,.table>thead>.warning>td,.table>tbody>.warning>td,.table>tfoot>.warning>td,.table>thead>.warning>th,.table>tbody>.warning>th,.table>tfoot>.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>.warning:hover,.table-hover>tbody>.warning:hover>td,.table-hover>tbody>.warning:hover>th{background-color:#faf2cc}@media(max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#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;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.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;background-image:none;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:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.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:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.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 .radio,.form-horizontal .checkbox{min-height:27px}.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}.form-horizontal .form-control-static{padding-top:7px}@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;background-image:none;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;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-default .badge{color:#fff;background-color:#fff}.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-primary .badge{color:#428bca;background-color:#fff}.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-warning .badge{color:#f0ad4e;background-color:#fff}.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-danger .badge{color:#d9534f;background-color:#fff}.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-success .badge{color:#5cb85c;background-color:#fff}.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-info .badge{color:#5bc0de;background-color:#fff}.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{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.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;-moz-osx-font-smoothing:grayscale}.glyphicon:empty{width:1em}.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-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.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:#262626;text-decoration:none;background-color:#f5f5f5}.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;border-bottom:4px solid;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-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: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-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group: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,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[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[class*="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:46px;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:46px;line-height:46px}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;color:#555;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:first-child>.btn{margin-right:-1px}.input-group-btn:last-child>.btn{margin-left:-1px}.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{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#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{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height: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-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left: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{z-index:1000;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;z-index:1030}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding: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;background-image:none;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}.navbar-nav.navbar-right:last-child{margin-right:-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 select.form-control{width:auto}.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-form.navbar-right:last-child{margin-right:-15px}}.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-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@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}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#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>span:hover,.pagination>.disabled>span:focus,.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}.btn .label{position:relative;top:-1px}.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}.btn .badge{position:relative;top:-1px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}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,.jumbotron .h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;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,.thumbnail a>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.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:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{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;line-height:20px;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-linear-gradient(45deg,rgba(255,255,255,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;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,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}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#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,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child th,.panel>.table>tbody:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.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:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;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}.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{position:relative;z-index:1050;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius: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{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.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-linear-gradient(left,color-stop(rgba(0,0,0,0.5) 0),color-stop(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-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(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;outline:0;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%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;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;background-color:#000 \9;background-color:rgba(0,0,0,0);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 .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,tr.visible-xs,th.visible-xs,td.visible-xs{display:none!important}@media(max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}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}table.visible-xs.visible-sm{display:table}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}table.visible-xs.visible-md{display:table}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}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell!important}}.visible-sm,tr.visible-sm,th.visible-sm,td.visible-sm{display:none!important}@media(max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}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}table.visible-sm{display:table}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}table.visible-sm.visible-md{display:table}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}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell!important}}.visible-md,tr.visible-md,th.visible-md,td.visible-md{display:none!important}@media(max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}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}table.visible-md.visible-sm{display:table}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}table.visible-md{display:table}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}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell!important}}.visible-lg,tr.visible-lg,th.visible-lg,td.visible-lg{display:none!important}@media(max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}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}table.visible-lg.visible-sm{display:table}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}table.visible-lg.visible-md{display:table}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}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}table.hidden-xs{display:table}tr.hidden-xs{display:table-row!important}th.hidden-xs,td.hidden-xs{display:table-cell!important}@media(max-width:767px){.hidden-xs,tr.hidden-xs,th.hidden-xs,td.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,tr.hidden-xs.hidden-md,th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}table.hidden-sm{display:table}tr.hidden-sm{display:table-row!important}th.hidden-sm,td.hidden-sm{display:table-cell!important}@media(max-width:767px){.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-sm,tr.hidden-sm,th.hidden-sm,td.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,tr.hidden-sm.hidden-md,th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}table.hidden-md{display:table}tr.hidden-md{display:table-row!important}th.hidden-md,td.hidden-md{display:table-cell!important}@media(max-width:767px){.hidden-md.hidden-xs,tr.hidden-md.hidden-xs,th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,tr.hidden-md.hidden-sm,th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-md,tr.hidden-md,th.hidden-md,td.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-md.hidden-lg,tr.hidden-md.hidden-lg,th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}table.hidden-lg{display:table}tr.hidden-lg{display:table-row!important}th.hidden-lg,td.hidden-lg{display:table-cell!important}@media(max-width:767px){.hidden-lg.hidden-xs,tr.hidden-lg.hidden-xs,th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm,tr.hidden-lg.hidden-sm,th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md,tr.hidden-lg.hidden-md,th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-lg,tr.hidden-lg,th.hidden-lg,td.hidden-lg{display:none!important}}.visible-print,tr.visible-print,th.visible-print,td.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}.hidden-print,tr.hidden-print,th.hidden-print,td.hidden-print{display:none!important}} \ No newline at end of file +/*! normalize.css v3.0.0 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{*{text-shadow:none!important;color:#000!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) ")"}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}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.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}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size: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.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#999}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size: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}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-muted{color:#999}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.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;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #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-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width: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:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date]{line-height:34px}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px}.radio label,.checkbox label{display:inline;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;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,select[multiple].input-sm{height:auto}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.has-feedback .form-control-feedback{position:absolute;top:25px;right:0;display:block;width:34px;height:34px;line-height:34px;text-align:center}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{float:none;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;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-default .badge{color:#fff;background-color:#333}.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-primary .badge{color:#428bca;background-color:#fff}.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-success .badge{color:#5cb85c;background-color:#fff}.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-info .badge{color:#5bc0de;background-color:#fff}.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-warning .badge{color:#f0ad4e;background-color:#fff}.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-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#428bca;font-weight:400;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,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .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';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(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:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.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;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#999}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;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{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn: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{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-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>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;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:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[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[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;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:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius: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,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;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>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}.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.42857143;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;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#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;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.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-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width: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}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{float:none;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.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-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width: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{background-color:#080808;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 .divider{background-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{content:"/\00a0";padding:0 5px;color:#ccc}.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;line-height:1.42857143;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager 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;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;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}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:gray}.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:700;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}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;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;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,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.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:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#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}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.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>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #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:#3c763d;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-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.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,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(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:700;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:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.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{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.42857143px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:20px}.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;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-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}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-sm{display:block!important}table.visible-sm{display:table}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-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/Sevomin.WebFrontend/Scripts/bootstrap.js b/Sevomin.WebFrontend/Scripts/bootstrap.js index 850e6e5..8ae571b 100644 --- a/Sevomin.WebFrontend/Scripts/bootstrap.js +++ b/Sevomin.WebFrontend/Scripts/bootstrap.js @@ -1,32 +1,22 @@ /*! - * Bootstrap v3.0.3 (http://getbootstrap.com) - * Copyright 2013 Twitter, Inc. - * Licensed under http://www.apache.org/licenses/LICENSE-2.0 + * Bootstrap v3.1.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ -if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") } +if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') } /* ======================================================================== - * Bootstrap: transition.js v3.0.3 + * Bootstrap: transition.js v3.1.1 * http://getbootstrap.com/javascript/#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. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) // ============================================================ @@ -35,10 +25,10 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" var el = document.createElement('bootstrap') var transEndEventNames = { - 'WebkitTransition' : 'webkitTransitionEnd' - , 'MozTransition' : 'transitionend' - , 'OTransition' : 'oTransitionEnd otransitionend' - , 'transition' : 'transitionend' + 'WebkitTransition' : 'webkitTransitionEnd', + 'MozTransition' : 'transitionend', + 'OTransition' : 'oTransitionEnd otransitionend', + 'transition' : 'transitionend' } for (var name in transEndEventNames) { @@ -46,6 +36,8 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" return { end: transEndEventNames[name] } } } + + return false // explicit for ie8 ( ._.) } // http://blog.alexmaccaw.com/css-transitions @@ -64,26 +56,16 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" }(jQuery); /* ======================================================================== - * Bootstrap: alert.js v3.0.3 + * Bootstrap: alert.js v3.1.1 * http://getbootstrap.com/javascript/#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. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // ALERT CLASS DEFINITION // ====================== @@ -163,33 +145,24 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" }(jQuery); /* ======================================================================== - * Bootstrap: button.js v3.0.3 + * Bootstrap: button.js v3.1.1 * http://getbootstrap.com/javascript/#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. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // BUTTON PUBLIC CLASS DEFINITION // ============================== var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Button.DEFAULTS, options) + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + this.isLoading = false } Button.DEFAULTS = { @@ -209,25 +182,26 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" $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) + setTimeout($.proxy(function () { + if (state == 'loadingText') { + this.isLoading = true + $el.addClass(d).attr(d, d) + } else if (this.isLoading) { + this.isLoading = false + $el.removeClass(d).removeAttr(d) + } + }, this), 0) } Button.prototype.toggle = function () { - var $parent = this.$element.closest('[data-toggle="buttons"]') var changed = true + var $parent = this.$element.closest('[data-toggle="buttons"]') if ($parent.length) { var $input = this.$element.find('input') - if ($input.prop('type') === 'radio') { - // see if clicking on current one - if ($input.prop('checked') && this.$element.hasClass('active')) - changed = false - else - $parent.find('.active').removeClass('active') + if ($input.prop('type') == 'radio') { + if ($input.prop('checked') && this.$element.hasClass('active')) changed = false + else $parent.find('.active').removeClass('active') } if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change') } @@ -279,26 +253,16 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" }(jQuery); /* ======================================================================== - * Bootstrap: carousel.js v3.0.3 + * Bootstrap: carousel.js v3.1.1 * http://getbootstrap.com/javascript/#carousel * ======================================================================== - * 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. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // CAROUSEL CLASS DEFINITION // ========================= @@ -319,9 +283,9 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" } Carousel.DEFAULTS = { - interval: 5000 - , pause: 'hover' - , wrap: true + interval: 5000, + pause: 'hover', + wrap: true } Carousel.prototype.cycle = function (e) { @@ -358,7 +322,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" Carousel.prototype.pause = function (e) { e || (this.paused = true) - if (this.$element.find('.next, .prev').length && $.support.transition.end) { + if (this.$element.find('.next, .prev').length && $.support.transition) { this.$element.trigger($.support.transition.end) this.cycle(true) } @@ -391,13 +355,15 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" $next = this.$element.find('.item')[fallback]() } - this.sliding = true - - isCycling && this.pause() + if ($next.hasClass('active')) return this.sliding = false var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction }) + this.$element.trigger(e) + if (e.isDefaultPrevented()) return - if ($next.hasClass('active')) return + this.sliding = true + + isCycling && this.pause() if (this.$indicators.length) { this.$indicators.find('.active').removeClass('active') @@ -408,8 +374,6 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" } 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) @@ -421,10 +385,8 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" that.sliding = false setTimeout(function () { that.$element.trigger('slid.bs.carousel') }, 0) }) - .emulateTransitionEnd(600) + .emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000) } else { - this.$element.trigger(e) - if (e.isDefaultPrevented()) return $active.removeClass('active') $next.addClass('active') this.sliding = false @@ -497,26 +459,16 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" }(jQuery); /* ======================================================================== - * Bootstrap: collapse.js v3.0.3 + * Bootstrap: collapse.js v3.1.1 * http://getbootstrap.com/javascript/#collapse * ======================================================================== - * 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. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // COLLAPSE PUBLIC CLASS DEFINITION // ================================ @@ -567,7 +519,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" var complete = function () { this.$element .removeClass('collapsing') - .addClass('in') + .addClass('collapse in') [dimension]('auto') this.transitioning = 0 this.$element.trigger('shown.bs.collapse') @@ -635,6 +587,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" var data = $this.data('bs.collapse') var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) + if (!data && options.toggle && option == 'show') option = !option if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (typeof option == 'string') data[option]() }) @@ -677,26 +630,16 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" }(jQuery); /* ======================================================================== - * Bootstrap: dropdown.js v3.0.3 + * Bootstrap: dropdown.js v3.1.1 * http://getbootstrap.com/javascript/#dropdowns * ======================================================================== - * 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. + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ -+function ($) { "use strict"; ++function ($) { + 'use strict'; // DROPDOWN CLASS DEFINITION // ========================= @@ -723,13 +666,14 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery" $('