mirror of
https://github.com/twbs/bootstrap.git
synced 2022-11-09 12:25:43 -05:00
1590 lines
No EOL
260 KiB
HTML
1590 lines
No EOL
260 KiB
HTML
---
|
|
layout: default
|
|
title: Customize and download
|
|
slug: customize
|
|
lead: Customize Bootstrap's components, LESS variables, and jQuery plugins to get your very own version.
|
|
base_url: "../"
|
|
---
|
|
|
|
<!-- Customize
|
|
================================================== -->
|
|
<form class="bs-customizer">
|
|
<div class="bs-docs-section" id="less-section">
|
|
<div class="page-header">
|
|
<button class="btn btn-default toggle" type="button">Toggle all</button>
|
|
<h1 id="less">LESS files</h1>
|
|
</div>
|
|
<p class="lead">Choose which LESS files to compile into your custom build of Bootstrap. Not sure which files to use? Read through the <a href="../css/">CSS</a> and <a href="../components/">Components</a> pages in the docs</p>
|
|
|
|
<h3>Basics</h3>
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<h4>Layout</h4>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="normalize.less">
|
|
Normalize (CSS reset)
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="scaffolding.less">
|
|
Scaffolding
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="grid.less">
|
|
Grid system
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="print.less">
|
|
Print media styles
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<h4>Global CSS</h4>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="type.less">
|
|
Typography
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="code.less">
|
|
Code
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="tables.less">
|
|
Tables
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="forms.less">
|
|
Forms
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="buttons.less">
|
|
Buttons
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<h4>Utility classes</h4>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="utilities.less">
|
|
Basic utilities
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="responsive-utilities.less">
|
|
Responsive utilities
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="component-animations.less">
|
|
Component animations (for JS)
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Components</h3>
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="input-groups.less">
|
|
Input groups
|
|
</label>
|
|
</div>
|
|
|
|
<h4>Navigation</h4>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="navs.less">
|
|
Navs
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="navbar.less">
|
|
Navbar
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="pagination.less">
|
|
Pagination
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="pager.less">
|
|
Pager
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="breadcrumbs.less">
|
|
Breadcrumbs
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<h4>Content blocks</h4>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="jumbotron.less">
|
|
Jumbotron
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="accordion.less">
|
|
Accordion
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="panels.less">
|
|
Panels
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="wells.less">
|
|
Wells
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<h4>Behavioral (requires JS)</h4>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="alerts.less">
|
|
Alerts
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="dropdowns.less">
|
|
Dropdowns
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="tooltip.less">
|
|
Tooltips
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="popovers.less">
|
|
Popovers
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="modals.less">
|
|
Modals
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="carousel.less">
|
|
Carousel
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<h4>Media</h4>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="thumbnails.less">
|
|
Thumbnails
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="list-group.less">
|
|
List groups
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="media.less">
|
|
Media items
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<h4>Miscellaneous</h4>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="button-groups.less">
|
|
Button groups
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="progress-bars.less">
|
|
Progress bars
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="badges.less">
|
|
Badges
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="labels.less">
|
|
Labels
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="close.less">
|
|
Close icon
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="bs-docs-section" id="plugin-section">
|
|
<div class="page-header">
|
|
<button class="btn btn-default toggle" type="button">Toggle all</button>
|
|
<h1 id="plugins">jQuery plugins</h1>
|
|
</div>
|
|
<p class="lead">Choose which jQuery plugins should be included in your custom JavaScript files. Unsure what to include? Read the <a href="../javascript/">JavaScript</a> page in the docs.</p>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<h4>Linked to components</h4>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="alert.js">
|
|
Alert dismissal
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="button.js">
|
|
Advanced buttons
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="carousel.js">
|
|
Carousel functionality
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="dropdown.js">
|
|
Dropdowns
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="modal.js">
|
|
Modals
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="tooltip.js">
|
|
Tooltips
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="popover.js">
|
|
Popovers <small>(requires Tooltips)</small>
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="tab.js">
|
|
Toggable tabs
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<h4>Magic</h4>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="affix.js">
|
|
Affix
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="collapse.js">
|
|
Collapse
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="scrollspy.js">
|
|
Scrollspy
|
|
</label>
|
|
</div>
|
|
<div class="checkbox">
|
|
<label>
|
|
<input type="checkbox" checked value="transition.js">
|
|
Transitions <small>(required for any kind of animation)</small>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="bs-callout bs-callout-info">
|
|
<h4>Produces two files</h4>
|
|
<p>All checked plugins will be compiled into a readable <code>bootstrap.js</code> and a minified <code>bootstrap.min.js</code>. We recommend you use the minified version in production.</p>
|
|
</div>
|
|
|
|
<div class="bs-callout bs-callout-danger">
|
|
<h4>jQuery required</h4>
|
|
<p>All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="bs-docs-section" id="less-variables-section">
|
|
<div class="page-header">
|
|
<button class="btn btn-default toggle" type="button">Reset to defaults</button>
|
|
<h1 id="less-variables">LESS variables</h1>
|
|
</div>
|
|
<p class="lead">Customize LESS variables to define colors, sizes and more inside your custom CSS stylesheets.</p>
|
|
|
|
<h2 id="variables-basics">Basics</h2>
|
|
|
|
<h3>Body background</h3>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@body-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Background color applied to <code><body></code>.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Typography</h3>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@font-family-sans-serif</label>
|
|
<input type="text" class="form-control" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif">
|
|
<p class="help-block">Default sans-serif fonts.</p>
|
|
<label>@font-family-serif</label>
|
|
<input type="text" class="form-control" placeholder="Georgia, 'Times New Roman', Times, serif">
|
|
<p class="help-block">Default serif fonts.</p>
|
|
<label>@font-family-monospace</label>
|
|
<input type="text" class="form-control" placeholder="Monaco, Menlo, Consolas, 'Courier New', monospace">
|
|
<p class="help-block">Default monospace fonts for <code><code></code> and <code><pre></code>.</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@font-family-base</label>
|
|
<input type="text" class="form-control" placeholder="@font-family-sans-serif">
|
|
<p class="help-block">Used to globally set font-family in Bootstrap.</p>
|
|
<label>@font-size-base</label>
|
|
<input type="text" class="form-control" placeholder="14px">
|
|
<p class="help-block">Used to calculate font-size throughout Bootstrap.</p>
|
|
<label>@line-height-base</label>
|
|
<input type="text" class="form-control" placeholder="1.428571429">
|
|
<p class="help-block">Used to calculate line-height throughout Bootstrap.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Code blocks</h3>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@code-color</label>
|
|
<input type="text" class="form-control" placeholder="#c7254e">
|
|
<label>@code-bg</label>
|
|
<input type="text" class="form-control" placeholder="#f9f2f4">
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@pre-bg</label>
|
|
<input type="text" class="form-control" placeholder="#f5f5f5">
|
|
<label>@code-border-color</label>
|
|
<input type="text" class="form-control" placeholder="#ccc">
|
|
</div>
|
|
</div>
|
|
|
|
<h4>Headings</h4>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@headings-font-family</label>
|
|
<input type="text" class="form-control" placeholder="@font-family-base">
|
|
<p class="help-block">Choose a separate font-family for headings.</p>
|
|
<label>@headings-font-weight</label>
|
|
<input type="text" class="form-control" placeholder="500">
|
|
<p class="help-block">Choose a separate font-weight for headings.</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@headings-line-height</label>
|
|
<input type="text" class="form-control" placeholder="1.1">
|
|
<p class="help-block">Choose a separate line-height for headings.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Colors</h3>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<p>Define custom colors used in several contexts.</p>
|
|
<label>@brand-primary</label>
|
|
<input type="text" class="form-control" placeholder="#428bca">
|
|
<p class="help-block">Used for primary buttons, panels and more.</p>
|
|
<label>@brand-success</label>
|
|
<input type="text" class="form-control" placeholder="#5cb85c">
|
|
<p class="help-block">Used to indicate success.</p>
|
|
<label>@brand-warning</label>
|
|
<input type="text" class="form-control" placeholder="#f0ad4e">
|
|
<p class="help-block">Used to indicate a warning.</p>
|
|
<label>@brand-danger</label>
|
|
<input type="text" class="form-control" placeholder="#d9534f">
|
|
<p class="help-block">Used to indicate danger.</p>
|
|
<label>@brand-info</label>
|
|
<input type="text" class="form-control" placeholder="#5bc0de">
|
|
<p class="help-block">Used to indicate informational content.</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<p>Define your preferred colors for standard text and links.</p>
|
|
<label>@text-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-dark">
|
|
<p class="help-block">Global color set on the body.</p>
|
|
<label>@link-color</label>
|
|
<input type="text" class="form-control" placeholder="@brand-primary">
|
|
<p class="help-block">Global link color for text.</p>
|
|
<label>@link-color-hover</label>
|
|
<input type="text" class="form-control" placeholder="darken(@link-color, 15%)">
|
|
<p class="help-block">Automatically darken links on hover via color function.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Media queries breakpoints</h3>
|
|
<p>Define the breakpoints at which your layout will change, adapting to different screen sizes.</p>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@screen-xsmall</label>
|
|
<input type="text" class="form-control" placeholder="480px">
|
|
<label>@screen-small</label>
|
|
<input type="text" class="form-control" placeholder="768px">
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@screen-medium</label>
|
|
<input type="text" class="form-control" placeholder="992px">
|
|
<label>@screen-large</label>
|
|
<input type="text" class="form-control" placeholder="1200px">
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Container sizes</h3>
|
|
<p>Define the maximum width of <code>.container</code> for different screen sizes.</p>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@container-tablet</label>
|
|
<input type="text" class="form-control" placeholder="728px">
|
|
<p class="help-block">For <code>@screen-small</code> and up.</p>
|
|
<label>@container-desktop</label>
|
|
<input type="text" class="form-control" placeholder="940px">
|
|
<p class="help-block">For <code>@screen-medium</code> and up.</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@container-large-desktop</label>
|
|
<input type="text" class="form-control" placeholder="1170px">
|
|
<p class="help-block">For <code>@screen-large</code> and up.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Grid system</h3>
|
|
<p>Define your custom responsive grid.</p>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@grid-columns</label>
|
|
<input type="text" class="form-control" placeholder="12">
|
|
<p class="help-block">Number of columns in the grid.</p>
|
|
<label>@grid-gutter-width</label>
|
|
<input type="text" class="form-control" placeholder="30px">
|
|
<p class="help-block">Padding between columns.</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@grid-float-breakpoint</label>
|
|
<input type="text" class="form-control" placeholder="@screen-tablet">
|
|
<p class="help-block">Point at which the navbar stops collapsing.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Components</h3>
|
|
<p>Define common padding and border radius sizes and more.</p>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<h4>Padding</h4>
|
|
<label>@padding-base-vertical</label>
|
|
<input type="text" class="form-control" placeholder="8px">
|
|
<label>@padding-base-horizontal</label>
|
|
<input type="text" class="form-control" placeholder="12px">
|
|
<label>@padding-large-vertical</label>
|
|
<input type="text" class="form-control" placeholder="14px">
|
|
<label>@padding-large-horizontal</label>
|
|
<input type="text" class="form-control" placeholder="16px">
|
|
<label>@padding-small-vertical</label>
|
|
<input type="text" class="form-control" placeholder="5px">
|
|
<label>@padding-small-horizontal</label>
|
|
<input type="text" class="form-control" placeholder="10px">
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<h4>Border radius sizes</h4>
|
|
<label>@border-radius-base</label>
|
|
<input type="text" class="form-control" placeholder="4px">
|
|
<label>@border-radius-large</label>
|
|
<input type="text" class="form-control" placeholder="6px">
|
|
<label>@border-radius-small</label>
|
|
<input type="text" class="form-control" placeholder="3px">
|
|
<h4>Active background color</h4>
|
|
<label>@component-active-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-primary">
|
|
<p class="help-block">Used for active or hovered items in places like navs or dropdowns.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-buttons">Buttons</h2>
|
|
<p>For each of Bootstrap's buttons, define text, background and border color.</p>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<h4>Default</h4>
|
|
<label>@btn-default-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<label>@btn-default-bg</label>
|
|
<input type="text" class="form-control" placeholder="#474949">
|
|
<label>@btn-default-border</label>
|
|
<input type="text" class="form-control" placeholder="@btn-default-bg">
|
|
<h4>Primary</h4>
|
|
<label>@btn-primary-color</label>
|
|
<input type="text" class="form-control" placeholder="@btn-default-color">
|
|
<label>@btn-primary-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-primary">
|
|
<label>@btn-primary-border</label>
|
|
<input type="text" class="form-control" placeholder="@btn-primary-bg">
|
|
<h4>Info</h4>
|
|
<label>@btn-info-color</label>
|
|
<input type="text" class="form-control" placeholder="@btn-default-color">
|
|
<label>@btn-info-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-info">
|
|
<label>@btn-info-border</label>
|
|
<input type="text" class="form-control" placeholder="@btn-info-bg">
|
|
<h4>Button hover</h4>
|
|
<label>@btn-hover-color</label>
|
|
<input type="text" class="form-control" placeholder="@btn-default-color">
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<h4>Success</h4>
|
|
<label>@btn-success-color</label>
|
|
<input type="text" class="form-control" placeholder="@btn-default-color">
|
|
<label>@btn-success-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-success">
|
|
<label>@btn-success-border</label>
|
|
<input type="text" class="form-control" placeholder="@btn-success-bg">
|
|
<h4>Warning</h4>
|
|
<label>@btn-warning-color</label>
|
|
<input type="text" class="form-control" placeholder="@btn-default-color">
|
|
<label>@btn-warning-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-warning">
|
|
<label>@btn-warning-border</label>
|
|
<input type="text" class="form-control" placeholder="@btn-warning-bg">
|
|
<h4>Danger</h4>
|
|
<label>@btn-danger-color</label>
|
|
<input type="text" class="form-control" placeholder="@btn-default-color">
|
|
<label>@btn-danger-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-danger">
|
|
<label>@btn-danger-border</label>
|
|
<input type="text" class="form-control" placeholder="@btn-danger-bg">
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-form-states">Form states and alerts</h2>
|
|
<p>Define colors for form feedback states and, by default, alerts.</p>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<h4>Success</h4>
|
|
<label>@state-success-text</label>
|
|
<input type="text" class="form-control" placeholder="#468847">
|
|
<label>@state-success-bg</label>
|
|
<input type="text" class="form-control" placeholder="#dff0d8">
|
|
<label>@state-success-border</label>
|
|
<input type="text" class="form-control" placeholder="darken(spin(@state-success-bg, -10), 5%)">
|
|
<h4>Warning</h4>
|
|
<label>@state-warning-text</label>
|
|
<input type="text" class="form-control" placeholder="#c09853">
|
|
<label>@state-warning-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fcf8e3">
|
|
<label>@state-warning-border</label>
|
|
<input type="text" class="form-control" placeholder="darken(spin(@state-warning-bg, -10), 3%)">
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<h4>Danger</h4>
|
|
<label>@state-danger-text</label>
|
|
<input type="text" class="form-control" placeholder="#b94a48">
|
|
<label>@state-danger-bg</label>
|
|
<input type="text" class="form-control" placeholder="#f2dede">
|
|
<label>@state-danger-border</label>
|
|
<input type="text" class="form-control" placeholder="darken(spin(@state-danger-bg, -10), 3%)">
|
|
<h4>Info</h4>
|
|
<label>@state-info-text</label>
|
|
<input type="text" class="form-control" placeholder="#3a87ad">
|
|
<label>@state-info-bg</label>
|
|
<input type="text" class="form-control" placeholder="#d9edf7">
|
|
<label>@state-info-border</label>
|
|
<input type="text" class="form-control" placeholder="darken(spin(@state-info-bg, -10), 7%)">
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-alerts">Alerts</h2>
|
|
<p>Define alert colors, border radius, and padding.</p>
|
|
<h4>Border radius</h4>
|
|
<label>@alert-padding</label>
|
|
<input type="text" class="form-control" placeholder="15px">
|
|
<label>@alert-border-radius</label>
|
|
<input type="text" class="form-control" placeholder="@border-radius-base">
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<h4>Default (Warning)</h4>
|
|
<label>@alert-text</label>
|
|
<input type="text" class="form-control" placeholder="@state-warning-text">
|
|
<label>@alert-bg</label>
|
|
<input type="text" class="form-control" placeholder="@state-warning-bg">
|
|
<label>@alert-border</label>
|
|
<input type="text" class="form-control" placeholder="@state-warning-border">
|
|
<h4>Success</h4>
|
|
<label>@alert-success-text</label>
|
|
<input type="text" class="form-control" placeholder="@state-success-text">
|
|
<label>@alert-success-bg</label>
|
|
<input type="text" class="form-control" placeholder="@state-success-bg">
|
|
<label>@alert-success-border</label>
|
|
<input type="text" class="form-control" placeholder="@state-success-border">
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<h4>Danger</h4>
|
|
<label>@alert-danger-text</label>
|
|
<input type="text" class="form-control" placeholder="@state-danger-text">
|
|
<label>@alert-danger-bg</label>
|
|
<input type="text" class="form-control" placeholder="@state-danger-bg">
|
|
<label>@alert-danger-border</label>
|
|
<input type="text" class="form-control" placeholder="@state-danger-border">
|
|
<h4>Info</h4>
|
|
<label>@alert-info-text</label>
|
|
<input type="text" class="form-control" placeholder="@state-info-text">
|
|
<label>@alert-info-bg</label>
|
|
<input type="text" class="form-control" placeholder="@state-info-bg">
|
|
<label>@alert-info-border</label>
|
|
<input type="text" class="form-control" placeholder="@state-info-border">
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-navbar">Navbar</h2>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<h3>Default navbar</h3>
|
|
<h4>Basics</h4>
|
|
<label>@navbar-height</label>
|
|
<input type="text" class="form-control" placeholder="50px">
|
|
<label>@navbar-color</label>
|
|
<input type="text" class="form-control" placeholder="#777">
|
|
<label>@navbar-bg</label>
|
|
<input type="text" class="form-control" placeholder="#eee">
|
|
<label>@navbar-border-radius</label>
|
|
<input type="text" class="form-control" placeholder="@border-radius-base">
|
|
<h4>Links</h4>
|
|
<label>@navbar-link-color</label>
|
|
<input type="text" class="form-control" placeholder="#777">
|
|
<label>@navbar-link-hover-color</label>
|
|
<input type="text" class="form-control" placeholder="#333">
|
|
<label>@navbar-link-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="transparent">
|
|
<label>@navbar-link-active-color</label>
|
|
<input type="text" class="form-control" placeholder="#555">
|
|
<label>@navbar-link-active-bg</label>
|
|
<input type="text" class="form-control" placeholder="darken(@navbar-bg, 10%)">
|
|
<label>@navbar-link-disabled-color</label>
|
|
<input type="text" class="form-control" placeholder="#ccc">
|
|
<label>@navbar-link-disabled-bg</label>
|
|
<input type="text" class="form-control" placeholder="transparent">
|
|
<h4>Brand</h4>
|
|
<label>@navbar-brand-color</label>
|
|
<input type="text" class="form-control" placeholder="@navbar-link-color">
|
|
<label>@navbar-brand-hover-color</label>
|
|
<input type="text" class="form-control" placeholder="darken(@navbar-link-color, 10%)">
|
|
<label>@navbar-brand-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="transparent">
|
|
<h4>Toggle</h4>
|
|
<label>@navbar-toggle-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="#ddd">
|
|
<label>@navbar-toggle-icon-bar-bg</label>
|
|
<input type="text" class="form-control" placeholder="#ccc">
|
|
<label>@navbar-toggle-border-color</label>
|
|
<input type="text" class="form-control" placeholder="#ddd">
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<h3>Inverted navbar</h3>
|
|
<h4>Basics</h4>
|
|
<label>@navbar-inverse-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<label>@navbar-inverse-bg</label>
|
|
<input type="text" class="form-control" placeholder="#222">
|
|
<h4>Links</h4>
|
|
<label>@navbar-inverse-link-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<label>@navbar-inverse-link-hover-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<label>@navbar-inverse-link-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="transparent">
|
|
<label>@navbar-inverse-link-active-color</label>
|
|
<input type="text" class="form-control" placeholder="@navbar-inverse-link-hover-color">
|
|
<label>@navbar-inverse-link-active-bg</label>
|
|
<input type="text" class="form-control" placeholder="darken(@navbar-inverse-bg, 10%)">
|
|
<label>@navbar-inverse-link-disabled-color</label>
|
|
<input type="text" class="form-control" placeholder="#444">
|
|
<label>@navbar-inverse-link-disabled-bg</label>
|
|
<input type="text" class="form-control" placeholder="transparent">
|
|
<h4>Brand</h4>
|
|
<label>@navbar-inverse-brand-color</label>
|
|
<input type="text" class="form-control" placeholder="@navbar-inverse-link-color">
|
|
<label>@navbar-inverse-brand-hover-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<label>@navbar-inverse-brand-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="transparent">
|
|
<h4>Toggle</h4>
|
|
<label>@navbar-inverse-toggle-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="#333">
|
|
<label>@navbar-inverse-toggle-icon-bar-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<label>@navbar-inverse-toggle-border-color</label>
|
|
<input type="text" class="form-control" placeholder="#333">
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<h2 id="variables-nav">Nav</h2>
|
|
|
|
<h3>Default nav</h3>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<h4>Common values</h4>
|
|
<label>@nav-link-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="@gray-lighter">
|
|
<label>@nav-disabled-link-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<label>@nav-disabled-link-hover-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<label>@nav-open-link-hover-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<label>@nav-open-caret-border-color</label>
|
|
<input type="text" class="form-control" placeholder="@fff">
|
|
|
|
<h4>Pills</h4>
|
|
<label>@nav-pills-active-link-hover-color</label>
|
|
<input type="text" class="form-control" placeholder="@fff">
|
|
<label>@nav-pills-active-link-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="@component-active-bg">
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<h4>Tabs</h4>
|
|
<label>@nav-tabs-border-color</label>
|
|
<input type="text" class="form-control" placeholder="@ddd">
|
|
<label>@nav-tabs-link-hover-border-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-lighter">
|
|
<label>@nav-tabs-active-link-hover-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray">
|
|
<label>@nav-tabs-active-link-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="@body-bg">
|
|
<label>@nav-tabs-active-link-hover-border-color</label>
|
|
<input type="text" class="form-control" placeholder="#ddd">
|
|
<label>@nav-tabs-justified-link-border-color</label>
|
|
<input type="text" class="form-control" placeholder="#ddd">
|
|
<label>@nav-tabs-justified-active-link-border-color</label>
|
|
<input type="text" class="form-control" placeholder="@body-bg">
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<h2 id="variables-tables">Tables</h2>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@table-bg</label>
|
|
<input type="text" class="form-control" placeholder="transparent">
|
|
<p class="help-block">Default background color used for all tables.</p>
|
|
<label>@table-bg-accent</label>
|
|
<input type="text" class="form-control" placeholder="#f9f9f9">
|
|
<p class="help-block">Background color used for <code>.table-striped</code>.</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@table-bg-hover</label>
|
|
<input type="text" class="form-control" placeholder="#f5f5f5">
|
|
<p class="help-block">Background color used for <code>.table-hover</code>.</p>
|
|
<label>@table-border-color</label>
|
|
<input type="text" class="form-control" placeholder="#ddd">
|
|
<p class="help-block">Border color for table and cell borders.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-forms">Forms</h2>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<h3>Inputs</h3>
|
|
<label>@input-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block"><code><input></code> background color</p>
|
|
<label>@input-border</label>
|
|
<input type="text" class="form-control" placeholder="#ccc">
|
|
<p class="help-block"><code><input></code> border color</p>
|
|
<label>@input-border-radius</label>
|
|
<input type="text" class="form-control" placeholder="@border-radius-base">
|
|
<p class="help-block"><code><input></code> border radius</p>
|
|
<label>@input-bg-disabled</label>
|
|
<input type="text" class="form-control" placeholder="@gray-lighter">
|
|
<p class="help-block"><code><input disabled></code> background color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<h3>Placeholder</h3>
|
|
<label>@input-color-placeholder</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<p class="help-block">Placeholder text color</p>
|
|
|
|
<h3>Legend</h3>
|
|
<label>@legend-border-color</label>
|
|
<input type="text" class="form-control" placeholder="#e5e5e5">
|
|
<p class="help-block"><code><legend></code> border color</p>
|
|
|
|
<h3>Input groups</h3>
|
|
<label>@input-group-addon-border-color</label>
|
|
<input type="text" class="form-control" placeholder="@input-border">
|
|
<p class="help-block">Border color for textual input addons</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-dropdowns">Dropdowns</h2>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<h3>Dropdown menu</h3>
|
|
<label>@dropdown-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Dropdown menu background color</p>
|
|
<label>@dropdown-border</label>
|
|
<input type="text" class="form-control" placeholder="rgba(0,0,0,.15)">
|
|
<p class="help-block">Dropdown menu border color</p>
|
|
<label>@dropdown-fallback-border</label>
|
|
<input type="text" class="form-control" placeholder="#ccc">
|
|
<p class="help-block">Dropdown menu border color <strong>for IE8</strong></p>
|
|
<label>@dropdown-caret-color</label>
|
|
<input type="text" class="form-control" placeholder="@dropdown-caret-color">
|
|
<p class="help-block">Indicator arrow for showing an element has a dropdown</p>
|
|
<label>@dropdown-divider-bg</label>
|
|
<input type="text" class="form-control" placeholder="#e5e5e5">
|
|
<p class="help-block">Dropdown divider top border color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<h3>Dropdown items</h3>
|
|
<label>@dropdown-link-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-dark">
|
|
<p class="help-block">Dropdown text color</p>
|
|
<label>@dropdown-link-active-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Active dropdown menu entry text color</p>
|
|
<label>@dropdown-link-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Hovered dropdown menu entry text color</p>
|
|
<label>@dropdown-link-active-bg</label>
|
|
<input type="text" class="form-control" placeholder="@component-active-bg">
|
|
<p class="help-block">Active dropdown menu entry background color</p>
|
|
<label>@dropdown-link-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="@dropdown-link-active-bg">
|
|
<p class="help-block">Hovered dropdown menu entry background color</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-panels-wells">Panels and wells</h2>
|
|
<h3>Default panel styles</h3>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@panel-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Panel body background color</p>
|
|
<label>@panel-heading-bg</label>
|
|
<input type="text" class="form-control" placeholder="#f5f5f5">
|
|
<p class="help-block">Panel heading background color</p>
|
|
<label>@panel-footer-bg</label>
|
|
<input type="text" class="form-control" placeholder="#f5f5f5">
|
|
<p class="help-block">Panel footer background color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@panel-border</label>
|
|
<input type="text" class="form-control" placeholder="#ddd">
|
|
<p class="help-block">Panel border color</p>
|
|
<label>@panel-border-radius</label>
|
|
<input type="text" class="form-control" placeholder="@border-radius-base">
|
|
<p class="help-block">Panel border radius</p>
|
|
</div>
|
|
</div>
|
|
<h3>Contextual panel colors</h3>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<h4>Primary</h4>
|
|
<label>@panel-primary-text</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Primary text color</p>
|
|
<label>@panel-primary-border</label>
|
|
<input type="text" class="form-control" placeholder="@brand-primary">
|
|
<p class="help-block">Primary border color</p>
|
|
<label>@panel-primary-heading-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-primary">
|
|
<p class="help-block">Primary heading background color</p>
|
|
<h4>Success</h4>
|
|
<label>@panel-success-text</label>
|
|
<input type="text" class="form-control" placeholder="@state-success-text">
|
|
<p class="help-block">Success text color</p>
|
|
<label>@panel-success-border</label>
|
|
<input type="text" class="form-control" placeholder="@state-success-border">
|
|
<p class="help-block">Success border color</p>
|
|
<label>@panel-success-heading-bg</label>
|
|
<input type="text" class="form-control" placeholder="@state-success-bg">
|
|
<p class="help-block">Success heading background color</p>
|
|
<h4>Info</h4>
|
|
<label>@panel-info-text</label>
|
|
<input type="text" class="form-control" placeholder="@state-info-text">
|
|
<p class="help-block">Info text color</p>
|
|
<label>@panel-info-border</label>
|
|
<input type="text" class="form-control" placeholder="@state-info-border">
|
|
<p class="help-block">Info border color</p>
|
|
<label>@panel-info-heading-bg</label>
|
|
<input type="text" class="form-control" placeholder="@state-info-bg">
|
|
<p class="help-block">Info heading background color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<h4>Warning</h4>
|
|
<label>@panel-warning-text</label>
|
|
<input type="text" class="form-control" placeholder="@state-warning-text">
|
|
<p class="help-block">Warning text color</p>
|
|
<label>@panel-warning-border</label>
|
|
<input type="text" class="form-control" placeholder="@state-warning-border">
|
|
<p class="help-block">Warning border color</p>
|
|
<label>@panel-warning-heading-bg</label>
|
|
<input type="text" class="form-control" placeholder="@state-warning-bg">
|
|
<p class="help-block">Warning heading background color</p>
|
|
<h4>Danger</h4>
|
|
<label>@panel-danger-text</label>
|
|
<input type="text" class="form-control" placeholder="@state-danger-text">
|
|
<p class="help-block">Danger text color</p>
|
|
<label>@panel-danger-border</label>
|
|
<input type="text" class="form-control" placeholder="@state-danger-border">
|
|
<p class="help-block">Danger border color</p>
|
|
<label>@panel-danger-heading-bg</label>
|
|
<input type="text" class="form-control" placeholder="@state-danger-bg">
|
|
<p class="help-block">Danger heading background color</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h3>Wells</h3>
|
|
<label>@well-bg</label>
|
|
<input type="text" class="form-control" placeholder="#f5f5f5">
|
|
|
|
<h2 id="variables-accordion">Accordion</h2>
|
|
<label>@accordion-border-bg</label>
|
|
<input type="text" class="form-control" placeholder="#e5e5e5">
|
|
|
|
<h2 id="variables-badges">Badges</h2>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@badge-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p>Badge text color</p>
|
|
<label>@badge-bg</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<p>Badge background color</p>
|
|
<label>@badge-link-hover-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p>Linked badge text color on hover</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@badge-active-color</label>
|
|
<input type="text" class="form-control" placeholder="@link-color">
|
|
<p>Badge text color in active nav link</p>
|
|
<label>@badge-active-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p>Badge text color in active nav link</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-breadcrumbs">Breadcrumbs</h2>
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>@breadcrumb-color</label>
|
|
<input type="text" class="form-control" placeholder="#ccc">
|
|
<p>Breadcrumb text color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@breadcrumb-bg</label>
|
|
<input type="text" class="form-control" placeholder="#f5f5f5">
|
|
<p>Breadcrumb background color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@breadcrumb-active-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<p>Text color of current page in the breadcrumb</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-jumbotron">Jumbotron</h2>
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>@jumbotron-bg</label>
|
|
<input type="text" class="form-control" placeholder="@gray-lighter">
|
|
<p class="help-block">Jumbotron background color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@jumbotron-heading-color</label>
|
|
<input type="text" class="form-control" placeholder="inherit">
|
|
<p class="help-block">Jumbotron heading color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@jumbotron-lead-color</label>
|
|
<input type="text" class="form-control" placeholder="inherit">
|
|
<p class="help-block">Jumbotron lead paragraph color</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-modals">Modals</h2>
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>@modal-inner-padding</label>
|
|
<input type="text" class="form-control" placeholder="20px">
|
|
<p class="help-block">Padding applied to the modal body</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@modal-title-padding</label>
|
|
<input type="text" class="form-control" placeholder="15px">
|
|
<p class="help-block">Padding applied to the modal title</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@modal-title-line-height</label>
|
|
<input type="text" class="form-control" placeholder="@line-height-base">
|
|
<p class="help-block">Modal title line-height</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@modal-content-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Background color of modal content area</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@modal-content-border-color</label>
|
|
<input type="text" class="form-control" placeholder="rgba(0,0,0,.2)">
|
|
<p class="help-block">Modal content border color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@modal-content-fallback-border-color</label>
|
|
<input type="text" class="form-control" placeholder="#999">
|
|
<p class="help-block">Modal content border color <strong>for IE8</strong></p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@modal-backdrop-bg</label>
|
|
<input type="text" class="form-control" placeholder="#000">
|
|
<p class="help-block">Modal backdrop background color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@modal-header-border-color</label>
|
|
<input type="text" class="form-control" placeholder="#e5e5e5">
|
|
<p class="help-block">Modal header border color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@modal-footer-border-color</label>
|
|
<input type="text" class="form-control" placeholder="@modal-header-border-color">
|
|
<p class="help-block">Modal footer border color</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-carousel">Carousel</h2>
|
|
<label>@carousel-text-shadow</label>
|
|
<input type="text" class="form-control" placeholder="0 1px 2px rgba(0,0,0,.6)">
|
|
<label>@carousel-control-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<label>@carousel-indicator-border-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<label>@carousel-indicator-active-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<label>@carousel-caption-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
|
|
<h2 id="variables-list-group">List group</h2>
|
|
<h3>Background</h3>
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>@list-group-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Default background color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@list-group-hover-bg</label>
|
|
<input type="text" class="form-control" placeholder="#f5f5f5">
|
|
<p class="help-block">Background color of single list elements on hover</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@list-group-active-bg</label>
|
|
<input type="text" class="form-control" placeholder="@component-active-bg">
|
|
<p class="help-block">Background color of active list elements</p>
|
|
</div>
|
|
</div>
|
|
<h3>Borders</h3>
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>@list-group-border</label>
|
|
<input type="text" class="form-control" placeholder="#ddd">
|
|
<p class="help-block">Default border color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@list-group-border-radius</label>
|
|
<input type="text" class="form-control" placeholder="@border-radius-base">
|
|
<p class="help-block">List group border radius</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@list-group-active-border</label>
|
|
<input type="text" class="form-control" placeholder="@list-group-active-bg">
|
|
<p class="help-block">Border color of active list elements</p>
|
|
</div>
|
|
</div>
|
|
<label>@list-group-active-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Text color of active list elements</p>
|
|
<h2 id="variables-thumbnails">Thumbnails</h2>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@thumbnail-caption-color</label>
|
|
<input type="text" class="form-control" placeholder="@text-color">
|
|
<p class="help-block">Custom text color for thumbnail captions</p>
|
|
<label>@thumbnail-bg</label>
|
|
<input type="text" class="form-control" placeholder="@body-bg">
|
|
<p class="help-block">Thumbnail background color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@thumbnail-border</label>
|
|
<input type="text" class="form-control" placeholder="#ddd">
|
|
<p class="help-block">Thumbnail border color</p>
|
|
<label>@thumbnail-border-radius</label>
|
|
<input type="text" class="form-control" placeholder="@border-radius-base">
|
|
<p class="help-block">Thumbnail border radius</p>
|
|
</div>
|
|
</div>
|
|
<h2 id="variables-progress">Progress bars</h2>
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>@progress-bg</label>
|
|
<input type="text" class="form-control" placeholder="#f5f5f5">
|
|
<p class="help-block">Background color of the whole progress component</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@progress-bar-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-primary">
|
|
<p class="help-block">Default progress bar color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@progress-bar-success-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-success">
|
|
<p class="help-block">Success progress bar color</p>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>@progress-bar-warning-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-warning">
|
|
<p class="help-block">Warning progress bar color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@progress-bar-danger-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-danger">
|
|
<p class="help-block">Danger progress bar color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@progress-bar-info-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-info">
|
|
<p class="help-block">Info progress bar color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@progress-bar-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Info progress bar text color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@progress-bar-text-shadow</label>
|
|
<input type="text" class="form-control" placeholder="0 -1px 0 rgba(0,0,0,.25)">
|
|
<p class="help-block">Info progress bar text shadow</p>
|
|
</div>
|
|
</div>
|
|
<h2 id="variables-pagination">Pagination</h2>
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>@pagination-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Background color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@pagination-border</label>
|
|
<input type="text" class="form-control" placeholder="#ddd">
|
|
<p class="help-block">Border color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@pagination-active-bg</label>
|
|
<input type="text" class="form-control" placeholder="#f5f5f5">
|
|
<p class="help-block">Active background color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@pagination-active-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<p class="help-block">Active text color</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@pagination-disabled-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<p class="help-block">Disabled text color</p>
|
|
</div>
|
|
</div>
|
|
<h2 id="variables-pager">Pager</h2>
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>@pager-border-radius</label>
|
|
<input type="text" class="form-control" placeholder="15px">
|
|
<p class="help-block">Pager border radius</p>
|
|
</div>
|
|
<div class="col-lg-4">
|
|
<label>@pager-disabled-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<p class="help-block">Pager disabled state color</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-labels">Labels</h2>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@label-success-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-success">
|
|
<p class="help-block">Success label background color</p>
|
|
<label>@label-info-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-info">
|
|
<p class="help-block">Info label background color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@label-warning-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-warning">
|
|
<p class="help-block">Warning label background color</p>
|
|
<label>@label-danger-bg</label>
|
|
<input type="text" class="form-control" placeholder="@brand-danger">
|
|
<p class="help-block">Danger label background color</p>
|
|
</div>
|
|
</div>
|
|
<h2 id="variables-tooltips-popovers">Tooltips and popovers</h2>
|
|
<h3>Tooltip styles</h3>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@tooltip-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Tooltip text color</p>
|
|
<label>@tooltip-bg</label>
|
|
<input type="text" class="form-control" placeholder="rgba(0,0,0,.9)">
|
|
<p class="help-block">Tooltip background color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@tooltip-arrow-width</label>
|
|
<input type="text" class="form-control" placeholder="5px">
|
|
<p class="help-block">Tooltip arrow width</p>
|
|
<label>@tooltip-arrow-color</label>
|
|
<input type="text" class="form-control" placeholder="@tooltip-bg">
|
|
<p class="help-block">Tooltip arrow color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@tooltip-max-width</label>
|
|
<input type="text" class="form-control" placeholder="200px">
|
|
<p class="help-block">Tooltip max width</p>
|
|
</div>
|
|
</div>
|
|
<h3>Popover styles</h3>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@popover-bg</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Popover body background color</p>
|
|
<label>@popover-title-bg</label>
|
|
<input type="text" class="form-control" placeholder="darken(@popover-bg, 3%)">
|
|
<p class="help-block">Popover title background color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@popover-arrow-width</label>
|
|
<input type="text" class="form-control" placeholder="10px">
|
|
<p class="help-block">Popover arrow width</p>
|
|
<label>@popover-arrow-color</label>
|
|
<input type="text" class="form-control" placeholder="#fff">
|
|
<p class="help-block">Popover arrow color</p>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@popover-arrow-outer-width</label>
|
|
<input type="text" class="form-control" placeholder="(@popover-arrow-width 1)">
|
|
<p class="help-block">Popover outer arrow width</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@popover-arrow-outer-color</label>
|
|
<input type="text" class="form-control" placeholder="rgba(0,0,0,.25)">
|
|
<p class="help-block">Popover outer arrow color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@popover-arrow-outer-fallback-color</label>
|
|
<input type="text" class="form-control" placeholder="#999">
|
|
<p class="help-block">Popover outer arrow fallback color</p>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@popover-max-width</label>
|
|
<input type="text" class="form-control" placeholder="276px">
|
|
<p class="help-block">Popover maximum width</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@popover-border-color</label>
|
|
<input type="text" class="form-control" placeholder="rgba(0,0,0,.2)">
|
|
<p class="help-block">Popover border color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@popover-fallback-border-color</label>
|
|
<input type="text" class="form-control" placeholder="#ccc">
|
|
<p class="help-block">Popover fallback border color</p>
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-close">Close button</h2>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@close-color</label>
|
|
<input type="text" class="form-control" placeholder="#000">
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@close-text-shadow</label>
|
|
<input type="text" class="form-control" placeholder="0 1px 0 #fff">
|
|
</div>
|
|
</div>
|
|
|
|
<h2 id="variables-type">Type</h2>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@text-muted</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<p class="help-block">Text muted color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@abbr-border-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<p class="help-block">Abbreviations and acronyms border color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@headings-small-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<p class="help-block">Headings small color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@blockquote-small-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-light">
|
|
<p class="help-block">Blockquote small color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@blockquote-border-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-lighter">
|
|
<p class="help-block">Blockquote border color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@page-header-border-color</label>
|
|
<input type="text" class="form-control" placeholder="@gray-lighter">
|
|
<p class="help-block">Pag header border color</p>
|
|
</div>
|
|
</div>
|
|
<h2 id="variables-other">Other</h2>
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<label>@hr-border</label>
|
|
<input type="text" class="form-control" placeholder="@gray-lighter">
|
|
<p class="help-block">Horizontal line color</p>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<label>@component-offset-horizontal</label>
|
|
<input type="text" class="form-control" placeholder="180px">
|
|
<p class="help-block">Horizontal offset for forms and lists</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="bs-docs-section">
|
|
<div class="page-header">
|
|
<h1 id="download">Download</h1>
|
|
</div>
|
|
<p class="lead">Hooray! Your custom version of Bootstrap is now ready to be compiled. Just click the button below to finish the process.</p>
|
|
<div class="bs-customize-download">
|
|
<button id="btn-download" class="btn btn-block btn-lg btn-bs" onclick="_gaq.push(['_trackEvent', 'Customize', 'Download', 'Customize and Download']);">Customize and Download</button>
|
|
</div>
|
|
<div class="bs-callout bs-callout-danger">
|
|
<h4>What's included?</h4>
|
|
<p>Downloads include compiled CSS, compiled and minified CSS, and compiled jQuery plugins, all nicely packed up into a zipball for your convenience.</p>
|
|
</div>
|
|
</div><!-- /download -->
|
|
</form>
|
|
|
|
<!-- generated -->
|
|
<script id="files">
|
|
var __js = {"affix.js":"/* ========================================================================\n * Bootstrap: affix.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#affix\n * ========================================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // AFFIX CLASS DEFINITION\n // ======================\n\n var Affix = function (element, options) {\n this.options = $.extend({}, Affix.DEFAULTS, options)\n this.$window = $(window)\n .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))\n .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))\n\n this.$element = $(element)\n this.affixed =\n this.unpin = null\n\n this.checkPosition()\n }\n\n Affix.RESET = 'affix affix-top affix-bottom'\n\n Affix.DEFAULTS = {\n offset: 0\n }\n\n Affix.prototype.checkPositionWithEventLoop = function () {\n setTimeout($.proxy(this.checkPosition, this), 1)\n }\n\n Affix.prototype.checkPosition = function () {\n if (!this.$element.is(':visible')) return\n\n var scrollHeight = $(document).height()\n var scrollTop = this.$window.scrollTop()\n var position = this.$element.offset()\n var offset = this.options.offset\n var offsetTop = offset.top\n var offsetBottom = offset.bottom\n\n if (typeof offset != 'object') offsetBottom = offsetTop = offset\n if (typeof offsetTop == 'function') offsetTop = offset.top()\n if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()\n\n var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :\n offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :\n offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false\n\n if (this.affixed === affix) return\n if (this.unpin) this.$element.css('top', '')\n\n this.affixed = affix\n this.unpin = affix == 'bottom' ? position.top - scrollTop : null\n\n this.$element.removeClass(Affix.RESET).addClass('affix' + (affix ? '-' + affix : ''))\n\n if (affix == 'bottom') {\n this.$element.offset({ top: document.body.offsetHeight - offsetBottom - this.$element.height() })\n }\n }\n\n\n // AFFIX PLUGIN DEFINITION\n // =======================\n\n var old = $.fn.affix\n\n $.fn.affix = function (option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.affix')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.affix', (data = new Affix(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n $.fn.affix.Constructor = Affix\n\n\n // AFFIX NO CONFLICT\n // =================\n\n $.fn.affix.noConflict = function () {\n $.fn.affix = old\n return this\n }\n\n\n // AFFIX DATA-API\n // ==============\n\n $(window).on('load', function () {\n $('[data-spy=\"affix\"]').each(function () {\n var $spy = $(this)\n var data = $spy.data()\n\n data.offset = data.offset || {}\n\n if (data.offsetBottom) data.offset.bottom = data.offsetBottom\n if (data.offsetTop) data.offset.top = data.offsetTop\n\n $spy.affix(data)\n })\n })\n\n}(window.jQuery);\n","alert.js":"/* ========================================================================\n * Bootstrap: alert.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#alerts\n * ========================================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // ALERT CLASS DEFINITION\n // ======================\n\n var dismiss = '[data-dismiss=\"alert\"]'\n var Alert = function (el) {\n $(el).on('click', dismiss, this.close)\n }\n\n Alert.prototype.close = function (e) {\n var $this = $(this)\n var selector = $this.attr('data-target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n }\n\n var $parent = $(selector)\n\n if (e) e.preventDefault()\n\n if (!$parent.length) {\n $parent = $this.hasClass('alert') ? $this : $this.parent()\n }\n\n $parent.trigger(e = $.Event('close.bs.alert'))\n\n if (e.isDefaultPrevented()) return\n\n $parent.removeClass('in')\n\n function removeElement() {\n $parent.trigger('closed.bs.alert').remove()\n }\n\n $.support.transition && $parent.hasClass('fade') ?\n $parent\n .one($.support.transition.end, removeElement)\n .emulateTransitionEnd(150) :\n removeElement()\n }\n\n\n // ALERT PLUGIN DEFINITION\n // =======================\n\n var old = $.fn.alert\n\n $.fn.alert = function (option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.alert')\n\n if (!data) $this.data('bs.alert', (data = new Alert(this)))\n if (typeof option == 'string') data[option].call($this)\n })\n }\n\n $.fn.alert.Constructor = Alert\n\n\n // ALERT NO CONFLICT\n // =================\n\n $.fn.alert.noConflict = function () {\n $.fn.alert = old\n return this\n }\n\n\n // ALERT DATA-API\n // ==============\n\n $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)\n\n}(window.jQuery);\n","button.js":"/* ========================================================================\n * Bootstrap: button.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#buttons\n * ========================================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // BUTTON PUBLIC CLASS DEFINITION\n // ==============================\n\n var Button = function (element, options) {\n this.$element = $(element)\n this.options = $.extend({}, Button.DEFAULTS, options)\n }\n\n Button.DEFAULTS = {\n loadingText: 'loading...'\n }\n\n Button.prototype.setState = function (state) {\n var d = 'disabled'\n var $el = this.$element\n var val = $el.is('input') ? 'val' : 'html'\n var data = $el.data()\n\n state = state + 'Text'\n\n if (!data.resetText) $el.data('resetText', $el[val]())\n\n $el[val](data[state] || this.options[state])\n\n // push to event loop to allow forms to submit\n setTimeout(function () {\n state == 'loadingText' ?\n $el.addClass(d).attr(d, d) :\n $el.removeClass(d).removeAttr(d);\n }, 0)\n }\n\n Button.prototype.toggle = function () {\n var $parent = this.$element.closest('[data-toggle=\"buttons\"]')\n\n if ($parent.length) {\n var $input = this.$element.find('input')\n .prop('checked', !this.$element.hasClass('active'))\n .trigger('change')\n if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active')\n }\n\n this.$element.toggleClass('active')\n }\n\n\n // BUTTON PLUGIN DEFINITION\n // ========================\n\n var old = $.fn.button\n\n $.fn.button = function (option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.button')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.button', (data = new Button(this, options)))\n\n if (option == 'toggle') data.toggle()\n else if (option) data.setState(option)\n })\n }\n\n $.fn.button.Constructor = Button\n\n\n // BUTTON NO CONFLICT\n // ==================\n\n $.fn.button.noConflict = function () {\n $.fn.button = old\n return this\n }\n\n\n // BUTTON DATA-API\n // ===============\n\n $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) {\n var $btn = $(e.target)\n if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')\n $btn.button('toggle')\n e.preventDefault()\n })\n\n}(window.jQuery);\n","carousel.js":"/* ========================================================================\n * Bootstrap: carousel.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#carousel\n * ========================================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // CAROUSEL CLASS DEFINITION\n // =========================\n\n var Carousel = function (element, options) {\n this.$element = $(element)\n this.$indicators = this.$element.find('.carousel-indicators')\n this.options = options\n this.paused =\n this.sliding =\n this.interval =\n this.$active =\n this.$items = null\n\n this.options.pause == 'hover' && this.$element\n .on('mouseenter', $.proxy(this.pause, this))\n .on('mouseleave', $.proxy(this.cycle, this))\n }\n\n Carousel.DEFAULTS = {\n interval: 5000\n , pause: 'hover'\n }\n\n Carousel.prototype.cycle = function (e) {\n e || (this.paused = false)\n\n this.interval && clearInterval(this.interval)\n\n this.options.interval\n && !this.paused\n && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))\n\n return this\n }\n\n Carousel.prototype.getActiveIndex = function () {\n this.$active = this.$element.find('.item.active')\n this.$items = this.$active.parent().children()\n\n return this.$items.index(this.$active)\n }\n\n Carousel.prototype.to = function (pos) {\n var that = this\n var activeIndex = this.getActiveIndex()\n\n if (pos > (this.$items.length - 1) || pos < 0) return\n\n if (this.sliding) return this.$element.one('slid', function () { that.to(pos) })\n if (activeIndex == pos) return this.pause().cycle()\n\n return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))\n }\n\n Carousel.prototype.pause = function (e) {\n e || (this.paused = true)\n\n if (this.$element.find('.next, .prev').length && $.support.transition.end) {\n this.$element.trigger($.support.transition.end)\n this.cycle(true)\n }\n\n this.interval = clearInterval(this.interval)\n\n return this\n }\n\n Carousel.prototype.next = function () {\n if (this.sliding) return\n return this.slide('next')\n }\n\n Carousel.prototype.prev = function () {\n if (this.sliding) return\n return this.slide('prev')\n }\n\n Carousel.prototype.slide = function (type, next) {\n var $active = this.$element.find('.item.active')\n var $next = next || $active[type]()\n var isCycling = this.interval\n var direction = type == 'next' ? 'left' : 'right'\n var fallback = type == 'next' ? 'first' : 'last'\n var that = this\n\n this.sliding = true\n\n isCycling && this.pause()\n\n $next = $next.length ? $next : this.$element.find('.item')[fallback]()\n\n var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })\n\n if ($next.hasClass('active')) return\n\n if (this.$indicators.length) {\n this.$indicators.find('.active').removeClass('active')\n this.$element.one('slid', function () {\n var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])\n $nextIndicator && $nextIndicator.addClass('active')\n })\n }\n\n if ($.support.transition && this.$element.hasClass('slide')) {\n this.$element.trigger(e)\n if (e.isDefaultPrevented()) return\n $next.addClass(type)\n $next[0].offsetWidth // force reflow\n $active.addClass(direction)\n $next.addClass(direction)\n $active\n .one($.support.transition.end, function () {\n $next.removeClass([type, direction].join(' ')).addClass('active')\n $active.removeClass(['active', direction].join(' '))\n that.sliding = false\n setTimeout(function () { that.$element.trigger('slid') }, 0)\n })\n .emulateTransitionEnd(600)\n } else {\n this.$element.trigger(e)\n if (e.isDefaultPrevented()) return\n $active.removeClass('active')\n $next.addClass('active')\n this.sliding = false\n this.$element.trigger('slid')\n }\n\n isCycling && this.cycle()\n\n return this\n }\n\n\n // CAROUSEL PLUGIN DEFINITION\n // ==========================\n\n var old = $.fn.carousel\n\n $.fn.carousel = function (option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.carousel')\n var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)\n var action = typeof option == 'string' ? option : options.slide\n\n if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))\n if (typeof option == 'number') data.to(option)\n else if (action) data[action]()\n else if (options.interval) data.pause().cycle()\n })\n }\n\n $.fn.carousel.Constructor = Carousel\n\n\n // CAROUSEL NO CONFLICT\n // ====================\n\n $.fn.carousel.noConflict = function () {\n $.fn.carousel = old\n return this\n }\n\n\n // CAROUSEL DATA-API\n // =================\n\n $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {\n var $this = $(this), href\n var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) //strip for ie7\n var options = $.extend({}, $target.data(), $this.data())\n var slideIndex = $this.attr('data-slide-to')\n if (slideIndex) options.interval = false\n\n $target.carousel(options)\n\n if (slideIndex = $this.attr('data-slide-to')) {\n $target.data('bs.carousel').to(slideIndex)\n }\n\n e.preventDefault()\n })\n\n $(window).on('load', function () {\n $('[data-ride=\"carousel\"]').each(function () {\n var $carousel = $(this)\n $carousel.carousel($carousel.data())\n })\n })\n\n}(window.jQuery);\n","collapse.js":"/* ========================================================================\n * Bootstrap: collapse.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#collapse\n * ========================================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // COLLAPSE PUBLIC CLASS DEFINITION\n // ================================\n\n var Collapse = function (element, options) {\n this.$element = $(element)\n this.options = $.extend({}, Collapse.DEFAULTS, options)\n this.transitioning = null\n\n if (this.options.parent) this.$parent = $(this.options.parent)\n if (this.options.toggle) this.toggle()\n }\n\n Collapse.DEFAULTS = {\n toggle: true\n }\n\n Collapse.prototype.dimension = function () {\n var hasWidth = this.$element.hasClass('width')\n return hasWidth ? 'width' : 'height'\n }\n\n Collapse.prototype.show = function () {\n if (this.transitioning || this.$element.hasClass('in')) return\n\n var startEvent = $.Event('show.bs.collapse')\n this.$element.trigger(startEvent)\n if (startEvent.isDefaultPrevented()) return\n\n var actives = this.$parent && this.$parent.find('> .accordion-group > .in')\n\n if (actives && actives.length) {\n var hasData = actives.data('bs.collapse')\n if (hasData && hasData.transitioning) return\n actives.collapse('hide')\n hasData || actives.data('bs.collapse', null)\n }\n\n var dimension = this.dimension()\n\n this.$element\n .removeClass('collapse')\n .addClass('collapsing')\n [dimension](0)\n\n this.transitioning = 1\n\n var complete = function () {\n this.$element\n .removeClass('collapsing')\n .addClass('in')\n [dimension]('auto')\n this.transitioning = 0\n this.$element.trigger('shown.bs.collapse')\n }\n\n if (!$.support.transition) return complete.call(this)\n\n var scrollSize = $.camelCase(['scroll', dimension].join('-'))\n\n this.$element\n .one($.support.transition.end, $.proxy(complete, this))\n .emulateTransitionEnd(350)\n [dimension](this.$element[0][scrollSize])\n }\n\n Collapse.prototype.hide = function () {\n if (this.transitioning || !this.$element.hasClass('in')) return\n\n var startEvent = $.Event('hide.bs.collapse')\n this.$element.trigger(startEvent)\n if (startEvent.isDefaultPrevented()) return\n\n var dimension = this.dimension()\n\n this.$element\n [dimension](this.$element[dimension]())\n [0].offsetHeight\n\n this.$element\n .addClass('collapsing')\n .removeClass('collapse')\n .removeClass('in')\n\n this.transitioning = 1\n\n var complete = function () {\n this.transitioning = 0\n this.$element\n .trigger('hidden.bs.collapse')\n .removeClass('collapsing')\n .addClass('collapse')\n }\n\n if (!$.support.transition) return complete.call(this)\n\n this.$element\n [dimension](0)\n .one($.support.transition.end, $.proxy(complete, this))\n .emulateTransitionEnd(350)\n }\n\n Collapse.prototype.toggle = function () {\n this[this.$element.hasClass('in') ? 'hide' : 'show']()\n }\n\n\n // COLLAPSE PLUGIN DEFINITION\n // ==========================\n\n var old = $.fn.collapse\n\n $.fn.collapse = function (option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.collapse')\n var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n $.fn.collapse.Constructor = Collapse\n\n\n // COLLAPSE NO CONFLICT\n // ====================\n\n $.fn.collapse.noConflict = function () {\n $.fn.collapse = old\n return this\n }\n\n\n // COLLAPSE DATA-API\n // =================\n\n $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) {\n var $this = $(this), href\n var target = $this.attr('data-target')\n || e.preventDefault()\n || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') //strip for ie7\n var $target = $(target)\n var data = $target.data('bs.collapse')\n var option = data ? 'toggle' : $this.data()\n var parent = $this.attr('data-parent')\n var $parent = parent && $(parent)\n\n if (!data || !data.transitioning) {\n if ($parent) $parent.find('[data-toggle=collapse][data-parent=' + parent + ']').not($this).addClass('collapsed')\n $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')\n }\n\n $target.collapse(option)\n })\n\n}(window.jQuery);\n","dropdown.js":"/* ========================================================================\n * Bootstrap: dropdown.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#dropdowns\n * ========================================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // DROPDOWN CLASS DEFINITION\n // =========================\n\n var backdrop = '.dropdown-backdrop'\n var toggle = '[data-toggle=dropdown]'\n var Dropdown = function (element) {\n var $el = $(element).on('click.bs.dropdown', this.toggle)\n }\n\n Dropdown.prototype.toggle = function (e) {\n var $this = $(this)\n\n if ($this.is('.disabled, :disabled')) return\n\n var $parent = getParent($this)\n var isActive = $parent.hasClass('open')\n\n clearMenus()\n\n if (!isActive) {\n if ('ontouchstart' in document.documentElement) {\n // if mobile we we use a backdrop because click events don't delegate\n $('<div class=\"dropdown-backdrop\"/>').insertAfter($(this)).on('click', clearMenus)\n }\n\n $parent.trigger(e = $.Event('show.bs.dropdown'))\n\n if (e.isDefaultPrevented()) return\n\n $parent\n .toggleClass('open')\n .trigger('shown.bs.dropdown')\n }\n\n $this.focus()\n\n return false\n }\n\n Dropdown.prototype.keydown = function (e) {\n if (!/(38|40|27)/.test(e.keyCode)) return\n\n var $this = $(this)\n\n e.preventDefault()\n e.stopPropagation()\n\n if ($this.is('.disabled, :disabled')) return\n\n var $parent = getParent($this)\n var isActive = $parent.hasClass('open')\n\n if (!isActive || (isActive && e.keyCode == 27)) {\n if (e.which == 27) $parent.find(toggle).focus()\n return $this.click()\n }\n\n var $items = $('[role=menu] li:not(.divider):visible a', $parent)\n\n if (!$items.length) return\n\n var index = $items.index($items.filter(':focus'))\n\n if (e.keyCode == 38 && index > 0) index-- // up\n if (e.keyCode == 40 && index < $items.length - 1) index++ // down\n if (!~index) index=0\n\n $items.eq(index).focus()\n }\n\n function clearMenus() {\n $(backdrop).remove()\n $(toggle).each(function (e) {\n var $parent = getParent($(this))\n if (!$parent.hasClass('open')) return\n $parent.trigger(e = $.Event('hide.bs.dropdown'))\n if (e.isDefaultPrevented()) return\n $parent.removeClass('open').trigger('hidden.bs.dropdown')\n })\n }\n\n function getParent($this) {\n var selector = $this.attr('data-target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n }\n\n var $parent = selector && $(selector)\n\n return $parent && $parent.length ? $parent : $this.parent()\n }\n\n\n // DROPDOWN PLUGIN DEFINITION\n // ==========================\n\n var old = $.fn.dropdown\n\n $.fn.dropdown = function (option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('dropdown')\n\n if (!data) $this.data('dropdown', (data = new Dropdown(this)))\n if (typeof option == 'string') data[option].call($this)\n })\n }\n\n $.fn.dropdown.Constructor = Dropdown\n\n\n // DROPDOWN NO CONFLICT\n // ====================\n\n $.fn.dropdown.noConflict = function () {\n $.fn.dropdown = old\n return this\n }\n\n\n // APPLY TO STANDARD DROPDOWN ELEMENTS\n // ===================================\n\n $(document)\n .on('click.bs.dropdown.data-api', clearMenus)\n .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\n .on('click.bs.dropdown.data-api' , toggle, Dropdown.prototype.toggle)\n .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)\n\n}(window.jQuery);\n","modal.js":"/* ========================================================================\n * Bootstrap: modal.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#modals\n * ========================================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // MODAL CLASS DEFINITION\n // ======================\n\n var Modal = function (element, options) {\n this.options = options\n this.$element = $(element).on('click.dismiss.modal', '[data-dismiss=\"modal\"]', $.proxy(this.hide, this))\n this.$backdrop =\n this.isShown = null\n\n if (this.options.remote) this.$element.find('.modal-body').load(this.options.remote)\n }\n\n Modal.DEFAULTS = {\n backdrop: true\n , keyboard: true\n , show: true\n }\n\n Modal.prototype.toggle = function () {\n return this[!this.isShown ? 'show' : 'hide']()\n }\n\n Modal.prototype.show = function () {\n var that = this\n var e = $.Event('show.bs.modal')\n\n this.$element.trigger(e)\n\n if (this.isShown || e.isDefaultPrevented()) return\n\n this.isShown = true\n\n this.escape()\n\n this.backdrop(function () {\n var transition = $.support.transition && that.$element.hasClass('fade')\n\n if (!that.$element.parent().length) {\n that.$element.appendTo(document.body) // don't move modals dom position\n }\n\n that.$element.show()\n\n if (transition) {\n that.$element[0].offsetWidth // force reflow\n }\n\n that.$element\n .addClass('in')\n .attr('aria-hidden', false)\n\n that.enforceFocus()\n\n transition ?\n that.$element\n .one($.support.transition.end, function () {\n that.$element.focus().trigger('shown.bs.modal')\n })\n .emulateTransitionEnd(300) :\n that.$element.focus().trigger('shown.bs.modal')\n })\n }\n\n Modal.prototype.hide = function (e) {\n if (e) e.preventDefault()\n\n e = $.Event('hide.bs.modal')\n\n this.$element.trigger(e)\n\n if (!this.isShown || e.isDefaultPrevented()) return\n\n this.isShown = false\n\n this.escape()\n\n $(document).off('focusin.bs.modal')\n\n this.$element\n .removeClass('in')\n .attr('aria-hidden', true)\n\n $.support.transition && this.$element.hasClass('fade') ?\n this.$element\n .one($.support.transition.end, $.proxy(this.hideModal, this))\n .emulateTransitionEnd(300) :\n this.hideModal()\n }\n\n Modal.prototype.enforceFocus = function () {\n $(document)\n .off('focusin.bs.modal') // guard against infinite focus loop\n .on('focusin.bs.modal', $.proxy(function (e) {\n if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {\n this.$element.focus()\n }\n }, this))\n }\n\n Modal.prototype.escape = function () {\n if (this.isShown && this.options.keyboard) {\n this.$element.on('keyup.dismiss.bs.modal', $.proxy(function (e) {\n e.which == 27 && this.hide()\n }, this))\n } else if (!this.isShown) {\n this.$element.off('keyup.dismiss.bs.modal')\n }\n }\n\n Modal.prototype.hideModal = function () {\n var that = this\n this.$element.hide()\n this.backdrop(function () {\n that.removeBackdrop()\n that.$element.trigger('hidden.bs.modal')\n })\n }\n\n Modal.prototype.removeBackdrop = function () {\n this.$backdrop && this.$backdrop.remove()\n this.$backdrop = null\n }\n\n Modal.prototype.backdrop = function (callback) {\n var that = this\n var animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n if (this.isShown && this.options.backdrop) {\n var doAnimate = $.support.transition && animate\n\n this.$backdrop = $('<div class=\"modal-backdrop ' + animate + '\" />')\n .appendTo(document.body)\n\n this.$element.on('click', $.proxy(function (e) {\n if (e.target !== e.currentTarget) return\n this.options.backdrop == 'static'\n ? this.$element[0].focus.call(this.$element[0])\n : this.hide.call(this)\n }, this))\n\n if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\n\n this.$backdrop.addClass('in')\n\n if (!callback) return\n\n doAnimate ?\n this.$backdrop\n .one($.support.transition.end, callback)\n .emulateTransitionEnd(150) :\n callback()\n\n } else if (!this.isShown && this.$backdrop) {\n this.$backdrop.removeClass('in')\n\n $.support.transition && this.$element.hasClass('fade')?\n this.$backdrop\n .one($.support.transition.end, callback)\n .emulateTransitionEnd(150) :\n callback()\n\n } else if (callback) {\n callback()\n }\n }\n\n\n // MODAL PLUGIN DEFINITION\n // =======================\n\n var old = $.fn.modal\n\n $.fn.modal = function (option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.modal')\n var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n if (!data) $this.data('bs.modal', (data = new Modal(this, options)))\n if (typeof option == 'string') data[option]()\n else if (options.show) data.show()\n })\n }\n\n $.fn.modal.Constructor = Modal\n\n\n // MODAL NO CONFLICT\n // =================\n\n $.fn.modal.noConflict = function () {\n $.fn.modal = old\n return this\n }\n\n\n // MODAL DATA-API\n // ==============\n\n $(document).on('click.bs.modal.data-api', '[data-toggle=\"modal\"]', function (e) {\n var $this = $(this)\n var href = $this.attr('href')\n var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\\s]+$)/, ''))) //strip for ie7\n var option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())\n\n e.preventDefault()\n\n $target\n .modal(option)\n .one('hide', function () {\n $this.is(':visible') && $this.focus()\n })\n })\n\n $(function () {\n var $body = $(document.body)\n .on('shown.bs.modal', '.modal', function () { $body.addClass('modal-open') })\n .on('hidden.bs.modal', '.modal', function () { $body.removeClass('modal-open') })\n })\n\n}(window.jQuery);\n","popover.js":"/* ========================================================================\n * Bootstrap: popover.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#popovers\n * ========================================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // POPOVER PUBLIC CLASS DEFINITION\n // ===============================\n\n var Popover = function (element, options) {\n this.init('popover', element, options)\n }\n\n if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')\n\n Popover.DEFAULTS = $.extend({} , $.fn.tooltip.Constructor.DEFAULTS, {\n placement: 'right'\n , trigger: 'click'\n , content: ''\n , template: '<div class=\"popover\"><div class=\"arrow\"></div><h3 class=\"popover-title\"></h3><div class=\"popover-content\"></div></div>'\n })\n\n\n // NOTE: POPOVER EXTENDS tooltip.js\n // ================================\n\n Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)\n\n Popover.prototype.constructor = Popover\n\n Popover.prototype.getDefaults = function () {\n return Popover.DEFAULTS\n }\n\n Popover.prototype.setContent = function () {\n var $tip = this.tip()\n var title = this.getTitle()\n var content = this.getContent()\n\n $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)\n $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)\n\n $tip.removeClass('fade top bottom left right in')\n\n // Hide empty titles\n //\n // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do\n // this manually by checking the contents.\n if ($tip.find('.popover-title').html() === '') {\n $tip.find('.popover-title').hide();\n }\n }\n\n Popover.prototype.hasContent = function () {\n return this.getTitle() || this.getContent()\n }\n\n Popover.prototype.getContent = function () {\n var $e = this.$element\n var o = this.options\n\n return $e.attr('data-content')\n || (typeof o.content == 'function' ?\n o.content.call($e[0]) :\n o.content)\n }\n\n Popover.prototype.arrow = function () {\n return this.$arrow = this.$arrow || this.tip().find('.arrow')\n }\n\n Popover.prototype.tip = function () {\n if (!this.$tip) this.$tip = $(this.options.template)\n return this.$tip\n }\n\n\n // POPOVER PLUGIN DEFINITION\n // =========================\n\n var old = $.fn.popover\n\n $.fn.popover = function (option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.popover')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.popover', (data = new Popover(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n $.fn.popover.Constructor = Popover\n\n\n // POPOVER NO CONFLICT\n // ===================\n\n $.fn.popover.noConflict = function () {\n $.fn.popover = old\n return this\n }\n\n}(window.jQuery);\n","scrollspy.js":"/* ========================================================================\n * Bootstrap: scrollspy.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#scrollspy\n * ========================================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // SCROLLSPY CLASS DEFINITION\n // ==========================\n\n function ScrollSpy(element, options) {\n var href\n var process = $.proxy(this.process, this)\n\n this.$element = $(element).is('body') ? $(window) : $(element)\n this.$body = $('body')\n this.$scrollElement = this.$element.on('scroll.bs.scroll-spy.data-api', process)\n this.options = $.extend({}, ScrollSpy.DEFAULTS, options)\n this.selector = (this.options.target\n || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) //strip for ie7\n || '') + ' .nav li > a'\n this.offsets = $([])\n this.targets = $([])\n this.activeTarget = null\n\n this.refresh()\n this.process()\n }\n\n ScrollSpy.DEFAULTS = {\n offset: 10\n }\n\n ScrollSpy.prototype.refresh = function () {\n var offsetMethod = this.$element[0] == window ? 'offset' : 'position'\n\n this.offsets = $([])\n this.targets = $([])\n\n var self = this\n var $targets = this.$body\n .find(this.selector)\n .map(function () {\n var $el = $(this)\n var href = $el.data('target') || $el.attr('href')\n var $href = /^#\\w/.test(href) && $(href)\n\n return ($href\n && $href.length\n && [[ $href[offsetMethod]().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]]) || null\n })\n .sort(function (a, b) { return a[0] - b[0] })\n .each(function () {\n self.offsets.push(this[0])\n self.targets.push(this[1])\n })\n }\n\n ScrollSpy.prototype.process = function () {\n var scrollTop = this.$scrollElement.scrollTop() + this.options.offset\n var scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight\n var maxScroll = scrollHeight - this.$scrollElement.height()\n var offsets = this.offsets\n var targets = this.targets\n var activeTarget = this.activeTarget\n var i\n\n if (scrollTop >= maxScroll) {\n return activeTarget != (i = targets.last()[0]) && this.activate(i)\n }\n\n for (i = offsets.length; i--;) {\n activeTarget != targets[i]\n && scrollTop >= offsets[i]\n && (!offsets[i + 1] || scrollTop <= offsets[i + 1])\n && this.activate( targets[i] )\n }\n }\n\n ScrollSpy.prototype.activate = function (target) {\n this.activeTarget = target\n\n $(this.selector)\n .parents('.active')\n .removeClass('active')\n\n var selector = this.selector\n + '[data-target=\"' + target + '\"],'\n + this.selector + '[href=\"' + target + '\"]'\n\n var active = $(selector)\n .parents('li')\n .addClass('active')\n\n if (active.parent('.dropdown-menu').length) {\n active = active\n .closest('li.dropdown')\n .addClass('active')\n }\n\n active.trigger('activate')\n }\n\n\n // SCROLLSPY PLUGIN DEFINITION\n // ===========================\n\n var old = $.fn.scrollspy\n\n $.fn.scrollspy = function (option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.scrollspy')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n $.fn.scrollspy.Constructor = ScrollSpy\n\n\n // SCROLLSPY NO CONFLICT\n // =====================\n\n $.fn.scrollspy.noConflict = function () {\n $.fn.scrollspy = old\n return this\n }\n\n\n // SCROLLSPY DATA-API\n // ==================\n\n $(window).on('load', function () {\n $('[data-spy=\"scroll\"]').each(function () {\n var $spy = $(this)\n $spy.scrollspy($spy.data())\n })\n })\n\n}(window.jQuery);\n","tab.js":"/* ========================================================================\n * Bootstrap: tab.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#tabs\n * ========================================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // TAB CLASS DEFINITION\n // ====================\n\n var Tab = function (element) {\n this.element = $(element)\n }\n\n Tab.prototype.show = function () {\n var $this = this.element\n var $ul = $this.closest('ul:not(.dropdown-menu)')\n var selector = $this.attr('data-target')\n\n if (!selector) {\n selector = $this.attr('href')\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n }\n\n if ($this.parent('li').hasClass('active')) return\n\n var previous = $ul.find('.active:last a')[0]\n var e = $.Event('show.bs.tab', {\n relatedTarget: previous\n })\n\n $this.trigger(e)\n\n if (e.isDefaultPrevented()) return\n\n var $target = $(selector)\n\n this.activate($this.parent('li'), $ul)\n this.activate($target, $target.parent(), function () {\n $this.trigger({\n type: 'shown.bs.tab'\n , relatedTarget: previous\n })\n })\n }\n\n Tab.prototype.activate = function (element, container, callback) {\n var $active = container.find('> .active')\n var transition = callback\n && $.support.transition\n && $active.hasClass('fade')\n\n function next() {\n $active\n .removeClass('active')\n .find('> .dropdown-menu > .active')\n .removeClass('active')\n\n element.addClass('active')\n\n if (transition) {\n element[0].offsetWidth // reflow for transition\n element.addClass('in')\n } else {\n element.removeClass('fade')\n }\n\n if (element.parent('.dropdown-menu')) {\n element.closest('li.dropdown').addClass('active')\n }\n\n callback && callback()\n }\n\n transition ?\n $active\n .one($.support.transition.end, next)\n .emulateTransitionEnd(150) :\n next()\n\n $active.removeClass('in')\n }\n\n\n // TAB PLUGIN DEFINITION\n // =====================\n\n var old = $.fn.tab\n\n $.fn.tab = function ( option ) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.tab')\n\n if (!data) $this.data('bs.tab', (data = new Tab(this)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n $.fn.tab.Constructor = Tab\n\n\n // TAB NO CONFLICT\n // ===============\n\n $.fn.tab.noConflict = function () {\n $.fn.tab = old\n return this\n }\n\n\n // TAB DATA-API\n // ============\n\n $(document).on('click.bs.tab.data-api', '[data-toggle=\"tab\"], [data-toggle=\"pill\"]', function (e) {\n e.preventDefault()\n $(this).tab('show')\n })\n\n}(window.jQuery);\n","tooltip.js":"/* ========================================================================\n * Bootstrap: tooltip.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#affix\n * Inspired by the original jQuery.tipsy by Jason Frame\n * ========================================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // TOOLTIP PUBLIC CLASS DEFINITION\n // ===============================\n\n var Tooltip = function (element, options) {\n this.type =\n this.options =\n this.enabled =\n this.timeout =\n this.hoverState =\n this.$element = null\n\n this.init('tooltip', element, options)\n }\n\n Tooltip.DEFAULTS = {\n animation: true\n , placement: 'top'\n , selector: false\n , template: '<div class=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'\n , trigger: 'hover focus'\n , title: ''\n , delay: 0\n , html: false\n , container: false\n }\n\n Tooltip.prototype.init = function (type, element, options) {\n this.enabled = true\n this.type = type\n this.$element = $(element)\n this.options = this.getOptions(options)\n\n var triggers = this.options.trigger.split(' ')\n\n for (var i = triggers.length; i--;) {\n var trigger = triggers[i]\n\n if (trigger == 'click') {\n this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))\n } else if (trigger != 'manual') {\n var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'\n var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'\n\n this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))\n this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))\n }\n }\n\n this.options.selector ?\n (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\n this.fixTitle()\n }\n\n Tooltip.prototype.getDefaults = function () {\n return Tooltip.DEFAULTS\n }\n\n Tooltip.prototype.getOptions = function (options) {\n options = $.extend({}, this.getDefaults(), this.$element.data(), options)\n\n if (options.delay && typeof options.delay == 'number') {\n options.delay = {\n show: options.delay\n , hide: options.delay\n }\n }\n\n return options\n }\n\n Tooltip.prototype.enter = function (obj) {\n var defaults = this.getDefaults()\n var options = {}\n\n this._options && $.each(this._options, function (key, value) {\n if (defaults[key] != value) options[key] = value\n })\n\n var self = obj instanceof this.constructor ?\n obj : $(obj.currentTarget)[this.type](options).data('bs.' + this.type)\n\n clearTimeout(self.timeout)\n\n if (!self.options.delay || !self.options.delay.show) return self.show()\n\n self.hoverState = 'in'\n self.timeout = setTimeout(function () {\n if (self.hoverState == 'in') self.show()\n }, self.options.delay.show)\n }\n\n Tooltip.prototype.leave = function (obj) {\n var self = obj instanceof this.constructor ?\n obj : $(obj.currentTarget)[this.type](this._options).data('bs.' + this.type)\n\n clearTimeout(self.timeout)\n\n if (!self.options.delay || !self.options.delay.hide) return self.hide()\n\n self.hoverState = 'out'\n self.timeout = setTimeout(function () {\n if (self.hoverState == 'out') self.hide()\n }, self.options.delay.hide)\n }\n\n Tooltip.prototype.show = function () {\n var e = $.Event('show.bs.'+ this.type)\n\n if (this.hasContent() && this.enabled) {\n this.$element.trigger(e)\n\n if (e.isDefaultPrevented()) return\n\n var $tip = this.tip()\n\n this.setContent()\n\n if (this.options.animation) $tip.addClass('fade')\n\n var placement = typeof this.options.placement == 'function' ?\n this.options.placement.call(this, $tip[0], this.$element[0]) :\n this.options.placement\n\n var autoToken = /\\s?auto?\\s?/i\n var autoPlace = autoToken.test(placement)\n if (autoPlace) placement = placement.replace(autoToken, '') || 'top'\n\n $tip\n .detach()\n .css({ top: 0, left: 0, display: 'block' })\n .addClass(placement)\n\n this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)\n\n var pos = this.getPosition()\n var actualWidth = $tip[0].offsetWidth\n var actualHeight = $tip[0].offsetHeight\n\n if (autoPlace) {\n var $parent = this.$element.parent()\n\n var orgPlacement = placement\n var docScroll = document.documentElement.scrollTop || document.body.scrollTop\n var parentWidth = this.options.container == 'body' ? window.innerWidth : $parent.outerWidth()\n var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight()\n var parentLeft = this.options.container == 'body' ? 0 : $parent.offset().left\n\n placement = placement == 'bottom' && pos.top + pos.height + actualHeight - docScroll > parentHeight ? 'top' :\n placement == 'top' && pos.top - docScroll - actualHeight < 0 ? 'bottom' :\n placement == 'right' && pos.right + actualWidth > parentWidth ? 'left' :\n placement == 'left' && pos.left - actualWidth < parentLeft ? 'right' :\n placement\n\n $tip\n .removeClass(orgPlacement)\n .addClass(placement)\n }\n\n var calculatedOffset = this.getCalcuatedOffset(placement, pos, actualWidth, actualHeight)\n\n this.applyPlacement(calculatedOffset, placement)\n this.$element.trigger('shown.bs.' + this.type)\n }\n }\n\n Tooltip.prototype.applyPlacement = function(offset, placement) {\n var replace\n var $tip = this.tip()\n var width = $tip[0].offsetWidth\n var height = $tip[0].offsetHeight\n\n // manually read margins because getBoundingClientRect includes difference\n var marginTop = parseInt($tip.css('margin-top'), 10)\n var marginLeft = parseInt($tip.css('margin-left'), 10)\n\n // we must check for NaN for ie 8/9\n if (isNaN(marginTop)) marginTop = 0\n if (isNaN(marginLeft)) marginLeft = 0\n\n offset.top = offset.top + marginTop\n offset.left = offset.left + marginLeft\n\n $tip\n .offset(offset)\n .addClass('in')\n\n // check to see if placing tip in new offset caused the tip to resize itself\n var actualWidth = $tip[0].offsetWidth\n var actualHeight = $tip[0].offsetHeight\n\n if (placement == 'top' && actualHeight != height) {\n replace = true\n offset.top = offset.top + height - actualHeight\n }\n\n if (/bottom|top/.test(placement)) {\n var delta = 0\n\n if (offset.left < 0) {\n delta = offset.left * -2\n offset.left = 0\n\n $tip.offset(offset)\n\n actualWidth = $tip[0].offsetWidth\n actualHeight = $tip[0].offsetHeight\n }\n\n this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')\n } else {\n this.replaceArrow(actualHeight - height, actualHeight, 'top')\n }\n\n if (replace) $tip.offset(offset)\n }\n\n Tooltip.prototype.replaceArrow = function(delta, dimension, position) {\n this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + \"%\") : '')\n }\n\n Tooltip.prototype.setContent = function () {\n var $tip = this.tip()\n var title = this.getTitle()\n\n $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)\n $tip.removeClass('fade in top bottom left right')\n }\n\n Tooltip.prototype.hide = function () {\n var that = this\n var $tip = this.tip()\n var e = $.Event('hide.bs.' + this.type)\n\n function complete() { $tip.detach() }\n\n this.$element.trigger(e)\n\n if (e.isDefaultPrevented()) return\n\n $tip.removeClass('in')\n\n $.support.transition && this.$tip.hasClass('fade') ?\n $tip\n .one($.support.transition.end, complete)\n .emulateTransitionEnd(150) :\n complete()\n\n this.$element.trigger('hidden.bs.' + this.type)\n\n return this\n }\n\n Tooltip.prototype.fixTitle = function () {\n var $e = this.$element\n if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {\n $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')\n }\n }\n\n Tooltip.prototype.hasContent = function () {\n return this.getTitle()\n }\n\n Tooltip.prototype.getPosition = function () {\n var el = this.$element[0]\n return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {\n width: el.offsetWidth\n , height: el.offsetHeight\n }, this.$element.offset())\n }\n\n Tooltip.prototype.getCalcuatedOffset = function (placement, pos, actualWidth, actualHeight) {\n return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :\n placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :\n placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :\n /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }\n }\n\n Tooltip.prototype.getTitle = function () {\n var title\n var $e = this.$element\n var o = this.options\n\n title = $e.attr('data-original-title')\n || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)\n\n return title\n }\n\n Tooltip.prototype.tip = function () {\n return this.$tip = this.$tip || $(this.options.template)\n }\n\n Tooltip.prototype.arrow = function () {\n return this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')\n }\n\n Tooltip.prototype.validate = function () {\n if (!this.$element[0].parentNode) {\n this.hide()\n this.$element = null\n this.options = null\n }\n }\n\n Tooltip.prototype.enable = function () {\n this.enabled = true\n }\n\n Tooltip.prototype.disable = function () {\n this.enabled = false\n }\n\n Tooltip.prototype.toggleEnabled = function () {\n this.enabled = !this.enabled\n }\n\n Tooltip.prototype.toggle = function (e) {\n var self = e ? $(e.currentTarget)[this.type](this._options).data('bs.' + this.type) : this\n self.tip().hasClass('in') ? self.leave(self) : self.enter(self)\n }\n\n Tooltip.prototype.destroy = function () {\n this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)\n }\n\n\n // TOOLTIP PLUGIN DEFINITION\n // =========================\n\n var old = $.fn.tooltip\n\n $.fn.tooltip = function (option) {\n return this.each(function () {\n var $this = $(this)\n var data = $this.data('bs.tooltip')\n var options = typeof option == 'object' && option\n\n if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))\n if (typeof option == 'string') data[option]()\n })\n }\n\n $.fn.tooltip.Constructor = Tooltip\n\n\n // TOOLTIP NO CONFLICT\n // ===================\n\n $.fn.tooltip.noConflict = function () {\n $.fn.tooltip = old\n return this\n }\n\n}(window.jQuery);\n","transition.js":"/* ========================================================================\n * Bootstrap: transition.js v3.0.0\n * http://twbs.github.com/bootstrap/javascript.html#transitions\n * ========================================================================\n * Copyright 2013 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================================== */\n\n\n+function ($) { \"use strict\";\n\n // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)\n // ============================================================\n\n function transitionEnd() {\n var el = document.createElement('bootstrap')\n\n var transEndEventNames = {\n 'WebkitTransition' : 'webkitTransitionEnd'\n , 'MozTransition' : 'transitionend'\n , 'OTransition' : 'oTransitionEnd otransitionend'\n , 'transition' : 'transitionend'\n }\n\n for (var name in transEndEventNames) {\n if (el.style[name] !== undefined) {\n return { end: transEndEventNames[name] }\n }\n }\n }\n\n // http://blog.alexmaccaw.com/css-transitions\n $.fn.emulateTransitionEnd = function (duration) {\n var called = false, $el = this\n $(this).one($.support.transition.end, function () { called = true })\n var callback = function () { if (!called) $($el).trigger($.support.transition.end) }\n setTimeout(callback, duration)\n return this\n }\n\n $(function () {\n $.support.transition = transitionEnd()\n })\n\n}(window.jQuery);\n"}
|
|
var __less = {"accordion.less":"//\n// Accordion\n// --------------------------------------------------\n\n\n// Parent container\n.accordion {\n margin-bottom: @line-height-computed;\n}\n\n// Group == heading + body\n.accordion-group {\n margin-bottom: 2px;\n border: 1px solid @accordion-border-color;\n border-radius: @border-radius-base;\n}\n.accordion-heading {\n border-bottom: 0;\n\n .accordion-toggle {\n display: block;\n padding: 8px 15px;\n cursor: pointer;\n }\n}\n\n// Inner needs the styles because you can't animate properly with any styles on the element\n.accordion-inner {\n padding: 9px 15px;\n border-top: 1px solid @accordion-border-color;\n}\n","alerts.less":"//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding (@alert-padding + 20) @alert-padding @alert-padding;\n margin-bottom: @line-height-computed;\n color: @alert-text;\n background-color: @alert-bg;\n border: 1px solid @alert-border;\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 @headingsColor\n color: inherit;\n }\n // Match the hr to the border of the alert\n hr {\n border-top-color: darken(@alert-border, 5%);\n }\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n color: darken(@alert-text, 10%);\n }\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\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// Alternate styles\n// -------------------------\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n","badges.less":"//\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 labels/badges collapse\n &:empty {\n display: none;\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// Quick fix for labels/badges in buttons\n.btn .badge {\n position: relative;\n top: -1px;\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","bootstrap.less":"/*!\n * Bootstrap v3.0.0\n *\n * Copyright 2013 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world by @mdo and @fat.\n */\n\n// Core variables and mixins\n@import \"variables.less\";\n@import \"mixins.less\";\n\n// Reset\n@import \"normalize.less\";\n@import \"print.less\";\n\n// Core CSS\n@import \"scaffolding.less\";\n@import \"type.less\";\n@import \"code.less\";\n@import \"grid.less\";\n\n@import \"tables.less\";\n@import \"forms.less\";\n@import \"buttons.less\";\n\n// Components: common\n@import \"component-animations.less\";\n@import \"input-groups.less\";\n@import \"dropdowns.less\";\n@import \"list-group.less\";\n@import \"panels.less\";\n@import \"wells.less\";\n@import \"close.less\";\n\n// Components: Nav\n@import \"navs.less\";\n@import \"navbar.less\";\n@import \"button-groups.less\";\n@import \"breadcrumbs.less\";\n@import \"pagination.less\";\n@import \"pager.less\";\n\n// Components: Popovers\n@import \"modals.less\";\n@import \"tooltip.less\";\n@import \"popovers.less\";\n\n// Components: Misc\n@import \"alerts.less\";\n@import \"thumbnails.less\";\n@import \"media.less\";\n@import \"labels.less\";\n@import \"badges.less\";\n@import \"progress-bars.less\";\n@import \"accordion.less\";\n@import \"carousel.less\";\n@import \"jumbotron.less\";\n\n// Utility classes\n@import \"utilities.less\"; // Has to be last to override when necessary\n@import \"responsive-utilities.less\";\n","breadcrumbs.less":"//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n > li {\n display: inline-block;\n &+li:before {\n content: \"/\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n padding: 0 5px;\n color: @breadcrumb-color;\n }\n }\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","button-groups.less":"//\n// Button groups\n// --------------------------------------------------\n\n// Button carets\n//\n// Match the button text color to the arrow/caret for indicating dropdown-ness.\n\n.caret {\n .btn-default & {\n border-top-color: @btn-default-color;\n }\n .btn-primary &,\n .btn-success &,\n .btn-warning &,\n .btn-danger &,\n .btn-info & {\n border-top-color: #fff;\n }\n}\n.dropup .caret {\n .btn-default & {\n border-bottom-color: @btn-default-color;\n }\n .btn-primary &,\n .btn-success &,\n .btn-warning &,\n .btn-danger &,\n .btn-info & {\n border-bottom-color: #fff;\n }\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 .btn + .btn {\n margin-left: -1px;\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n .clearfix();\n\n .btn-group {\n float: left;\n }\n // Space out series of button groups\n > .btn,\n > .btn-group {\n + .btn,\n + .btn-group {\n margin-left: 5px;\n }\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\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\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;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-bottom-width: @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n + .btn {\n margin-top: -1px;\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-bottom-radius(0);\n }\n &:last-child:not(: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 .btn {\n float: none;\n display: table-cell;\n width: 1%;\n }\n}\n\n\n// Checkbox and radio options\n.btn-group[data-toggle=\"buttons\"] > .btn > input[type=\"radio\"],\n.btn-group[data-toggle=\"buttons\"] > .btn > input[type=\"checkbox\"] {\n display: none;\n}\n","buttons.less":"//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n// Core styles\n.btn {\n display: inline-block;\n padding: @padding-base-vertical @padding-base-horizontal;\n margin-bottom: 0; // For input.btn\n font-size: @font-size-base;\n font-weight: @btn-font-weight;\n line-height: @line-height-base;\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n white-space: nowrap;\n .user-select(none);\n\n &:focus {\n .tab-focus();\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 .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: default;\n pointer-events: none; // Future-proof disabling of clicks\n .opacity(.65);\n .box-shadow(none);\n }\n\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .btn-pseudo-states(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .btn-pseudo-states(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Warning appears as orange\n.btn-warning {\n .btn-pseudo-states(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .btn-pseudo-states(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n// Success appears as green\n.btn-success {\n .btn-pseudo-states(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .btn-pseudo-states(@btn-info-color; @btn-info-bg; @btn-info-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 padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large; // ensure even-numbered height of button next to large input\n border-radius: @border-radius-large;\n}\n.btn-sm,\n.btn-xs {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small; // ensure proper height of button next to small input\n border-radius: @border-radius-small;\n}\n.btn-xs {\n padding: 3px 5px;\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","carousel.less":"//\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 .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 color: @carousel-control-color;\n text-decoration: none;\n .opacity(.9);\n }\n\n // Toggles\n .glyphicon,\n .icon-prev,\n .icon-next {\n position: absolute;\n top: 50%;\n left: 50%;\n z-index: 5;\n display: inline-block;\n width: 20px;\n height: 20px;\n margin-top: -10px;\n margin-left: -10px;\n font-family: serif;\n }\n // Non-glyphicon toggles\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 .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-tablet) {\n\n // Scale up the controls a smidge\n .carousel-control .glyphicon,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -15px;\n margin-left: -15px;\n font-size: 30px;\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","close.less":"//\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","code.less":"//\n// Code (inline and blocK)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\npre {\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: 4px;\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: @gray-dark;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Make prettyprint styles more spaced out for readability\n &.prettyprint {\n margin-bottom: @line-height-computed;\n }\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n","component-animations.less":"//\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","dropdowns.less":"//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n// --------------------\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 @dropdown-caret-color;\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n content: \"\";\n}\n\n// The dropdown wrapper (div)\n// --------------------------\n.dropdown {\n position: relative;\n}\n\n// The dropdown menu (ul)\n// ----------------------\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 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 &.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// -----------\n.dropdown-menu > li > a {\n &:hover,\n &:focus {\n text-decoration: none;\n color: @dropdown-link-hover-color;\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}\n\n// Active state\n// ------------\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n outline: 0;\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// Disabled state\n// --------------\n// Gray out text and ensure the hover/focus state remains gray\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @gray-light;\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// ---------------------------\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// Dropdown section headers\n// ---------------------------\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @gray-light;\n}\n\n\n\n// Backdrop to catch body clicks on mobile, etc.\n// ---------------------------\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// ---------------------------\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.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n border-top: 0;\n border-bottom: 4px solid @dropdown-caret-color;\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","forms.less":"//\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}\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: @gray-dark;\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// 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 select and file controls to match text inputs\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Fix optgroup Firefox bug per https://github.com/twbs/bootstrap/issues/7611\nselect optgroup {\n font-size: inherit;\n font-style: inherit;\n font-family: inherit;\n}\n\n// Focus for select, file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Fix for Chrome number input\n// Setting certain font-sizes causes the `I` bar to appear on hover of the bottom increment button.\n// See https://github.com/twbs/bootstrap/issues/8350 for more.\ninput[type=\"number\"] {\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n height: auto;\n }\n}\n\n\n// Placeholder\n//\n// Placeholder text gets special styles because when browsers invalidate entire\n// lines if it doesn't understand a selector/\n.form-control {\n .placeholder();\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: @gray;\n vertical-align: middle;\n background-color: @input-bg;\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 // Disabled and read-only inputs\n // Note: HTML5 says that inputs under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty,\n // we 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 }\n\n // Reset height for `textarea`s\n textarea& {\n height: auto;\n }\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 vertical-align: middle;\n label {\n display: inline;\n margin-bottom: 0;\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\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. `<select>`\n// element gets special love because it's special, and that's a fact!\n\n.input-lg {\n height: @input-height-large;\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large;\n border-radius: @border-radius-large;\n}\n.input-sm {\n height: @input-height-small;\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small;\n border-radius: @border-radius-small;\n}\n\nselect {\n &.input-lg {\n height: @input-height-large;\n line-height: @input-height-large;\n }\n &.input-sm {\n height: @input-height-small;\n line-height: @input-height-small;\n }\n}\ntextarea {\n &.input-lg,\n &.input-sm {\n height: auto;\n }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n// Warning\n.has-warning {\n .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n// Error\n.has-error {\n .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n// Success\n.has-success {\n .form-control-validation(@state-success-text; @state-success-text; @state-success-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 padding-top: @padding-base-vertical;\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).\n\n.form-inline {\n .form-control,\n .radio,\n .checkbox {\n display: inline-block;\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 margin-top: 0;\n margin-bottom: 0;\n padding-left: 0;\n }\n .radio input[type=\"radio\"],\n .checkbox input[type=\"checkbox\"] {\n float: none;\n margin-left: 0;\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 .control-label,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: @padding-base-vertical;\n}\n\n.form-horizontal {\n .form-group {\n .make-row();\n }\n}\n\n// Only right align form labels here when the columns stop stacking\n@media (min-width: @screen-tablet) {\n .form-horizontal .control-label {\n text-align: right;\n }\n}\n","grid.less":"//\n// Grid system\n// --------------------------------------------------\n\n// Set the container width, and override it for fixed navbars in media queries\n.container {\n .container-fixed();\n}\n\n// Mobile-first defaults\n.row {\n .make-row();\n}\n\n// Common styles for small and large grid columns\n.col-1,\n.col-2,\n.col-3,\n.col-4,\n.col-5,\n.col-6,\n.col-7,\n.col-8,\n.col-9,\n.col-10,\n.col-11,\n.col-12,\n.col-sm-1,\n.col-sm-2,\n.col-sm-3,\n.col-sm-4,\n.col-sm-5,\n.col-sm-6,\n.col-sm-7,\n.col-sm-8,\n.col-sm-9,\n.col-sm-10,\n.col-sm-11,\n.col-sm-12,\n.col-lg-1,\n.col-lg-2,\n.col-lg-3,\n.col-lg-4,\n.col-lg-5,\n.col-lg-6,\n.col-lg-7,\n.col-lg-8,\n.col-lg-9,\n.col-lg-10,\n.col-lg-11,\n.col-lg-12 {\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\n\n//\n// Container and grid column sizing\n//\n\n// Extra small device columns (smartphones)\n.col-1,\n.col-2,\n.col-3,\n.col-4,\n.col-5,\n.col-6,\n.col-7,\n.col-8,\n.col-9,\n.col-10,\n.col-11,\n.col-12 {\n float: left;\n}\n.col-1 { width: percentage((1 / @grid-columns)); }\n.col-2 { width: percentage((2 / @grid-columns)); }\n.col-3 { width: percentage((3 / @grid-columns)); }\n.col-4 { width: percentage((4 / @grid-columns)); }\n.col-5 { width: percentage((5 / @grid-columns)); }\n.col-6 { width: percentage((6 / @grid-columns)); }\n.col-7 { width: percentage((7 / @grid-columns)); }\n.col-8 { width: percentage((8 / @grid-columns)); }\n.col-9 { width: percentage((9 / @grid-columns)); }\n.col-10 { width: percentage((10/ @grid-columns)); }\n.col-11 { width: percentage((11/ @grid-columns)); }\n.col-12 { width: 100%; }\n\n// Small device columns (phones to tablets)\n@media (min-width: @screen-tablet) and (max-width: @screen-tablet-max) {\n .container {\n max-width: @container-tablet;\n }\n\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-1 { width: percentage((1 / @grid-columns)); }\n .col-sm-2 { width: percentage((2 / @grid-columns)); }\n .col-sm-3 { width: percentage((3 / @grid-columns)); }\n .col-sm-4 { width: percentage((4 / @grid-columns)); }\n .col-sm-5 { width: percentage((5 / @grid-columns)); }\n .col-sm-6 { width: percentage((6 / @grid-columns)); }\n .col-sm-7 { width: percentage((7 / @grid-columns)); }\n .col-sm-8 { width: percentage((8 / @grid-columns)); }\n .col-sm-9 { width: percentage((9 / @grid-columns)); }\n .col-sm-10 { width: percentage((10/ @grid-columns)); }\n .col-sm-11 { width: percentage((11/ @grid-columns)); }\n .col-sm-12 { width: 100%; }\n\n // Push and pull columns for source order changes\n .col-sm-push-1 { left: percentage((1 / @grid-columns)); }\n .col-sm-push-2 { left: percentage((2 / @grid-columns)); }\n .col-sm-push-3 { left: percentage((3 / @grid-columns)); }\n .col-sm-push-4 { left: percentage((4 / @grid-columns)); }\n .col-sm-push-5 { left: percentage((5 / @grid-columns)); }\n .col-sm-push-6 { left: percentage((6 / @grid-columns)); }\n .col-sm-push-7 { left: percentage((7 / @grid-columns)); }\n .col-sm-push-8 { left: percentage((8 / @grid-columns)); }\n .col-sm-push-9 { left: percentage((9 / @grid-columns)); }\n .col-sm-push-10 { left: percentage((10/ @grid-columns)); }\n .col-sm-push-11 { left: percentage((11/ @grid-columns)); }\n\n .col-sm-pull-1 { right: percentage((1 / @grid-columns)); }\n .col-sm-pull-2 { right: percentage((2 / @grid-columns)); }\n .col-sm-pull-3 { right: percentage((3 / @grid-columns)); }\n .col-sm-pull-4 { right: percentage((4 / @grid-columns)); }\n .col-sm-pull-5 { right: percentage((5 / @grid-columns)); }\n .col-sm-pull-6 { right: percentage((6 / @grid-columns)); }\n .col-sm-pull-7 { right: percentage((7 / @grid-columns)); }\n .col-sm-pull-8 { right: percentage((8 / @grid-columns)); }\n .col-sm-pull-9 { right: percentage((9 / @grid-columns)); }\n .col-sm-pull-10 { right: percentage((10/ @grid-columns)); }\n .col-sm-pull-11 { right: percentage((11/ @grid-columns)); }\n\n // Offsets\n .col-sm-offset-1 { margin-left: percentage((1 / @grid-columns)); }\n .col-sm-offset-2 { margin-left: percentage((2 / @grid-columns)); }\n .col-sm-offset-3 { margin-left: percentage((3 / @grid-columns)); }\n .col-sm-offset-4 { margin-left: percentage((4 / @grid-columns)); }\n .col-sm-offset-5 { margin-left: percentage((5 / @grid-columns)); }\n .col-sm-offset-6 { margin-left: percentage((6 / @grid-columns)); }\n .col-sm-offset-7 { margin-left: percentage((7 / @grid-columns)); }\n .col-sm-offset-8 { margin-left: percentage((8 / @grid-columns)); }\n .col-sm-offset-9 { margin-left: percentage((9 / @grid-columns)); }\n .col-sm-offset-10 { margin-left: percentage((10/ @grid-columns)); }\n .col-sm-offset-11 { margin-left: percentage((11/ @grid-columns)); }\n}\n\n// Medium and large device columns (desktop and up)\n@media (min-width: @screen-desktop) {\n .container {\n max-width: @container-desktop;\n }\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-1 { width: percentage((1 / @grid-columns)); }\n .col-lg-2 { width: percentage((2 / @grid-columns)); }\n .col-lg-3 { width: percentage((3 / @grid-columns)); }\n .col-lg-4 { width: percentage((4 / @grid-columns)); }\n .col-lg-5 { width: percentage((5 / @grid-columns)); }\n .col-lg-6 { width: percentage((6 / @grid-columns)); }\n .col-lg-7 { width: percentage((7 / @grid-columns)); }\n .col-lg-8 { width: percentage((8 / @grid-columns)); }\n .col-lg-9 { width: percentage((9 / @grid-columns)); }\n .col-lg-10 { width: percentage((10/ @grid-columns)); }\n .col-lg-11 { width: percentage((11/ @grid-columns)); }\n .col-lg-12 { width: 100%; }\n\n // Push and pull columns for source order changes\n .col-lg-push-1 { left: percentage((1 / @grid-columns)); }\n .col-lg-push-2 { left: percentage((2 / @grid-columns)); }\n .col-lg-push-3 { left: percentage((3 / @grid-columns)); }\n .col-lg-push-4 { left: percentage((4 / @grid-columns)); }\n .col-lg-push-5 { left: percentage((5 / @grid-columns)); }\n .col-lg-push-6 { left: percentage((6 / @grid-columns)); }\n .col-lg-push-7 { left: percentage((7 / @grid-columns)); }\n .col-lg-push-8 { left: percentage((8 / @grid-columns)); }\n .col-lg-push-9 { left: percentage((9 / @grid-columns)); }\n .col-lg-push-10 { left: percentage((10/ @grid-columns)); }\n .col-lg-push-11 { left: percentage((11/ @grid-columns)); }\n\n .col-lg-pull-1 { right: percentage((1 / @grid-columns)); }\n .col-lg-pull-2 { right: percentage((2 / @grid-columns)); }\n .col-lg-pull-3 { right: percentage((3 / @grid-columns)); }\n .col-lg-pull-4 { right: percentage((4 / @grid-columns)); }\n .col-lg-pull-5 { right: percentage((5 / @grid-columns)); }\n .col-lg-pull-6 { right: percentage((6 / @grid-columns)); }\n .col-lg-pull-7 { right: percentage((7 / @grid-columns)); }\n .col-lg-pull-8 { right: percentage((8 / @grid-columns)); }\n .col-lg-pull-9 { right: percentage((9 / @grid-columns)); }\n .col-lg-pull-10 { right: percentage((10/ @grid-columns)); }\n .col-lg-pull-11 { right: percentage((11/ @grid-columns)); }\n\n // Offsets\n .col-lg-offset-1 { margin-left: percentage((1 / @grid-columns)); }\n .col-lg-offset-2 { margin-left: percentage((2 / @grid-columns)); }\n .col-lg-offset-3 { margin-left: percentage((3 / @grid-columns)); }\n .col-lg-offset-4 { margin-left: percentage((4 / @grid-columns)); }\n .col-lg-offset-5 { margin-left: percentage((5 / @grid-columns)); }\n .col-lg-offset-6 { margin-left: percentage((6 / @grid-columns)); }\n .col-lg-offset-7 { margin-left: percentage((7 / @grid-columns)); }\n .col-lg-offset-8 { margin-left: percentage((8 / @grid-columns)); }\n .col-lg-offset-9 { margin-left: percentage((9 / @grid-columns)); }\n .col-lg-offset-10 { margin-left: percentage((10/ @grid-columns)); }\n .col-lg-offset-11 { margin-left: percentage((11/ @grid-columns)); }\n}\n\n// Large desktops and up\n@media (min-width: @screen-large-desktop) {\n .container {\n max-width: @container-large-desktop;\n }\n}\n","input-groups.less":"//\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 &.col {\n float: none;\n padding-left: 0;\n padding-right: 0;\n }\n\n .form-control {\n width: 100%;\n margin-bottom: 0;\n }\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 text-align: center;\n background-color: @gray-lighter;\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 > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {\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 > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child) {\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 white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n // Jankily prevent input button groups from wrapping\n + .btn {\n margin-left: -4px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:active {\n z-index: 2;\n }\n}\n","jumbotron.less":"//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding: 30px;\n margin-bottom: 30px;\n font-size: (@font-size-base * 1.5);\n font-weight: 200;\n line-height: (@line-height-base * 1.5);\n color: @jumbotron-lead-color;\n background-color: @jumbotron-bg;\n h1 {\n line-height: 1;\n color: @jumbotron-heading-color;\n }\n p {\n line-height: 1.4;\n }\n\n @media screen and (min-width: @screen-tablet) {\n padding: 50px 60px;\n border-radius: @border-radius-large; // Only round corners at higher resolutions\n h1 {\n font-size: (@font-size-base * 4.5);\n }\n }\n}\n","labels.less":"//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .25em .6em;\n font-size: 75%;\n font-weight: 500;\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\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-danger {\n .label-variant(@label-danger-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n","list-group.less":"//\n// List groups\n// --------------------------------------------------\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\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// Individual list items\n// -------------------------\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 30px 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 margin-right: -15px;\n }\n > .badge + .badge {\n margin-right: 0;\n }\n}\n\n// Custom content options\n// -------------------------\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// Linked list items\n// -------------------------\n\n// Custom content within linked items\na.list-group-item {\n // Colorize content accordingly\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n .list-group-item-text {\n color: @list-group-link-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 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: lighten(@list-group-active-bg, 40%);\n }\n }\n}\n","media.less":"// 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","mixins.less":"//\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 #333;\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 4-18\n &::-moz-placeholder { color: @color; } // Firefox 19+\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// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\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.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-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+\n transform: rotate(@degrees);\n}\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9+\n transform: scale(@ratio);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9+\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// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Background clipping\n.background-clip(@clip) {\n background-clip: @clip;\n}\n\n// Background sizing\n.background-size(@size) {\n background-size: @size;\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 -o-user-select: @select;\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-gradient(linear, @start-percent top, @end-percent top, from(@start-color), to(@end-color)); // Safari 4+, Chrome 2+\n background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1+, Chrome 10+\n background-image: -moz-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // FF 3.6+\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10\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-gradient(linear, left @start-percent, left @end-percent, from(@start-color), to(@end-color)); // Safari 4+, Chrome 2+\n background-image: -webkit-linear-gradient(top, @start-color, @start-percent, @end-color, @end-percent); // Safari 5.1+, Chrome 10+\n background-image: -moz-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // FF 3.6+\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10\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+, Chrome 10+\n background-image: -moz-linear-gradient(@deg, @start-color, @end-color); // FF 3.6+\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(@start-color), color-stop(@color-stop, @mid-color), to(@end-color));\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -moz-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-gradient(linear, 0 0, 0 100%, from(@start-color), color-stop(@color-stop, @mid-color), to(@end-color));\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -moz-linear-gradient(top, @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-gradient(radial, center center, 0, center center, 460, from(@inner-color), to(@outer-color));\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: -moz-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: #555; @angle: 45deg) {\n background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));\n background-image: -webkit-linear-gradient(@angle, 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);\n background-image: -moz-linear-gradient(@angle, 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);\n background-image: linear-gradient(@angle, 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);\n }\n}\n\n// Reset filters for IE\n//\n// When you need to remove a gradient background, don't 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 IMAGE SUPPORT\n// --------------------------------------------------\n\n// Short retina mixin for setting background-image and -size\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// 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 .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\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 hr {\n border-top-color: darken(@border, 5%);\n }\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n\n// Button pseudo states\n// -------------------------\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n.btn-pseudo-states(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:hover,\n &:focus,\n &:active,\n &.active {\n color: @color;\n background-color: darken(@background, 8%);\n border-color: darken(@border, 12%);\n }\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\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// 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(@color);\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 tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n tr& { display: none !important; }\n th&,\n td& { display: none !important; }\n}\n\n// Grid System\n// -----------\n\n// Centered container element\n.container-fixed() {\n margin-right: auto;\n margin-left: auto;\n .clearfix();\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n // Then clear the floated columns\n .clearfix();\n\n .container & {\n @media (min-width: @screen-small) {\n margin-left: (@gutter / -2);\n margin-right: (@gutter / -2);\n }\n }\n\n // Negative margin nested rows out to align the content of columns\n .row {\n margin-left: (@gutter / -2);\n margin-right: (@gutter / -2);\n }\n}\n\n// Generate the columns\n.make-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n // Calculate width based on number of columns available\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the column offsets\n.make-column-offset(@columns) {\n @media (min-width: @grid-float-breakpoint) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-column-push(@columns) {\n @media (min-width: @grid-float-breakpoint) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-column-pull(@columns) {\n @media (min-width: @grid-float-breakpoint) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the small columns\n.make-small-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n @max-width: (@grid-float-breakpoint - 1);\n\n // Calculate width based on number of columns available\n @media (max-width: @max-width) {\n width: percentage((@columns / @grid-columns));\n }\n}\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 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}\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","modals.less":"//\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-background;\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 margin-left: auto;\n margin-right: auto;\n width: auto;\n padding: 10px;\n z-index: (@zindex-modal-background + 10);\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 - 10);\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(.5); }\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 .clearfix(); // 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 screen and (min-width: @screen-tablet) {\n\n .modal-dialog {\n left: 50%;\n right: auto;\n width: 600px;\n padding-top: 30px;\n padding-bottom: 30px;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n}\n","navbar.less":"//\n// Navbars\n// --------------------------------------------------\n\n// Wrapper and base class\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: 20px;\n padding-left: @navbar-padding-horizontal;\n padding-right: @navbar-padding-horizontal;\n background-color: @navbar-bg;\n border-radius: @navbar-border-radius;\n\n // Prevent floats from breaking the navbar\n .clearfix();\n}\n\n// Navbar nav links\n// -------------------------\n\n.navbar-nav {\n margin-bottom: 15px;\n\n > li > a {\n padding-top: ((@navbar-height - @line-height-computed) / 2);\n padding-bottom: ((@navbar-height - @line-height-computed) / 2);\n color: @navbar-link-color;\n line-height: @line-height-computed;\n border-radius: @border-radius-base;\n &:hover,\n &:focus {\n color: @navbar-link-hover-color;\n background-color: @navbar-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-link-active-color;\n background-color: @navbar-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-link-disabled-color;\n background-color: @navbar-link-disabled-bg;\n }\n }\n\n // Right aligned contents\n // Make them full width first so that they align properly on mobile\n &.pull-right {\n width: 100%;\n }\n}\n\n\n\n//\n// Navbar alignment options\n// --------------------------------------------------\n\n// Static navbar\n.navbar-static-top {\n border-radius: 0;\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 border-radius: 0;\n}\n.navbar-fixed-top {\n top: 0;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n}\n\n.nav-collapse {\n // Space out collapsed contents within the mobile navbar\n padding-bottom: @navbar-padding-vertical;\n // Clear floated elements and prevent collapsing of padding\n .clearfix();\n\n // When there is no `.navbar-brand` present (which normally sits between the\n // navbar brand and toggle), prevent the nav from overlapping the toggle.\n .navbar-toggle + & {\n width: 100%;\n margin-top: @navbar-height;\n }\n}\n\n\n// Scrollable navbar navigation\n//\n// Sometimes you might have too many links in your fixed navbar and you need to\n// maintain access to all that content. To help, add `.nav-collapse-scrollable`\n// to your `.nav-collapse` to prevent the the content from flowing past the max-\n// height of your browser.\n//\n// This is not automatically added to the `.navbar-fixed-top` because it causes\n// z-index bugs in iOS7 (possibly earlier).\n\n@media (max-width: @screen-small) {\n .nav-collapse-scrollable {\n margin-bottom: @navbar-padding-vertical;\n max-height: 360px;\n overflow-y: scroll;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n\n//\n// Navbar optional components\n// --------------------------------------------------\n\n// Brand/project name\n.navbar-brand {\n display: block;\n max-width: 200px;\n margin-left: auto;\n margin-right: auto;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n font-weight: 500;\n line-height: @line-height-computed;\n color: @navbar-brand-color;\n text-align: center;\n &:hover,\n &:focus {\n color: @navbar-brand-hover-color;\n text-decoration: none;\n background-color: @navbar-brand-hover-bg;\n }\n}\n\n// Collapsible navbar toggle\n.navbar-toggle {\n position: relative;\n float: right;\n height: 34px;\n width: 48px;\n .navbar-vertical-align(34px);\n padding: @padding-base-vertical @padding-base-horizontal;\n background-color: transparent;\n border: 1px solid @navbar-toggle-border-color;\n border-radius: @border-radius-base;\n\n &:hover,\n &:focus {\n background-color: @navbar-toggle-hover-bg;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n background-color: @navbar-toggle-icon-bar-bg;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n}\n\n// Navbar form\n.navbar-form {\n .form-inline();\n .navbar-vertical-align(@input-height-base); // Vertically center in navbar\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-left-radius: 0;\n border-top-right-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-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n// Dropdown menu items and carets\n.navbar-nav {\n // Caret should match text color on hover\n > .dropdown > a:hover .caret,\n > .dropdown > a:focus .caret {\n border-top-color: @navbar-link-hover-color;\n border-bottom-color: @navbar-link-hover-color;\n }\n\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-link-active-bg;\n color: @navbar-link-active-color;\n .caret {\n border-top-color: @navbar-link-active-color;\n border-bottom-color: @navbar-link-active-color;\n }\n }\n }\n > .dropdown > a .caret {\n border-top-color: @navbar-link-color;\n border-bottom-color: @navbar-link-color;\n }\n}\n\n// Right aligned menus need alt position\n.navbar-nav.pull-right > li > .dropdown-menu,\n.navbar-nav > li > .dropdown-menu.pull-right {\n left: auto;\n right: 0;\n}\n\n\n\n// Inverse navbar\n// --------------------------------------------------\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\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 // 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 > .dropdown > a:hover .caret {\n border-top-color: @navbar-inverse-link-hover-color;\n border-bottom-color: @navbar-inverse-link-hover-color;\n }\n > .dropdown > a .caret {\n border-top-color: @navbar-inverse-link-color;\n border-bottom-color: @navbar-inverse-link-color;\n }\n > .open > a {\n &,\n &:hover,\n &:focus {\n .caret {\n border-top-color: @navbar-inverse-link-active-color;\n border-bottom-color: @navbar-inverse-link-active-color;\n }\n }\n }\n }\n}\n\n\n\n// Responsive navbar\n// --------------------------------------------------\n\n@media screen and (min-width: @grid-float-breakpoint) {\n\n .navbar-brand {\n float: left;\n margin-left: -(@navbar-padding-horizontal);\n margin-right: 5px;\n max-width: none; // Disables the default mobile setting\n }\n .navbar-nav {\n float: left;\n // undo margin to make nav extend full height of navbar\n margin-top: 0;\n margin-bottom: 0;\n\n > li {\n float: left;\n > a {\n border-radius: 0;\n }\n }\n\n &.pull-right {\n width: auto;\n }\n }\n\n // Required to make the collapsing navbar work on regular desktops\n .navbar-toggle {\n position: relative;\n top: auto;\n left: auto;\n display: none;\n }\n .nav-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n}\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 margin-top: ((@navbar-height - @input-height-base) / 2);\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 float: left;\n padding: 0 @navbar-padding-horizontal;\n .navbar-vertical-align(@line-height-computed);\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// Default navbar variables\n.navbar-link {\n color: @navbar-link-color;\n &:hover {\n color: @navbar-link-hover-color;\n }\n}\n\n// Use the inverse navbar variables\n.navbar-inverse .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n}\n","navs.less":"//\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 .clearfix();\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: 10px 15px;\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 color: @nav-open-link-hover-color;\n background-color: @link-color;\n border-color: @link-color;\n .caret {\n border-top-color: @nav-open-caret-border-color;\n border-bottom-color: @nav-open-caret-border-color;\n }\n }\n }\n\n // Dividers (basically an hr) within the dropdown\n .nav-divider {\n .nav-divider();\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;\n }\n }\n\n // Active state, and it's :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: 5px;\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 > li {\n float: none;\n display: table-cell;\n width: 1%;\n > a {\n text-align: center;\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n.nav-tabs-justified {\n border-bottom: 0;\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n\n // Override margin from .nav-tabs\n margin-right: 0;\n }\n > .active > a {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Clear any floats\n.tabbable {\n .clearfix();\n}\n\n// Show/hide tabbable areas\n.tab-content > .tab-pane,\n.pill-content > .pill-pane {\n display: none;\n}\n.tab-content,\n.pill-content {\n > .active {\n display: block;\n }\n}\n\n\n\n// Dropdowns\n// -------------------------\n\n// Make dropdown carets use link color in navs\n.nav .caret {\n border-top-color: @link-color;\n border-bottom-color: @link-color;\n}\n.nav a:hover .caret {\n border-top-color: @link-hover-color;\n border-bottom-color: @link-hover-color;\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","normalize.less":"/*! normalize.css v2.1.0 | MIT License | git.io/normalize */\n\n// ==========================================================================\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined in IE 8/9.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// Correct `inline-block` display not defined in IE 8/9.\n//\n\naudio,\ncanvas,\nvideo {\n display: inline-block;\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\n[hidden] {\n display: none;\n}\n\n// ==========================================================================\n// Base\n// ==========================================================================\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS text size adjust after orientation change, without disabling\n// user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -webkit-text-size-adjust: 100%; // 2\n -ms-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// ==========================================================================\n// Links\n// ==========================================================================\n\n//\n// Address `outline` inconsistency between Chrome and other browsers.\n//\n\na:focus {\n outline: thin dotted;\n}\n\n//\n// Improve readability when focused and also mouse hovered in all browsers.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// ==========================================================================\n// Typography\n// ==========================================================================\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari 5, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9, Safari 5, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari 5 and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Correct font family set oddly in Safari 5 and Chrome.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, serif;\n font-size: 1em;\n}\n\n//\n// Improve readability of pre-formatted text in all browsers.\n//\n\npre {\n white-space: pre-wrap;\n}\n\n//\n// Set consistent quote types.\n//\n\nq {\n quotes: \"\\201C\" \"\\201D\" \"\\2018\" \"\\2019\";\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// ==========================================================================\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow displayed oddly in IE 9.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// ==========================================================================\n// Figures\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari 5.\n//\n\nfigure {\n margin: 0;\n}\n\n// ==========================================================================\n// Forms\n// ==========================================================================\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// 1. Correct font family not being inherited in all browsers.\n// 2. Correct font size not being inherited in all browsers.\n// 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.\n//\n\nbutton,\ninput,\nselect,\ntextarea {\n font-family: inherit; // 1\n font-size: 100%; // 2\n margin: 0; // 3\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\nbutton,\ninput {\n line-height: normal;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.\n// Correct `select` style inheritance in Firefox 4+ and Opera.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// 1. Address box sizing set to `content-box` in IE 8/9.\n// 2. Remove excess padding in IE 8/9.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome\n// (include `-moz` to future-proof).\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; // 2\n box-sizing: content-box;\n}\n\n//\n// Remove inner padding and search cancel button in Safari 5 and Chrome\n// on OS X.\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// 1. Remove default vertical scrollbar in IE 8/9.\n// 2. Improve readability and alignment in all browsers.\n//\n\ntextarea {\n overflow: auto; // 1\n vertical-align: top; // 2\n}\n\n// ==========================================================================\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n","pager.less":"//\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 .clearfix();\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pagination-active-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: @pagination-bg;\n cursor: not-allowed;\n }\n }\n\n}\n","pagination.less":"//\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 float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n line-height: @line-height-base;\n text-decoration: none;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n border-left-width: 0;\n }\n &:first-child {\n > a,\n > span {\n border-left-width: 1px;\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:hover,\n > li > a:focus,\n > .active > a,\n > .active > span {\n background-color: @pagination-active-bg;\n }\n > .active > a,\n > .active > span {\n color: @pagination-active-color;\n cursor: default;\n }\n\n > .disabled {\n > span,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n background-color: @pagination-bg;\n cursor: not-allowed;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n > li {\n > a,\n > span {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius-large);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-large);\n }\n }\n }\n}\n\n// Small\n.pagination-sm {\n > li {\n > a,\n > span {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius-small);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-small);\n }\n }\n }\n}\n","panels.less":"//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n padding: 15px;\n margin-bottom: 20px;\n background-color: @panel-bg;\n border: 1px solid @panel-border;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0,0,0,.05));\n\n // List groups in panels\n .list-group {\n margin: 15px -15px -15px;\n\n .list-group-item {\n border-width: 1px 0;\n\n // Remove border radius for top one\n &:first-child {\n .border-top-radius(0);\n }\n // But keep it for the last one\n &:last-child {\n border-bottom: 0;\n }\n }\n }\n}\n\n// Optional heading\n.panel-heading {\n margin: -15px -15px 15px;\n padding: 10px 15px;\n background-color: @panel-heading-bg;\n border-bottom: 1px solid @panel-border;\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n}\n\n// Within heading, strip any `h*` tag of it's default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: (@font-size-base * 1.25);\n font-weight: 500;\n > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n margin: 15px -15px -15px;\n padding: 10px 15px;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-border;\n border-bottom-left-radius: (@panel-border-radius - 1);\n border-bottom-right-radius: (@panel-border-radius - 1);\n}\n\n// Contextual variations\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-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.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n","popovers.less":"//\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 -webkit-bg-clip: padding-box;\n -moz-bg-clip: padding;\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: -10px; }\n &.right { margin-left: 10px; }\n &.bottom { margin-top: 10px; }\n &.left { margin-left: -10px; }\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","print.less":"//\n// Basic print styles\n// --------------------------------------------------\n// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css\n\n@media print {\n\n * {\n text-shadow: none !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n background: transparent !important;\n box-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links for images, or javascript/internal links\n .ir a:after,\n a[href^=\"javascript:\"]:after,\n a[href^=\"#\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n @page {\n margin: 2cm .5cm;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .table {\n td,\n th {\n background-color: #fff !important;\n }\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n}\n","progress-bars.less":"//\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// Firefox\n@-moz-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Opera\n@-o-keyframes progress-bar-stripes {\n from { background-position: 0 0; }\n to { background-position: 40px 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 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(@progress-bar-bg);\n .background-size(40px 40px);\n}\n\n// Call animation for the active one\n.progress.active .progress-bar {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -moz-animation: progress-bar-stripes 2s linear infinite;\n -ms-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n\n\n\n// Variations\n// -------------------------\n\n// Danger (red)\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n\n// Success (green)\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n// Warning (orange)\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n// Info (teal)\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n","responsive-utilities.less":"//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 Metro responsive\n// Required for Windows 8 Metro split-screen snapping with IE10\n//\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n@-ms-viewport{\n width: device-width;\n}\n\n// IE10 on Windows Phone 8\n// IE10 on WP8 doesn't report CSS pixels, but actual device pixels. In\n// other words, say on a Lumia, you'll get 768px as the device width,\n// meaning users will see the tablet styles and not phone styles.\n//\n// Alternatively you can override this with JS (see source below), but\n// we won't be doing that here given our limited scope.\n//\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n@media screen and (max-width: 400px) {\n @-ms-viewport{\n width: 320px;\n }\n}\n\n// Hide from screenreaders and browsers\n// Credit: HTML5 Boilerplate\n.hidden {\n display: none !important;\n visibility: hidden !important;\n}\n\n// Visibility utilities\n\n// For Phones\n.visible-sm {\n .responsive-visibility();\n}\n.visible-md {\n .responsive-invisibility();\n}\n.visible-lg {\n .responsive-invisibility();\n}\n\n.hidden-sm {\n .responsive-invisibility();\n}\n.hidden-md {\n .responsive-visibility();\n}\n.hidden-lg {\n .responsive-visibility();\n}\n\n\n// Tablets & small desktops only\n@media (min-width: @screen-tablet) and (max-width: @screen-tablet-max) {\n .visible-sm {\n .responsive-invisibility();\n }\n .visible-md {\n .responsive-visibility();\n }\n .visible-lg {\n .responsive-invisibility();\n }\n\n .hidden-sm {\n .responsive-visibility();\n }\n .hidden-md {\n .responsive-invisibility();\n }\n .hidden-lg {\n .responsive-visibility();\n }\n}\n\n// For desktops\n@media (min-width: @screen-desktop) {\n .visible-sm {\n .responsive-invisibility();\n }\n .visible-md {\n .responsive-invisibility();\n }\n .visible-lg {\n .responsive-visibility();\n }\n\n .hidden-sm {\n .responsive-visibility();\n }\n .hidden-md {\n .responsive-visibility();\n }\n .hidden-lg {\n .responsive-invisibility();\n }\n}\n\n// Print utilities\n.visible-print {\n .responsive-invisibility();\n}\n.hidden-print { }\n\n@media print {\n .visible-print {\n .responsive-visibility();\n }\n .hidden-print {\n .responsive-invisibility();\n }\n}\n","scaffolding.less":"//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n// -------------------------\n\n* {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n// -------------------------\n\nhtml {\n font-size: 62.5%;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n// -------------------------\n\na {\n color: @link-color;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: @link-hover-color;\n text-decoration: underline;\n}\na:focus {\n .tab-focus();\n}\n\n\n// Images\n// -------------------------\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n display: inline-block;\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// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n// See thumbnails.less for `.img-thumbnail`\n\n// Perfect circle\n.img-circle {\n border-radius: 500px; // crank the border-radius so it works with most reasonably sized images\n}\n\n\n// Horizontal rules\n// -------------------------\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n// Only display content to screen readers\n// See: http://a11yproject.com/posts/how-to-hide-content/\n// -------------------------\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n border: 0;\n}\n","tables.less":"//\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\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 }\n // Remove top border from thead by default\n caption + thead,\n colgroup + thead,\n thead:first-child {\n tr:first-child {\n th, 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\n// Condensed table w/ half padding\n// -------------------------------\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\n// Bordered version\n// ----------------\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}\n\n\n\n// Zebra-striping\n// --------------\n\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n.table-striped {\n > tbody {\n > tr:nth-child(odd) {\n > td,\n > th {\n background-color: @table-bg-accent;\n }\n }\n }\n}\n\n\n\n// Hover effect\n// ------------\n\n// Placed here since it has to come after the potential zebra striping\n.table-hover {\n > tbody {\n > tr:hover {\n > td,\n > th {\n background-color: @table-bg-hover;\n }\n }\n }\n}\n\n\n\n// Table cell sizing\n// -----------------\n\n// Reset default table behavior\ntable col[class^=\"col-\"] {\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class^=\"col-\"] {\n float: none;\n display: table-cell;\n }\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.table > thead > tr,\n.table > tbody > tr,\n.table > tfoot > tr {\n > td.active,\n > th.active,\n &.active > td,\n &.active > th {\n background-color: @table-bg-active;\n }\n > td.success,\n > th.success,\n &.success > td,\n &.success > th {\n background-color: @state-success-bg;\n border-color: @state-success-border;\n }\n > td.danger,\n > th.danger,\n &.danger > td,\n &.danger > th {\n background-color: @state-danger-bg;\n border-color: @state-danger-border;\n }\n > td.warning,\n > th.warning,\n &.warning > td,\n &.warning > th {\n background-color: @state-warning-bg;\n border-color: @state-warning-border;\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.success:hover,\n > th.success:hover,\n &.success:hover > td {\n background-color: darken(@state-success-bg, 5%);\n border-color: darken(@state-success-border, 5%);\n }\n > td.danger:hover,\n > th.danger:hover,\n &.danger:hover > td {\n background-color: darken(@state-danger-bg, 5%);\n border-color: darken(@state-danger-border, 5%);\n }\n > td.warning:hover,\n > th.warning:hover,\n &.warning:hover > td {\n background-color: darken(@state-warning-bg, 5%);\n border-color: darken(@state-warning-border, 5%);\n }\n}\n","thumbnails.less":"//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Base classes\n// For thumbnail block-level composite components and simple image styles\n\n// The actual thumbnailed element\n// Can be `a`, `div`, or `img`\n.thumbnail,\n.img-thumbnail {\n padding: 4px;\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.thumbnail {\n display: block;\n}\n.thumbnail > img,\n.img-thumbnail {\n .img-responsive();\n}\n\n// Add a hover state for linked versions only\na.thumbnail:hover,\na.thumbnail:focus {\n border-color: @link-color;\n}\n\n// Images and captions\n.thumbnail > img {\n margin-left: auto;\n margin-right: auto;\n}\n.thumbnail .caption {\n padding: 9px;\n color: @thumbnail-caption-color;\n}\n","tooltip.less":"//\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(.9); }\n &.top { margin-top: -3px; padding: 5px 0; }\n &.right { margin-left: 3px; padding: 0 5px; }\n &.bottom { margin-top: 3px; padding: 5px 0; }\n &.left { margin-left: -3px; padding: 0 5px; }\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: 5px;\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: 5px;\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: 5px;\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: 5px;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n","type.less":"//\n// Typography\n// --------------------------------------------------\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n.lead {\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.15);\n font-weight: 200;\n line-height: 1.4;\n\n @media (min-width: 768px) {\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 { font-size: 85%; }\n\n// Undo browser default styling\ncite { font-style: normal; }\n\n// Contextual emphasis\n.text-muted { color: @text-muted; }\n.text-primary { color: @brand-primary; }\n.text-warning { color: @state-warning-text; }\n.text-danger { color: @state-danger-text; }\n.text-success { color: @state-success-text; }\n.text-info { color: @state-info-text; }\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\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 small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1,\nh2,\nh3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n}\nh4,\nh5,\nh6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n}\n\nh1, .h1 { font-size: ceil(@font-size-base * 2.70); } // ~38px\nh2, .h2 { font-size: ceil(@font-size-base * 2.25); } // ~32px\nh3, .h3 { font-size: ceil(@font-size-base * 1.70); } // ~24px\nh4, .h4 { font-size: ceil(@font-size-base * 1.25); } // ~18px\nh5, .h5 { font-size: @font-size-base; }\nh6, .h6 { font-size: ceil(@font-size-base * 0.85); } // ~12px\n\nh1 small, .h1 small { font-size: ceil(@font-size-base * 1.70); } // ~24px\nh2 small, .h2 small { font-size: ceil(@font-size-base * 1.25); } // ~18px\nh3 small, .h3 small,\nh4 small, .h4 small { font-size: @font-size-base; }\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\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// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\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 .clearfix(); // 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// Added 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}\nabbr.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 border-left: 5px solid @blockquote-border-color;\n p {\n font-size: (@font-size-base * 1.25);\n font-weight: 300;\n line-height: 1.25;\n }\n p:last-child {\n margin-bottom: 0;\n }\n small {\n display: block;\n line-height: @line-height-base;\n color: @blockquote-small-color;\n &:before {\n content: '\\2014 \\00A0';// EM DASH, NBSP\n }\n }\n\n // Float right with text-align: right\n &.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n p,\n small {\n text-align: right;\n }\n small {\n &:before {\n content: '';\n }\n &:after {\n content: '\\00A0 \\2014';// NBSP, EM DASH\n }\n }\n }\n}\n\n// Quotes\nq:before,\nq:after,\nblockquote:before,\nblockquote:after {\n content: \"\";\n}\n\n// Addresses\naddress {\n display: block;\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","utilities.less":"//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\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.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .hide-text();\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","variables.less":"//\n// Variables\n// --------------------------------------------------\n\n\n// Global values\n// --------------------------------------------------\n\n// Grays\n// -------------------------\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 colors\n// -------------------------\n\n@brand-primary: #428bca;\n@brand-success: #5cb85c;\n@brand-warning: #f0ad4e;\n@brand-danger: #d9534f;\n@brand-info: #5bc0de;\n\n// Scaffolding\n// -------------------------\n\n@body-bg: #fff;\n@text-color: @gray-dark;\n\n// Links\n// -------------------------\n\n@link-color: @brand-primary;\n@link-hover-color: darken(@link-color, 15%);\n\n// Typography\n// -------------------------\n\n@font-family-sans-serif: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n@font-family-serif: Georgia, \"Times New Roman\", Times, serif;\n@font-family-monospace: Monaco, Menlo, 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@line-height-base: 1.428571429; // 20/14\n@line-height-computed: floor(@font-size-base * @line-height-base); // ~20px\n\n@headings-font-family: @font-family-base;\n@headings-font-weight: 500;\n@headings-line-height: 1.1;\n\n\n// Components\n// -------------------------\n// Based on 14px font-size 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@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@component-active-bg: @brand-primary;\n\n@caret-width-base: 4px;\n@caret-width-large: 5px;\n\n// Tables\n// -------------------------\n\n@table-cell-padding: 8px;\n@table-condensed-cell-padding: 5px;\n\n@table-bg: transparent; // overall background-color\n@table-bg-accent: #f9f9f9; // for striping\n@table-bg-hover: #f5f5f5;\n@table-bg-active: @table-bg-hover;\n\n@table-border-color: #ddd; // table and cell border\n\n\n// Buttons\n// -------------------------\n\n@btn-font-weight: bold;\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-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-info-color: #fff;\n@btn-info-bg: @brand-info;\n@btn-info-border: darken(@btn-info-bg, 5%);\n\n@btn-link-disabled-color: @gray-light;\n\n\n// Forms\n// -------------------------\n\n@input-bg: #fff;\n@input-bg-disabled: @gray-lighter;\n\n@input-border: #ccc;\n@input-border-radius: @border-radius-base;\n@input-border-focus: #66afe9;\n\n@input-color-placeholder: @gray-light;\n\n@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);\n@input-height-large: (floor(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);\n@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);\n\n@legend-border-color: #e5e5e5;\n\n@input-group-addon-border-color: @input-border;\n\n\n// Dropdowns\n// -------------------------\n\n@dropdown-bg: #fff;\n@dropdown-border: rgba(0,0,0,.15);\n@dropdown-fallback-border: #ccc;\n@dropdown-divider-bg: #e5e5e5;\n\n@dropdown-link-active-color: #fff;\n@dropdown-link-active-bg: @component-active-bg;\n\n@dropdown-link-color: @gray-dark;\n@dropdown-link-hover-color: #fff;\n@dropdown-link-hover-bg: @dropdown-link-active-bg;\n\n@dropdown-caret-color: #000;\n\n\n// COMPONENT VARIABLES\n// --------------------------------------------------\n\n\n// Z-index master list\n// -------------------------\n// Used for a bird's eye view of components dependent on the z-axis\n// Try to avoid customizing these :)\n\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// Media queries breakpoints\n// --------------------------------------------------\n\n// Extra small screen / phone\n@screen-xsmall: 480px;\n@screen-phone: @screen-xsmall;\n\n// Small screen / tablet\n@screen-small: 768px;\n@screen-tablet: @screen-small;\n\n// Medium screen / desktop\n@screen-medium: 992px;\n@screen-desktop: @screen-medium;\n\n// Large screen / wide desktop\n@screen-large: 1200px;\n@screen-large-desktop: @screen-large;\n\n// So media queries don't overlap when required, provide a maximum\n@screen-small-max: (@screen-medium - 1);\n@screen-tablet-max: (@screen-desktop - 1);\n@screen-desktop-max: (@screen-large-desktop - 1);\n\n\n// Grid system\n// --------------------------------------------------\n\n// Number of columns in the grid system\n@grid-columns: 12;\n// Padding, to be divided by two and applied to the left and right of all columns\n@grid-gutter-width: 30px;\n// Point at which the navbar stops collapsing\n@grid-float-breakpoint: @screen-tablet;\n\n\n// Navbar\n// -------------------------\n\n// Basics of a navbar\n@navbar-height: 50px;\n@navbar-color: #777;\n@navbar-bg: #eee;\n@navbar-border-radius: @border-radius-base;\n@navbar-padding-horizontal: floor(@grid-gutter-width / 2); // ~15px\n@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);\n\n// Navbar links\n@navbar-link-color: #777;\n@navbar-link-hover-color: #333;\n@navbar-link-hover-bg: transparent;\n@navbar-link-active-color: #555;\n@navbar-link-active-bg: darken(@navbar-bg, 10%);\n@navbar-link-disabled-color: #ccc;\n@navbar-link-disabled-bg: transparent;\n\n// Navbar brand label\n@navbar-brand-color: @navbar-link-color;\n@navbar-brand-hover-color: darken(@navbar-link-color, 10%);\n@navbar-brand-hover-bg: transparent;\n\n// Navbar toggle\n@navbar-toggle-hover-bg: #ddd;\n@navbar-toggle-icon-bar-bg: #ccc;\n@navbar-toggle-border-color: #ddd;\n\n\n// Inverted navbar\n//\n// Reset inverted navbar basics\n@navbar-inverse-color: @gray-light;\n@navbar-inverse-bg: #222;\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 search\n// Normal navbar needs no special styles or vars\n@navbar-inverse-search-bg: lighten(@navbar-inverse-bg, 25%);\n@navbar-inverse-search-bg-focus: #fff;\n@navbar-inverse-search-border: @navbar-inverse-bg;\n@navbar-inverse-search-placeholder-color: #ccc;\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@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@nav-open-caret-border-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-active-link-hover-bg: @component-active-bg;\n@nav-pills-active-link-hover-color: #fff;\n\n\n// Pagination\n// -------------------------\n\n@pagination-bg: #fff;\n@pagination-border: #ddd;\n@pagination-active-bg: #f5f5f5;\n@pagination-active-color: @gray-light;\n@pagination-disabled-color: @gray-light;\n\n// Pager\n// -------------------------\n\n@pager-border-radius: 15px;\n@pager-disabled-color: @gray-light;\n\n\n// Jumbotron\n// -------------------------\n\n@jumbotron-bg: @gray-lighter;\n@jumbotron-heading-color: inherit;\n@jumbotron-lead-color: inherit;\n\n\n// Form states and alerts\n// -------------------------\n\n@state-warning-text: #c09853;\n@state-warning-bg: #fcf8e3;\n@state-warning-border: darken(spin(@state-warning-bg, -10), 3%);\n\n@state-danger-text: #b94a48;\n@state-danger-bg: #f2dede;\n@state-danger-border: darken(spin(@state-danger-bg, -10), 3%);\n\n@state-success-text: #468847;\n@state-success-bg: #dff0d8;\n@state-success-border: darken(spin(@state-success-bg, -10), 5%);\n\n@state-info-text: #3a87ad;\n@state-info-bg: #d9edf7;\n@state-info-border: darken(spin(@state-info-bg, -10), 7%);\n\n\n// Tooltips\n// -------------------------\n@tooltip-max-width: 200px;\n@tooltip-color: #fff;\n@tooltip-bg: #000;\n\n@tooltip-arrow-width: 5px;\n@tooltip-arrow-color: @tooltip-bg;\n\n\n// Popovers\n// -------------------------\n@popover-bg: #fff;\n@popover-max-width: 276px;\n@popover-border-color: rgba(0,0,0,.2);\n@popover-fallback-border-color: #ccc;\n\n@popover-title-bg: darken(@popover-bg, 3%);\n\n@popover-arrow-width: 10px;\n@popover-arrow-color: #fff;\n\n@popover-arrow-outer-width: (@popover-arrow-width + 1);\n@popover-arrow-outer-color: rgba(0,0,0,.25);\n@popover-arrow-outer-fallback-color: #999;\n\n\n// Labels\n// -------------------------\n\n@label-default-bg: @gray-light;\n@label-success-bg: @brand-success;\n@label-info-bg: @brand-info;\n@label-warning-bg: @brand-warning;\n@label-danger-bg: @brand-danger;\n\n@label-color: #fff;\n@label-link-hover-color: #fff;\n\n\n// Modals\n// -------------------------\n@modal-inner-padding: 20px;\n\n@modal-title-padding: 15px;\n@modal-title-line-height: @line-height-base;\n\n@modal-content-bg: #fff;\n@modal-content-border-color: rgba(0,0,0,.2);\n@modal-content-fallback-border-color: #999;\n\n@modal-backdrop-bg: #000;\n@modal-header-border-color: #e5e5e5;\n@modal-footer-border-color: @modal-header-border-color;\n\n\n// Alerts\n// -------------------------\n@alert-padding: 15px;\n@alert-border-radius: @border-radius-base;\n@alert-link-font-weight: bold;\n\n@alert-bg: @state-warning-bg;\n@alert-text: @state-warning-text;\n@alert-border: @state-warning-border;\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-danger-bg: @state-danger-bg;\n@alert-danger-text: @state-danger-text;\n@alert-danger-border: @state-danger-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\n// Progress bars\n// -------------------------\n@progress-bg: #f5f5f5;\n@progress-bar-color: #fff;\n\n@progress-bar-bg: @brand-primary;\n@progress-bar-success-bg: @brand-success;\n@progress-bar-warning-bg: @brand-warning;\n@progress-bar-danger-bg: @brand-danger;\n@progress-bar-info-bg: @brand-info;\n\n\n// List group\n// -------------------------\n@list-group-bg: #fff;\n@list-group-border: #ddd;\n@list-group-border-radius: @border-radius-base;\n\n@list-group-hover-bg: #f5f5f5;\n@list-group-active-color: #fff;\n@list-group-active-bg: @component-active-bg;\n@list-group-active-border: @list-group-active-bg;\n\n@list-group-link-color: #555;\n@list-group-link-heading-color: #333;\n\n\n// Panels\n// -------------------------\n@panel-bg: #fff;\n@panel-border: #ddd;\n@panel-border-radius: @border-radius-base;\n@panel-heading-bg: #f5f5f5;\n@panel-footer-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-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@panel-info-text: @state-info-text;\n@panel-info-border: @state-info-border;\n@panel-info-heading-bg: @state-info-bg;\n\n\n// Thumbnails\n// -------------------------\n@thumbnail-caption-color: @text-color;\n@thumbnail-bg: @body-bg;\n@thumbnail-border: #ddd;\n@thumbnail-border-radius: @border-radius-base;\n\n\n// Wells\n// -------------------------\n@well-bg: #f5f5f5;\n\n\n// Accordion\n// -------------------------\n@accordion-border-color: #e5e5e5;\n\n\n// Badges\n// -------------------------\n@badge-color: #fff;\n@badge-link-hover-color: #fff;\n@badge-bg: @gray-light;\n\n@badge-active-color: @link-color;\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@breadcrumb-bg: #f5f5f5;\n@breadcrumb-color: #ccc;\n@breadcrumb-active-color: @gray-light;\n\n\n// Carousel\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@close-color: #000;\n@close-font-weight: bold;\n@close-text-shadow: 0 1px 0 #fff;\n\n\n// Code\n// ------------------------\n@code-color: #c7254e;\n@code-bg: #f9f2f4;\n\n@pre-bg: #f5f5f5;\n@pre-border-color: #ccc;\n\n// Type\n// ------------------------\n@text-muted: @gray-light;\n@abbr-border-color: @gray-light;\n@headings-small-color: @gray-light;\n@blockquote-small-color: @gray-light;\n@blockquote-border-color: @gray-lighter;\n@page-header-border-color: @gray-lighter;\n\n// Miscellaneous\n// -------------------------\n\n// Hr border color\n@hr-border: @gray-lighter;\n\n// Horizontal forms & lists\n@component-offset-horizontal: 180px;\n\n\n// Container sizes\n// --------------------------------------------------\n\n// Small screen / tablet\n@container-tablet: 728px;\n\n// Medium screen / desktop\n@container-desktop: 940px;\n\n// Large screen / wide desktop\n@container-large-desktop: 1170px;\n","wells.less":"//\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 darken(@well-bg, 7%);\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"}
|
|
</script>
|
|
<!-- /generated -->
|
|
<script src="../assets/js/less.js"></script>
|
|
<script src="../assets/js/jszip.js"></script>
|
|
<script src="../assets/js/uglify.js"></script>
|
|
<script>
|
|
window.onload = function () { // wait for load in a dumb way because B-0
|
|
var cw = '/*!\n * Bootstrap v3.0.0-rc.2\n *\n * Copyright 2013 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\n\n'
|
|
|
|
function generateZip(css, js, complete) {
|
|
if (!css && !js) return alert('you want to build nothing… o_O')
|
|
|
|
var zip = new JSZip()
|
|
|
|
if (css) {
|
|
var cssFolder = zip.folder('css')
|
|
for (var fileName in css) {
|
|
cssFolder.file(fileName, css[fileName])
|
|
}
|
|
}
|
|
|
|
if (js) {
|
|
var jsFolder = zip.folder('js')
|
|
for (var fileName in js) {
|
|
jsFolder.file(fileName, js[fileName])
|
|
}
|
|
}
|
|
|
|
var content = zip.generate()
|
|
|
|
location.href = 'data:application/zip;base64,' + content
|
|
|
|
complete()
|
|
}
|
|
|
|
function generateCustomCSS(vars) {
|
|
var result = ''
|
|
|
|
for (var key in vars) {
|
|
result += key + ': ' + vars[key] + ';\n'
|
|
}
|
|
|
|
return result + '\n\n'
|
|
}
|
|
|
|
function generateCSS() {
|
|
var $checked = $('#less-section input:checked')
|
|
|
|
if (!$checked.length) return false
|
|
|
|
var result = {}
|
|
var vars = {}
|
|
var css = ''
|
|
|
|
$('#less-variables-section input')
|
|
.each(function () {
|
|
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
|
|
})
|
|
|
|
css += __less['variables.less']
|
|
if (vars) css += generateCustomCSS(vars)
|
|
css += __less['mixins.less']
|
|
css += $checked
|
|
.map(function () { return __less[this.value] })
|
|
.toArray()
|
|
.join('\n')
|
|
|
|
css = css.replace(/@import[^\n]*/gi, '') //strip any imports
|
|
|
|
try {
|
|
var parser = new less.Parser({
|
|
paths: ['variables.less', 'mixins.less']
|
|
, optimization: 0
|
|
, filename: 'bootstrap.css'
|
|
}).parse(css, function (err, tree) {
|
|
if (err) return alert(err)
|
|
|
|
result = {
|
|
'bootstrap.css' : cw + tree.toCSS(),
|
|
'bootstrap.min.css' : cw + tree.toCSS({ compress: true })
|
|
}
|
|
})
|
|
} catch (err) {
|
|
return alert(err)
|
|
}
|
|
|
|
return result
|
|
}
|
|
|
|
function generateJavascript() {
|
|
var $checked = $('#plugin-section input:checked')
|
|
if (!$checked.length) return false
|
|
|
|
var js = $checked
|
|
.map(function () { return __js[this.value] })
|
|
.toArray()
|
|
.join('\n')
|
|
|
|
return {
|
|
'bootstrap.js': js,
|
|
'bootstrap.min.js': cw + uglify(js)
|
|
}
|
|
}
|
|
|
|
var $downloadBtn = $('#btn-download').on('click', function (e) {
|
|
e.preventDefault()
|
|
$downloadBtn.addClass('loading')
|
|
generateZip(generateCSS(), generateJavascript(), function () {
|
|
$downloadBtn.removeClass('loading')
|
|
})
|
|
})
|
|
|
|
var inputsComponent = $('#less-section input')
|
|
var inputsPlugin = $('#plugin-section input')
|
|
var inputsVariables = $('#less-variables-section input')
|
|
|
|
$('#less-section .toggle').on('click', function (e) {
|
|
e.preventDefault()
|
|
inputsComponent.prop('checked', !inputsComponent.is(':checked'))
|
|
})
|
|
|
|
$('#plugin-section .toggle').on('click', function (e) {
|
|
e.preventDefault()
|
|
inputsPlugin.prop('checked', !inputsPlugin.is(':checked'))
|
|
})
|
|
|
|
$('#less-variables-section .toggle').on('click', function (e) {
|
|
e.preventDefault()
|
|
inputsVariables.val('')
|
|
})
|
|
}
|
|
</script> |