updated bootstrap to v2.2.2, restored most of values to their default. (only file changed is the varible.less file)

This commit is contained in:
Keivan Beigi 2013-01-21 16:41:46 -08:00 committed by kay.one
parent de8d701553
commit 0eecb0bde0
38 changed files with 1005 additions and 533 deletions

2
.gitignore vendored
View File

@ -125,3 +125,5 @@ config.xml
nzbdrone.log*txt nzbdrone.log*txt
NzbDrone.Web/MediaCover NzbDrone.Web/MediaCover
UpdateLogs/ UpdateLogs/
*/Bootstrap/*.css
*//Bootstrap/*.css

View File

@ -12,7 +12,7 @@
.accordion-group { .accordion-group {
margin-bottom: 2px; margin-bottom: 2px;
border: 1px solid #e5e5e5; border: 1px solid #e5e5e5;
.border-radius(4px); .border-radius(@baseBorderRadius);
} }
.accordion-heading { .accordion-heading {
border-bottom: 0; border-bottom: 0;

View File

@ -9,8 +9,14 @@
.alert { .alert {
padding: 8px 35px 8px 14px; padding: 8px 35px 8px 14px;
margin-bottom: @baseLineHeight; margin-bottom: @baseLineHeight;
text-shadow: 0 1px 0 rgba(255,255,255,.5);
background-color: @warningBackground; background-color: @warningBackground;
border: 1px solid @warningBorder; border: 1px solid @warningBorder;
.border-radius(@baseBorderRadius);
}
.alert,
.alert h4 {
// Specified for the h4 to prevent conflicts of changing @headingsColor
color: @warningText; color: @warningText;
} }
.alert h4 { .alert h4 {
@ -34,17 +40,27 @@
border-color: @successBorder; border-color: @successBorder;
color: @successText; color: @successText;
} }
.alert-success h4 {
color: @successText;
}
.alert-danger, .alert-danger,
.alert-error { .alert-error {
background-color: @errorBackground; background-color: @errorBackground;
border-color: @errorBorder; border-color: @errorBorder;
color: @errorText; color: @errorText;
} }
.alert-danger h4,
.alert-error h4 {
color: @errorText;
}
.alert-info { .alert-info {
background-color: @infoBackground; background-color: @infoBackground;
border-color: @infoBorder; border-color: @infoBorder;
color: @infoText; color: @infoText;
} }
.alert-info h4 {
color: @infoText;
}
// Block alerts // Block alerts

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap v2.1.1 * Bootstrap v2.2.2
* *
* Copyright 2012 Twitter, Inc * Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0 * Licensed under the Apache License v2.0
@ -52,6 +52,7 @@
// Components: Misc // Components: Misc
@import "thumbnails.less"; @import "thumbnails.less";
@import "media.less";
@import "labels-badges.less"; @import "labels-badges.less";
@import "progress-bars.less"; @import "progress-bars.less";
@import "accordion.less"; @import "accordion.less";

View File

@ -8,17 +8,17 @@
margin: 0 0 @baseLineHeight; margin: 0 0 @baseLineHeight;
list-style: none; list-style: none;
background-color: #f5f5f5; background-color: #f5f5f5;
.border-radius(4px); .border-radius(@baseBorderRadius);
li { > li {
display: inline-block; display: inline-block;
.ie7-inline-block(); .ie7-inline-block();
text-shadow: 0 1px 0 @white; text-shadow: 0 1px 0 @white;
} > .divider {
.divider {
padding: 0 5px; padding: 0 5px;
color: #ccc; color: #ccc;
} }
.active { }
> .active {
color: @grayLight; color: @grayLight;
} }
} }

View File

@ -6,6 +6,8 @@
// Make the div behave like a button // Make the div behave like a button
.btn-group { .btn-group {
position: relative; position: relative;
display: inline-block;
.ie7-inline-block();
font-size: 0; // remove as part 1 of font-size inline-block hack font-size: 0; // remove as part 1 of font-size inline-block hack
vertical-align: middle; // match .btn alignment given font-size hack above vertical-align: middle; // match .btn alignment given font-size hack above
white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page) white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
@ -22,13 +24,9 @@
font-size: 0; // Hack to remove whitespace that results from using inline-block font-size: 0; // Hack to remove whitespace that results from using inline-block
margin-top: @baseLineHeight / 2; margin-top: @baseLineHeight / 2;
margin-bottom: @baseLineHeight / 2; margin-bottom: @baseLineHeight / 2;
.btn-group { > .btn + .btn,
display: inline-block; > .btn-group + .btn,
.ie7-inline-block(); > .btn + .btn-group {
}
.btn + .btn,
.btn-group + .btn,
.btn + .btn-group {
margin-left: 5px; margin-left: 5px;
} }
} }
@ -42,59 +40,44 @@
margin-left: -1px; margin-left: -1px;
} }
.btn-group > .btn, .btn-group > .btn,
.btn-group > .dropdown-menu { .btn-group > .dropdown-menu,
.btn-group > .popover {
font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack
} }
// Reset fonts for other sizes // Reset fonts for other sizes
.btn-group > .btn-mini { .btn-group > .btn-mini {
font-size: 11px; font-size: @fontSizeMini;
} }
.btn-group > .btn-small { .btn-group > .btn-small {
font-size: 12px; font-size: @fontSizeSmall;
} }
.btn-group > .btn-large { .btn-group > .btn-large {
font-size: 16px; font-size: @fontSizeLarge;
} }
// 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 // 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
.btn-group > .btn:first-child { .btn-group > .btn:first-child {
margin-left: 0; margin-left: 0;
-webkit-border-top-left-radius: 4px; .border-top-left-radius(@baseBorderRadius);
-moz-border-radius-topleft: 4px; .border-bottom-left-radius(@baseBorderRadius);
border-top-left-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
border-bottom-left-radius: 4px;
} }
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
.btn-group > .btn:last-child, .btn-group > .btn:last-child,
.btn-group > .dropdown-toggle { .btn-group > .dropdown-toggle {
-webkit-border-top-right-radius: 4px; .border-top-right-radius(@baseBorderRadius);
-moz-border-radius-topright: 4px; .border-bottom-right-radius(@baseBorderRadius);
border-top-right-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
border-bottom-right-radius: 4px;
} }
// Reset corners for large buttons // Reset corners for large buttons
.btn-group > .btn.large:first-child { .btn-group > .btn.large:first-child {
margin-left: 0; margin-left: 0;
-webkit-border-top-left-radius: 6px; .border-top-left-radius(@borderRadiusLarge);
-moz-border-radius-topleft: 6px; .border-bottom-left-radius(@borderRadiusLarge);
border-top-left-radius: 6px;
-webkit-border-bottom-left-radius: 6px;
-moz-border-radius-bottomleft: 6px;
border-bottom-left-radius: 6px;
} }
.btn-group > .btn.large:last-child, .btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle { .btn-group > .large.dropdown-toggle {
-webkit-border-top-right-radius: 6px; .border-top-right-radius(@borderRadiusLarge);
-moz-border-radius-topright: 6px; .border-bottom-right-radius(@borderRadiusLarge);
border-top-right-radius: 6px;
-webkit-border-bottom-right-radius: 6px;
-moz-border-radius-bottomright: 6px;
border-bottom-right-radius: 6px;
} }
// On hover/focus/active, bring the proper btn to front // On hover/focus/active, bring the proper btn to front
@ -120,7 +103,7 @@
.btn-group > .btn + .dropdown-toggle { .btn-group > .btn + .dropdown-toggle {
padding-left: 8px; padding-left: 8px;
padding-right: 8px; padding-right: 8px;
.box-shadow(inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)); .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
*padding-top: 5px; *padding-top: 5px;
*padding-bottom: 5px; *padding-bottom: 5px;
} }
@ -147,7 +130,7 @@
// Remove the gradient and set the same inset shadow as the :active state // Remove the gradient and set the same inset shadow as the :active state
.dropdown-toggle { .dropdown-toggle {
background-image: none; background-image: none;
.box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)); .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
} }
// Keep the hover's background when dropdown is open // Keep the hover's background when dropdown is open
@ -193,8 +176,7 @@
} }
// Upside down carets for .dropup // Upside down carets for .dropup
.dropup .btn-large .caret { .dropup .btn-large .caret {
border-bottom: 5px solid @black; border-bottom-width: 5px;
border-top: 0;
} }
@ -221,25 +203,25 @@
display: inline-block; // makes buttons only take up the width they need display: inline-block; // makes buttons only take up the width they need
.ie7-inline-block(); .ie7-inline-block();
} }
.btn-group-vertical .btn { .btn-group-vertical > .btn {
display: block; display: block;
float: none; float: none;
width: 100%; max-width: 100%;
.border-radius(0); .border-radius(0);
} }
.btn-group-vertical .btn + .btn { .btn-group-vertical > .btn + .btn {
margin-left: 0; margin-left: 0;
margin-top: -1px; margin-top: -1px;
} }
.btn-group-vertical .btn:first-child { .btn-group-vertical > .btn:first-child {
.border-radius(4px 4px 0 0); .border-radius(@baseBorderRadius @baseBorderRadius 0 0);
} }
.btn-group-vertical .btn:last-child { .btn-group-vertical > .btn:last-child {
.border-radius(0 0 4px 4px); .border-radius(0 0 @baseBorderRadius @baseBorderRadius);
} }
.btn-group-vertical .btn-large:first-child { .btn-group-vertical > .btn-large:first-child {
.border-radius(6px 6px 0 0); .border-radius(@borderRadiusLarge @borderRadiusLarge 0 0);
} }
.btn-group-vertical .btn-large:last-child { .btn-group-vertical > .btn-large:last-child {
.border-radius(0 0 6px 6px); .border-radius(0 0 @borderRadiusLarge @borderRadiusLarge);
} }

View File

@ -10,11 +10,10 @@
.btn { .btn {
display: inline-block; display: inline-block;
.ie7-inline-block(); .ie7-inline-block();
padding: 4px 14px; padding: 4px 12px;
margin-bottom: 0; // For input.btn margin-bottom: 0; // For input.btn
font-size: @baseFontSize; font-size: @baseFontSize;
line-height: @baseLineHeight; line-height: @baseLineHeight;
*line-height: @baseLineHeight;
text-align: center; text-align: center;
vertical-align: middle; vertical-align: middle;
cursor: pointer; cursor: pointer;
@ -22,16 +21,14 @@
border: 1px solid @btnBorder; border: 1px solid @btnBorder;
*border: 0; // Remove the border to prevent IE7's black border on input:focus *border: 0; // Remove the border to prevent IE7's black border on input:focus
border-bottom-color: darken(@btnBorder, 10%); border-bottom-color: darken(@btnBorder, 10%);
.border-radius(4px); .border-radius(@baseBorderRadius);
.ie7-restore-left-whitespace(); // Give IE7 some love .ie7-restore-left-whitespace(); // Give IE7 some love
.box-shadow(inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)); .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
// Hover state // Hover state
&:hover { &:hover {
color: @grayDark; color: @grayDark;
text-decoration: none; text-decoration: none;
background-color: darken(@white, 10%);
*background-color: darken(@white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */
background-position: 0 -15px; background-position: 0 -15px;
// transition is only when going to hover, otherwise the background // transition is only when going to hover, otherwise the background
@ -47,18 +44,15 @@
// Active state // Active state
&.active, &.active,
&:active { &:active {
background-color: darken(@white, 10%);
background-color: darken(@white, 15%) e("\9");
background-image: none; background-image: none;
outline: 0; outline: 0;
.box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)); .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
} }
// Disabled state // Disabled state
&.disabled, &.disabled,
&[disabled] { &[disabled] {
cursor: default; cursor: default;
background-color: darken(@white, 10%);
background-image: none; background-image: none;
.opacity(65); .opacity(65);
.box-shadow(none); .box-shadow(none);
@ -73,30 +67,35 @@
// Large // Large
.btn-large { .btn-large {
padding: 9px 14px; padding: @paddingLarge;
font-size: @baseFontSize + 2px; font-size: @fontSizeLarge;
line-height: normal; .border-radius(@borderRadiusLarge);
.border-radius(5px);
} }
.btn-large [class^="icon-"] { .btn-large [class^="icon-"],
margin-top: 2px; .btn-large [class*=" icon-"] {
margin-top: 4px;
} }
// Small // Small
.btn-small { .btn-small {
padding: 3px 9px; padding: @paddingSmall;
font-size: @baseFontSize - 2px; font-size: @fontSizeSmall;
line-height: @baseLineHeight - 2px; .border-radius(@borderRadiusSmall);
} }
.btn-small [class^="icon-"] { .btn-small [class^="icon-"],
.btn-small [class*=" icon-"] {
margin-top: 0; margin-top: 0;
} }
.btn-mini [class^="icon-"],
.btn-mini [class*=" icon-"] {
margin-top: -1px;
}
// Mini // Mini
.btn-mini { .btn-mini {
padding: 2px 6px; padding: @paddingMini;
font-size: @baseFontSize - 3px; font-size: @fontSizeMini;
line-height: @baseLineHeight - 3px; .border-radius(@borderRadiusSmall);
} }

View File

@ -15,50 +15,50 @@
position: relative; position: relative;
} }
.carousel { .carousel-inner {
.item { > .item {
display: none; display: none;
position: relative; position: relative;
.transition(.6s ease-in-out left); .transition(.6s ease-in-out left);
} }
// Account for jankitude on images // Account for jankitude on images
.item > img { > .item > img {
display: block; display: block;
line-height: 1; line-height: 1;
} }
.active, > .active,
.next, > .next,
.prev { display: block; } > .prev { display: block; }
.active { > .active {
left: 0; left: 0;
} }
.next, > .next,
.prev { > .prev {
position: absolute; position: absolute;
top: 0; top: 0;
width: 100%; width: 100%;
} }
.next { > .next {
left: 100%; left: 100%;
} }
.prev { > .prev {
left: -100%; left: -100%;
} }
.next.left, > .next.left,
.prev.right { > .prev.right {
left: 0; left: 0;
} }
.active.left { > .active.left {
left: -100%; left: -100%;
} }
.active.right { > .active.right {
left: 100%; left: 100%;
} }

View File

@ -19,6 +19,7 @@ code {
color: #d14; color: #d14;
background-color: #f7f7f9; background-color: #f7f7f9;
border: 1px solid #e1e1e8; border: 1px solid #e1e1e8;
white-space: nowrap;
} }
// Blocks of code // Blocks of code
@ -35,7 +36,7 @@ pre {
background-color: #f5f5f5; background-color: #f5f5f5;
border: 1px solid #ccc; // fallback for IE7-8 border: 1px solid #ccc; // fallback for IE7-8
border: 1px solid rgba(0,0,0,.15); border: 1px solid rgba(0,0,0,.15);
.border-radius(4px); .border-radius(@baseBorderRadius);
// Make prettyprint styles more spaced out for readability // Make prettyprint styles more spaced out for readability
&.prettyprint { &.prettyprint {
@ -46,6 +47,8 @@ pre {
code { code {
padding: 0; padding: 0;
color: inherit; color: inherit;
white-space: pre;
white-space: pre-wrap;
background-color: transparent; background-color: transparent;
border: 0; border: 0;
} }

View File

@ -72,7 +72,7 @@
} }
// Links within the dropdown menu // Links within the dropdown menu
a { li > a {
display: block; display: block;
padding: 3px 20px; padding: 3px 20px;
clear: both; clear: both;
@ -90,7 +90,6 @@
.dropdown-submenu:hover > a { .dropdown-submenu:hover > a {
text-decoration: none; text-decoration: none;
color: @dropdownLinkColorHover; color: @dropdownLinkColorHover;
background-color: @dropdownLinkBackgroundHover;
#gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%)); #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%));
} }
@ -98,10 +97,9 @@
// ------------ // ------------
.dropdown-menu .active > a, .dropdown-menu .active > a,
.dropdown-menu .active > a:hover { .dropdown-menu .active > a:hover {
color: @dropdownLinkColorHover; color: @dropdownLinkColorActive;
text-decoration: none; text-decoration: none;
outline: 0; outline: 0;
background-color: @dropdownLinkBackgroundActive;
#gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%)); #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%));
} }
@ -116,6 +114,8 @@
.dropdown-menu .disabled > a:hover { .dropdown-menu .disabled > a:hover {
text-decoration: none; text-decoration: none;
background-color: transparent; background-color: transparent;
background-image: none; // Remove CSS gradient
.reset-filter();
cursor: default; cursor: default;
} }
@ -163,19 +163,28 @@
.dropdown-submenu { .dropdown-submenu {
position: relative; position: relative;
} }
// Default dropdowns
.dropdown-submenu > .dropdown-menu { .dropdown-submenu > .dropdown-menu {
top: 0; top: 0;
left: 100%; left: 100%;
margin-top: -6px; margin-top: -6px;
margin-left: -1px; margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px; .border-radius(0 6px 6px 6px);
-moz-border-radius: 0 6px 6px 6px;
border-radius: 0 6px 6px 6px;
} }
.dropdown-submenu:hover > .dropdown-menu { .dropdown-submenu:hover > .dropdown-menu {
display: block; display: block;
} }
// Dropups
.dropup .dropdown-submenu > .dropdown-menu {
top: auto;
bottom: 0;
margin-top: 0;
margin-bottom: -2px;
.border-radius(5px 5px 5px 0);
}
// Caret to indicate there is a submenu
.dropdown-submenu > a:after { .dropdown-submenu > a:after {
display: block; display: block;
content: " "; content: " ";
@ -193,6 +202,19 @@
border-left-color: @dropdownLinkColorHover; border-left-color: @dropdownLinkColorHover;
} }
// Left aligned submenus
.dropdown-submenu.pull-left {
// Undo the float
// Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere.
float: none;
// Positioning the submenu
> .dropdown-menu {
left: -100%;
margin-left: 10px;
.border-radius(6px 0 6px 6px);
}
}
// Tweak nav headers // Tweak nav headers
// ----------------- // -----------------
@ -205,6 +227,7 @@
// Typeahead // Typeahead
// --------- // ---------
.typeahead { .typeahead {
z-index: 1051;
margin-top: 2px; // give it some space to breathe margin-top: 2px; // give it some space to breathe
.border-radius(4px); .border-radius(@baseBorderRadius);
} }

View File

@ -81,11 +81,12 @@ input[type="color"],
display: inline-block; display: inline-block;
height: @baseLineHeight; height: @baseLineHeight;
padding: 4px 6px; padding: 4px 6px;
margin-bottom: 9px; margin-bottom: @baseLineHeight / 2;
font-size: @baseFontSize; font-size: @baseFontSize;
line-height: @baseLineHeight; line-height: @baseLineHeight;
color: @gray; color: @gray;
.border-radius(@inputBorderRadius); .border-radius(@inputBorderRadius);
vertical-align: middle;
} }
// Reset appearance properties for textual inputs and textarea // Reset appearance properties for textual inputs and textarea
@ -126,18 +127,17 @@ input[type="color"],
border-color: rgba(82,168,236,.8); border-color: rgba(82,168,236,.8);
outline: 0; outline: 0;
outline: thin dotted \9; /* IE6-9 */ outline: thin dotted \9; /* IE6-9 */
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)); .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
} }
} }
// Position radios and checkboxes better // Position radios and checkboxes better
input[type="radio"], input[type="radio"],
input[type="checkbox"] { input[type="checkbox"] {
margin: 0; margin: 4px 0 0;
*margin-top: 0; /* IE7 */ *margin-top: 0; /* IE7 */
margin-top: 1px \9; /* IE8-9 */ margin-top: 1px \9; /* IE8-9 */
line-height: normal; line-height: normal;
cursor: pointer;
} }
// Reset width of input images, buttons, radios, checkboxes // Reset width of input images, buttons, radios, checkboxes
@ -154,9 +154,9 @@ input[type="checkbox"] {
// Set the height of select and file controls to match text inputs // Set the height of select and file controls to match text inputs
select, select,
input[type="file"] { input[type="file"] {
height: 30px; /* In IE7, the height of the select element cannot be changed by height, only font-size */ height: @inputHeight; /* In IE7, the height of the select element cannot be changed by height, only font-size */
*margin-top: 4px; /* For IE7, add top margin to align select with labels */ *margin-top: 4px; /* For IE7, add top margin to align select with labels */
line-height: 30px; line-height: @inputHeight;
} }
// Make select elements obey height by applying a border // Make select elements obey height by applying a border
@ -210,7 +210,7 @@ input[type="checkbox"]:focus {
// Placeholder // Placeholder
// ------------------------- // -------------------------
// Placeholder text gets special styles because when browsers invalidate entire lines if it doesnt understand a selector // Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector
input, input,
textarea { textarea {
.placeholder(); .placeholder();
@ -223,13 +223,13 @@ textarea {
// Indent the labels to position radios/checkboxes as hanging // Indent the labels to position radios/checkboxes as hanging
.radio, .radio,
.checkbox { .checkbox {
min-height: 18px; // clear the floating input if there is no label text min-height: @baseLineHeight; // clear the floating input if there is no label text
padding-left: 18px; padding-left: 20px;
} }
.radio input[type="radio"], .radio input[type="radio"],
.checkbox input[type="checkbox"] { .checkbox input[type="checkbox"] {
float: left; float: left;
margin-left: -18px; margin-left: -20px;
} }
// Move the options list down to align with labels // Move the options list down to align with labels
@ -304,8 +304,17 @@ textarea[class*="span"],
.controls-row { .controls-row {
.clearfix(); // Clear the float from controls .clearfix(); // Clear the float from controls
} }
.controls-row [class*="span"] {
float: left; // Float to collapse white-space for proper grid alignment // Float to collapse white-space for proper grid alignment
.controls-row [class*="span"],
// Redeclare the fluid grid collapse since we undo the float for inputs
.row-fluid .controls-row [class*="span"] {
float: left;
}
// Explicity set top padding on all checkboxes/radios, not just first-child
.controls-row .checkbox[class*="span"],
.controls-row .radio[class*="span"] {
padding-top: 5px;
} }
@ -357,14 +366,15 @@ input[type="checkbox"][readonly] {
// HTML5 invalid states // HTML5 invalid states
// Shares styles with the .control-group.error above // Shares styles with the .control-group.error above
input:focus:required:invalid, input:focus:invalid,
textarea:focus:required:invalid, textarea:focus:invalid,
select:focus:required:invalid { select:focus:invalid {
color: #b94a48; color: #b94a48;
border-color: #ee5f5b; border-color: #ee5f5b;
&:focus { &:focus {
border-color: darken(#ee5f5b, 10%); border-color: darken(#ee5f5b, 10%);
.box-shadow(0 0 6px lighten(#ee5f5b, 20%)); @shadow: 0 0 6px lighten(#ee5f5b, 20%);
.box-shadow(@shadow);
} }
} }
@ -413,16 +423,23 @@ select:focus:required:invalid {
.input-append, .input-append,
.input-prepend { .input-prepend {
margin-bottom: 5px; margin-bottom: 5px;
font-size: 0; font-size: 0; // white space collapse hack
white-space: nowrap; // Prevent span and input from separating white-space: nowrap; // Prevent span and input from separating
// Reset the white space collapse hack
input,
select,
.uneditable-input,
.dropdown-menu {
font-size: @baseFontSize;
}
input, input,
select, select,
.uneditable-input { .uneditable-input {
position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness
margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
*margin-left: 0; *margin-left: 0;
font-size: @baseFontSize;
vertical-align: top; vertical-align: top;
.border-radius(0 @inputBorderRadius @inputBorderRadius 0); .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
// Make input on top when focused so blue border and shadow always show // Make input on top when focused so blue border and shadow always show
@ -445,7 +462,8 @@ select:focus:required:invalid {
border: 1px solid #ccc; border: 1px solid #ccc;
} }
.add-on, .add-on,
.btn { .btn,
.btn-group > .dropdown-toggle {
vertical-align: top; vertical-align: top;
.border-radius(0); .border-radius(0);
} }
@ -454,6 +472,7 @@ select:focus:required:invalid {
border-color: @green; border-color: @green;
} }
} }
.input-prepend { .input-prepend {
.add-on, .add-on,
.btn { .btn {
@ -461,30 +480,41 @@ select:focus:required:invalid {
} }
.add-on:first-child, .add-on:first-child,
.btn:first-child { .btn:first-child {
// FYI, `.btn:first-child` accounts for a button group that's prepended
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius); .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
} }
} }
.input-append { .input-append {
input, input,
select, select,
.uneditable-input { .uneditable-input {
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius); .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
+ .btn-group .btn:last-child {
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
}
} }
.add-on, .add-on,
.btn { .btn,
.btn-group {
margin-left: -1px; margin-left: -1px;
} }
.add-on:last-child, .add-on:last-child,
.btn:last-child { .btn:last-child,
.btn-group:last-child > .dropdown-toggle {
.border-radius(0 @inputBorderRadius @inputBorderRadius 0); .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
} }
} }
// Remove all border-radius for inputs with both prepend and append // Remove all border-radius for inputs with both prepend and append
.input-prepend.input-append { .input-prepend.input-append {
input, input,
select, select,
.uneditable-input { .uneditable-input {
.border-radius(0); .border-radius(0);
+ .btn-group .btn {
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
}
} }
.add-on:first-child, .add-on:first-child,
.btn:first-child { .btn:first-child {
@ -496,10 +526,14 @@ select:focus:required:invalid {
margin-left: -1px; margin-left: -1px;
.border-radius(0 @inputBorderRadius @inputBorderRadius 0); .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
} }
.btn-group:first-child {
margin-left: 0;
}
} }
// SEARCH FORM // SEARCH FORM
// ----------- // -----------
@ -638,7 +672,10 @@ legend + .control-group {
// And apply it only to .help-block instances that follow a form control // And apply it only to .help-block instances that follow a form control
input, input,
select, select,
textarea { textarea,
.uneditable-input,
.input-prepend,
.input-append {
+ .help-block { + .help-block {
margin-top: @baseLineHeight / 2; margin-top: @baseLineHeight / 2;
} }

View File

@ -6,6 +6,10 @@
.hero-unit { .hero-unit {
padding: 60px; padding: 60px;
margin-bottom: 30px; margin-bottom: 30px;
font-size: 18px;
font-weight: 200;
line-height: @baseLineHeight * 1.5;
color: @heroUnitLeadColor;
background-color: @heroUnitBackground; background-color: @heroUnitBackground;
.border-radius(6px); .border-radius(6px);
h1 { h1 {
@ -15,10 +19,7 @@
color: @heroUnitHeadingColor; color: @heroUnitHeadingColor;
letter-spacing: -1px; letter-spacing: -1px;
} }
p { li {
font-size: 18px; line-height: @baseLineHeight * 1.5; // Reset since we specify in type.less
font-weight: 200;
line-height: @baseLineHeight * 1.5;
color: @heroUnitLeadColor;
} }
} }

View File

@ -6,25 +6,35 @@
// Base classes // Base classes
.label, .label,
.badge { .badge {
display: inline-block;
padding: 2px 4px;
font-size: @baseFontSize * .846; font-size: @baseFontSize * .846;
font-weight: bold; font-weight: bold;
line-height: 14px; // ensure proper line-height if floated line-height: 14px; // ensure proper line-height if floated
color: @white; color: @white;
vertical-align: baseline; vertical-align: baseline;
white-space: nowrap; white-space: nowrap;
//text-shadow: 0 -1px 0 rgba(0,0,0,.25); text-shadow: 0 -1px 0 rgba(0,0,0,.25);
background-color: @grayLight; background-color: @grayLight;
} }
// Set unique padding and border-radii // Set unique padding and border-radii
.label { .label {
padding: 1px 4px 2px;
.border-radius(3px); .border-radius(3px);
} }
.badge { .badge {
padding: 1px 9px 2px; padding-left: 9px;
padding-right: 9px;
.border-radius(9px); .border-radius(9px);
} }
// Empty labels/badges collapse
.label,
.badge {
&:empty {
display: none;
}
}
// Hover state, but only for links // Hover state, but only for links
a { a {
&.label:hover, &.label:hover,

View File

@ -0,0 +1,55 @@
// Media objects
// Source: http://stubbornella.org/content/?p=497
// --------------------------------------------------
// Common styles
// -------------------------
// Clear the floats
.media,
.media-body {
overflow: hidden;
*overflow: visible;
zoom: 1;
}
// Proper spacing between instances of .media
.media,
.media .media {
margin-top: 15px;
}
.media:first-child {
margin-top: 0;
}
// For images and videos, set to block
.media-object {
display: block;
}
// Reset margins on headings for tighter default spacing
.media-heading {
margin: 0 0 5px;
}
// Media image alignment
// -------------------------
.media .pull-left {
margin-right: 10px;
}
.media .pull-right {
margin-left: 10px;
}
// Media list variation
// -------------------------
// Undo default ul/ol styles
.media-list {
margin-left: 0;
list-style: none;
}

View File

@ -1,27 +0,0 @@
.clearfix {
*zoom: 1;
}
.clearfix:before,
.clearfix:after {
display: table;
content: "";
line-height: 0;
}
.clearfix:after {
clear: both;
}
.hide-text {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.input-block-level {
display: block;
width: 100%;
min-height: 30px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

View File

@ -154,7 +154,7 @@
.input-block-level { .input-block-level {
display: block; display: block;
width: 100%; width: 100%;
min-height: 30px; // Make inputs at least the height of their button counterpart min-height: @inputHeight; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
.box-sizing(border-box); // Makes inputs behave like true block-level elements .box-sizing(border-box); // Makes inputs behave like true block-level elements
} }
@ -163,7 +163,7 @@
// Mixin for form field states // Mixin for form field states
.formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) { .formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) {
// Set the text color // Set the text color
> label, .control-label,
.help-block, .help-block,
.help-inline { .help-inline {
color: @textColor; color: @textColor;
@ -183,7 +183,8 @@
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
&:focus { &:focus {
border-color: darken(@borderColor, 10%); border-color: darken(@borderColor, 10%);
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%)); @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
.box-shadow(@shadow);
} }
} }
// Give a small background color for input-prepend/-append // Give a small background color for input-prepend/-append
@ -248,8 +249,10 @@
} }
// Drop shadows // Drop shadows
.box-shadow(@shadowA, @shadowB:X, ...){ .box-shadow(@shadow) {
-webkit-box-shadow: @shadow;
-moz-box-shadow: @shadow;
box-shadow: @shadow;
} }
// Transitions // Transitions
@ -294,6 +297,7 @@
-ms-transform: skewX(@x) skewY(@y); // See https://github.com/twitter/bootstrap/issues/4885 -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twitter/bootstrap/issues/4885
-o-transform: skew(@x, @y); -o-transform: skew(@x, @y);
transform: skew(@x, @y); transform: skew(@x, @y);
-webkit-backface-visibility: hidden; // See https://github.com/twitter/bootstrap/issues/5319
} }
.translate3d(@x, @y, @z) { .translate3d(@x, @y, @z) {
-webkit-transform: translate3d(@x, @y, @z); -webkit-transform: translate3d(@x, @y, @z);
@ -321,7 +325,7 @@
} }
// Background sizing // Background sizing
.background-size(@size){ .background-size(@size) {
-webkit-background-size: @size; -webkit-background-size: @size;
-moz-background-size: @size; -moz-background-size: @size;
-o-background-size: @size; -o-background-size: @size;
@ -639,6 +643,11 @@
margin-left: 0; margin-left: 0;
} }
// Space grid-sized controls properly if multiple per line
.controls-row [class*="span"] + [class*="span"] {
margin-left: @fluidGridGutterWidth;
}
// generate .spanX and .offsetX // generate .spanX and .offsetX
.spanX (@gridColumns); .spanX (@gridColumns);
.offsetX (@gridColumns); .offsetX (@gridColumns);

View File

@ -2,16 +2,6 @@
// Modals // Modals
// -------------------------------------------------- // --------------------------------------------------
// Recalculate z-index where appropriate,
// but only apply to elements within modal
.modal-open .modal {
.dropdown-menu { z-index: @zindexDropdown + @zindexModal; }
.dropdown.open { *z-index: @zindexDropdown + @zindexModal; }
.popover { z-index: @zindexPopover + @zindexModal; }
.tooltip { z-index: @zindexTooltip + @zindexModal; }
}
// Background // Background
.modal-backdrop { .modal-backdrop {
position: fixed; position: fixed;
@ -33,12 +23,11 @@
// Base modal // Base modal
.modal { .modal {
position: fixed; position: fixed;
top: 50%; top: 10%;
left: 50%; left: 50%;
z-index: @zindexModal; z-index: @zindexModal;
overflow: auto;
width: 560px; width: 560px;
margin: -250px 0 0 -280px; margin-left: -280px;
background-color: @white; background-color: @white;
border: 1px solid #999; border: 1px solid #999;
border: 1px solid rgba(0,0,0,.3); border: 1px solid rgba(0,0,0,.3);
@ -46,11 +35,14 @@
.border-radius(6px); .border-radius(6px);
.box-shadow(0 3px 7px rgba(0,0,0,0.3)); .box-shadow(0 3px 7px rgba(0,0,0,0.3));
.background-clip(padding-box); .background-clip(padding-box);
// Remove focus outline from opened modal
outline: none;
&.fade { &.fade {
.transition(e('opacity .3s linear, top .3s ease-out')); .transition(e('opacity .3s linear, top .3s ease-out'));
top: -25%; top: -25%;
} }
&.fade.in { top: 50%; } &.fade.in { top: 10%; }
} }
.modal-header { .modal-header {
padding: 9px 15px; padding: 9px 15px;
@ -66,6 +58,7 @@
// Body (where all modal content resides) // Body (where all modal content resides)
.modal-body { .modal-body {
position: relative;
overflow-y: auto; overflow-y: auto;
max-height: 400px; max-height: 400px;
padding: 15px; padding: 15px;
@ -95,4 +88,8 @@
.btn-group .btn + .btn { .btn-group .btn + .btn {
margin-left: -1px; margin-left: -1px;
} }
// and override it for block buttons as well
.btn-block + .btn-block {
margin-left: 0;
}
} }

View File

@ -10,7 +10,6 @@
.navbar { .navbar {
overflow: visible; overflow: visible;
margin-bottom: @baseLineHeight; margin-bottom: @baseLineHeight;
color: @navbarText;
// Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar
*position: relative; *position: relative;
@ -25,7 +24,7 @@
padding-right: 20px; padding-right: 20px;
#gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground); #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground);
border: 1px solid @navbarBorder; border: 1px solid @navbarBorder;
.border-radius(4px); .border-radius(@baseBorderRadius);
.box-shadow(0 1px 4px rgba(0,0,0,.065)); .box-shadow(0 1px 4px rgba(0,0,0,.065));
// Prevent floats from breaking the navbar // Prevent floats from breaking the navbar
@ -41,6 +40,7 @@
// Override the default collapsed state // Override the default collapsed state
.nav-collapse.collapse { .nav-collapse.collapse {
height: auto; height: auto;
overflow: visible;
} }
@ -52,10 +52,10 @@
// Vertically center the text given @navbarHeight // Vertically center the text given @navbarHeight
padding: ((@navbarHeight - @baseLineHeight) / 2) 20px ((@navbarHeight - @baseLineHeight) / 2); padding: ((@navbarHeight - @baseLineHeight) / 2) 20px ((@navbarHeight - @baseLineHeight) / 2);
margin-left: -20px; // negative indent to left-align the text down the page margin-left: -20px; // negative indent to left-align the text down the page
font-size:40px; font-size: 20px;
font-weight: 100; font-weight: 200;
color: @navbarBrandColor; color: @navbarBrandColor;
//text-shadow: 0 1px 0 @navbarBackgroundHighlight; text-shadow: 0 1px 0 @navbarBackgroundHighlight;
&:hover { &:hover {
text-decoration: none; text-decoration: none;
} }
@ -66,6 +66,7 @@
.navbar-text { .navbar-text {
margin-bottom: 0; margin-bottom: 0;
line-height: @navbarHeight; line-height: @navbarHeight;
color: @navbarText;
} }
// Janky solution for now to account for links outside the .nav // Janky solution for now to account for links outside the .nav
@ -122,7 +123,7 @@
} }
.input-append, .input-append,
.input-prepend { .input-prepend {
margin-top: 6px; margin-top: 5px;
white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
input { input {
margin-top: 0; // remove the margin on top since it's on the parent margin-top: 0; // remove the margin on top since it's on the parent
@ -152,7 +153,6 @@
.navbar-static-top { .navbar-static-top {
position: static; position: static;
width: 100%;
margin-bottom: 0; // remove 18px margin for default navbar margin-bottom: 0; // remove 18px margin for default navbar
.navbar-inner { .navbar-inner {
.border-radius(0); .border-radius(0);
@ -202,7 +202,7 @@
.navbar-fixed-top, .navbar-fixed-top,
.navbar-static-top { .navbar-static-top {
.navbar-inner { .navbar-inner {
.box-shadow(inset 0 -1px 0 rgba(0,0,0,.1), 0 1px 10px rgba(0,0,0,.1)); .box-shadow(~"0 1px 10px rgba(0,0,0,.1)");
} }
} }
@ -210,7 +210,7 @@
.navbar-fixed-bottom { .navbar-fixed-bottom {
bottom: 0; bottom: 0;
.navbar-inner { .navbar-inner {
.box-shadow(inset 0 1px 0 rgba(0,0,0,.1), 0 -1px 10px rgba(0,0,0,.1)); .box-shadow(~"0 -1px 10px rgba(0,0,0,.1)");
} }
} }
@ -241,10 +241,11 @@
padding: ((@navbarHeight - @baseLineHeight) / 2) 15px ((@navbarHeight - @baseLineHeight) / 2); padding: ((@navbarHeight - @baseLineHeight) / 2) 15px ((@navbarHeight - @baseLineHeight) / 2);
color: @navbarLinkColor; color: @navbarLinkColor;
text-decoration: none; text-decoration: none;
font-size : 21px; text-shadow: 0 1px 0 @navbarBackgroundHighlight;
} }
.navbar .nav .dropdown-toggle .caret { .navbar .nav .dropdown-toggle .caret {
margin-top: 8px; margin-top: 8px;
} }
// Hover // Hover
@ -274,7 +275,7 @@
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
.buttonBackground(darken(@navbarBackgroundHighlight, 5%), darken(@navbarBackground, 5%)); .buttonBackground(darken(@navbarBackgroundHighlight, 5%), darken(@navbarBackground, 5%));
.box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)); .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)");
} }
.navbar .btn-navbar .icon-bar { .navbar .btn-navbar .icon-bar {
display: block; display: block;
@ -334,6 +335,12 @@
} }
} }
// Caret should match text color on hover
.navbar .nav li.dropdown > a:hover .caret {
border-top-color: @navbarLinkColorActive;
border-bottom-color: @navbarLinkColorActive;
}
// Remove background color from open dropdown // Remove background color from open dropdown
.navbar .nav li.dropdown.open > .dropdown-toggle, .navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle, .navbar .nav li.dropdown.active > .dropdown-toggle,
@ -379,7 +386,6 @@
// ------------------------- // -------------------------
.navbar-inverse { .navbar-inverse {
color: @navbarInverseText;
.navbar-inner { .navbar-inner {
#gradient > .vertical(@navbarInverseBackgroundHighlight, @navbarInverseBackground); #gradient > .vertical(@navbarInverseBackgroundHighlight, @navbarInverseBackground);
@ -389,12 +395,20 @@
.brand, .brand,
.nav > li > a { .nav > li > a {
color: @navbarInverseLinkColor; color: @navbarInverseLinkColor;
//text-shadow: 0 -1px 0 rgba(0,0,0,.25); text-shadow: 0 -1px 0 rgba(0,0,0,.25);
&:hover { &:hover {
color: @navbarInverseLinkColorHover; color: @navbarInverseLinkColorHover;
} }
} }
.brand {
color: @navbarInverseBrandColor;
}
.navbar-text {
color: @navbarInverseText;
}
.nav > li > a:focus, .nav > li > a:focus,
.nav > li > a:hover { .nav > li > a:hover {
background-color: @navbarInverseLinkBackgroundHover; background-color: @navbarInverseLinkBackgroundHover;
@ -429,6 +443,10 @@
background-color: @navbarInverseLinkBackgroundActive; background-color: @navbarInverseLinkBackgroundActive;
color: @navbarInverseLinkColorActive; color: @navbarInverseLinkColorActive;
} }
.nav li.dropdown > a:hover .caret {
border-top-color: @navbarInverseLinkColorActive;
border-bottom-color: @navbarInverseLinkColorActive;
}
.nav li.dropdown > .dropdown-toggle .caret { .nav li.dropdown > .dropdown-toggle .caret {
border-top-color: @navbarInverseLinkColor; border-top-color: @navbarInverseLinkColor;
border-bottom-color: @navbarInverseLinkColor; border-bottom-color: @navbarInverseLinkColor;
@ -446,7 +464,7 @@
color: @white; color: @white;
background-color: @navbarInverseSearchBackground; background-color: @navbarInverseSearchBackground;
border-color: @navbarInverseSearchBorder; border-color: @navbarInverseSearchBorder;
.box-shadow(inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)); .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)");
.transition(none); .transition(none);
.placeholder(@navbarInverseSearchPlaceholderColor); .placeholder(@navbarInverseSearchPlaceholderColor);
@ -470,6 +488,3 @@
} }
} }

View File

@ -21,6 +21,12 @@
background-color: @grayLighter; background-color: @grayLighter;
} }
// Prevent IE8 from misplacing imgs
// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
.nav > li > a > img {
max-width: none;
}
// Redeclare pull classes because of specifity // Redeclare pull classes because of specifity
.nav > .pull-right { .nav > .pull-right {
float: right; float: right;
@ -63,10 +69,12 @@
} }
.nav-list > .active > a, .nav-list > .active > a,
.nav-list > .active > a:hover { .nav-list > .active > a:hover {
color: @blue; color: @white;
text-shadow: 0 -1px 0 rgba(0,0,0,.2);
background-color: @linkColor; background-color: @linkColor;
} }
.nav-list [class^="icon-"] { .nav-list [class^="icon-"],
.nav-list [class*=" icon-"] {
margin-right: 2px; margin-right: 2px;
} }
// Dividers (basically an hr) within the dropdown // Dividers (basically an hr) within the dropdown
@ -122,7 +130,7 @@
.nav-tabs > .active > a, .nav-tabs > .active > a,
.nav-tabs > .active > a:hover { .nav-tabs > .active > a:hover {
color: @gray; color: @gray;
background-color: @white; background-color: @bodyBackground;
border: 1px solid #ddd; border: 1px solid #ddd;
border-bottom-color: transparent; border-bottom-color: transparent;
cursor: default; cursor: default;
@ -144,7 +152,7 @@
// Active state // Active state
.nav-pills > .active > a, .nav-pills > .active > a,
.nav-pills > .active > a:hover { .nav-pills > .active > a:hover {
color: @blue; color: @white;
background-color: @linkColor; background-color: @linkColor;
} }
@ -239,7 +247,7 @@
.nav-tabs .open .dropdown-toggle, .nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle, .nav-pills .open .dropdown-toggle,
.nav > li.dropdown.open.active > a:hover { .nav > li.dropdown.open.active > a:hover {
color: @blue; color: @white;
background-color: @grayLight; background-color: @grayLight;
border-color: @grayLight; border-color: @grayLight;
} }

View File

@ -12,28 +12,29 @@
.pager li { .pager li {
display: inline; display: inline;
} }
.pager a, .pager li > a,
.pager span { .pager li > span {
display: inline-block; display: inline-block;
padding: 5px 14px; padding: 5px 14px;
background-color: #fff; background-color: #fff;
border: 1px solid #ddd; border: 1px solid #ddd;
.border-radius(15px); .border-radius(15px);
} }
.pager a:hover { .pager li > a:hover {
text-decoration: none; text-decoration: none;
background-color: #f5f5f5; background-color: #f5f5f5;
} }
.pager .next a, .pager .next > a,
.pager .next span { .pager .next > span {
float: right; float: right;
} }
.pager .previous a { .pager .previous > a,
.pager .previous > span {
float: left; float: left;
} }
.pager .disabled a, .pager .disabled > a,
.pager .disabled a:hover, .pager .disabled > a:hover,
.pager .disabled span { .pager .disabled > span {
color: @grayLight; color: @grayLight;
background-color: #fff; background-color: #fff;
cursor: default; cursor: default;

View File

@ -2,27 +2,30 @@
// Pagination (multiple pages) // Pagination (multiple pages)
// -------------------------------------------------- // --------------------------------------------------
// Space out pagination from surrounding content
.pagination { .pagination {
height: @baseLineHeight * 2;
margin: @baseLineHeight 0; margin: @baseLineHeight 0;
} }
.pagination ul { .pagination ul {
// Allow for text-based alignment
display: inline-block; display: inline-block;
.ie7-inline-block(); .ie7-inline-block();
// Reset default ul styles
margin-left: 0; margin-left: 0;
margin-bottom: 0; margin-bottom: 0;
.border-radius(3px); // Visuals
.border-radius(@baseBorderRadius);
.box-shadow(0 1px 2px rgba(0,0,0,.05)); .box-shadow(0 1px 2px rgba(0,0,0,.05));
} }
.pagination ul > li { .pagination ul > li {
display: inline; display: inline; // Remove list-style and block-level defaults
} }
.pagination ul > li > a, .pagination ul > li > a,
.pagination ul > li > span { .pagination ul > li > span {
float: left; float: left; // Collapse white-space
padding: 0 14px; padding: 4px 12px;
line-height: (@baseLineHeight * 2) - 2; line-height: @baseLineHeight;
text-decoration: none; text-decoration: none;
background-color: @paginationBackground; background-color: @paginationBackground;
border: 1px solid @paginationBorder; border: 1px solid @paginationBorder;
@ -31,7 +34,7 @@
.pagination ul > li > a:hover, .pagination ul > li > a:hover,
.pagination ul > .active > a, .pagination ul > .active > a,
.pagination ul > .active > span { .pagination ul > .active > span {
background-color: #f5f5f5; background-color: @paginationActiveBackground;
} }
.pagination ul > .active > a, .pagination ul > .active > a,
.pagination ul > .active > span { .pagination ul > .active > span {
@ -48,17 +51,71 @@
.pagination ul > li:first-child > a, .pagination ul > li:first-child > a,
.pagination ul > li:first-child > span { .pagination ul > li:first-child > span {
border-left-width: 1px; border-left-width: 1px;
.border-radius(3px 0 0 3px); .border-left-radius(@baseBorderRadius);
} }
.pagination ul > li:last-child > a, .pagination ul > li:last-child > a,
.pagination ul > li:last-child > span { .pagination ul > li:last-child > span {
.border-radius(0 3px 3px 0); .border-right-radius(@baseBorderRadius);
} }
// Centered
// Alignment
// --------------------------------------------------
.pagination-centered { .pagination-centered {
text-align: center; text-align: center;
} }
.pagination-right { .pagination-right {
text-align: right; text-align: right;
} }
// Sizing
// --------------------------------------------------
// Large
.pagination-large {
ul > li > a,
ul > li > span {
padding: @paddingLarge;
font-size: @fontSizeLarge;
}
ul > li:first-child > a,
ul > li:first-child > span {
.border-left-radius(@borderRadiusLarge);
}
ul > li:last-child > a,
ul > li:last-child > span {
.border-right-radius(@borderRadiusLarge);
}
}
// Small and mini
.pagination-mini,
.pagination-small {
ul > li:first-child > a,
ul > li:first-child > span {
.border-left-radius(@borderRadiusSmall);
}
ul > li:last-child > a,
ul > li:last-child > span {
.border-right-radius(@borderRadiusSmall);
}
}
// Small
.pagination-small {
ul > li > a,
ul > li > span {
padding: @paddingSmall;
font-size: @fontSizeSmall;
}
}
// Mini
.pagination-mini {
ul > li > a,
ul > li > span {
padding: @paddingMini;
font-size: @fontSizeMini;
}
}

View File

@ -11,6 +11,7 @@
display: none; display: none;
width: 236px; width: 236px;
padding: 1px; padding: 1px;
text-align: left; // Reset given new insertion method
background-color: @popoverBackground; background-color: @popoverBackground;
-webkit-background-clip: padding-box; -webkit-background-clip: padding-box;
-moz-background-clip: padding; -moz-background-clip: padding;
@ -20,12 +21,14 @@
.border-radius(6px); .border-radius(6px);
.box-shadow(0 5px 10px rgba(0,0,0,.2)); .box-shadow(0 5px 10px rgba(0,0,0,.2));
// Overrides for proper insertion
white-space: normal;
// Offset the popover to account for the popover arrow // Offset the popover to account for the popover arrow
&.top { margin-bottom: 10px; } &.top { margin-top: -10px; }
&.right { margin-left: 10px; } &.right { margin-left: 10px; }
&.bottom { margin-top: 10px; } &.bottom { margin-top: 10px; }
&.left { margin-right: 10px; } &.left { margin-left: -10px; }
} }
.popover-title { .popover-title {
@ -41,77 +44,86 @@
.popover-content { .popover-content {
padding: 9px 14px; padding: 9px 14px;
p, ul, ol {
margin-bottom: 0;
}
} }
// Arrows // Arrows
//
// .arrow is outer, .arrow:after is inner
.popover .arrow, .popover .arrow,
.popover .arrow:after { .popover .arrow:after {
position: absolute; position: absolute;
display: inline-block; display: block;
width: 0; width: 0;
height: 0; height: 0;
border-color: transparent; border-color: transparent;
border-style: solid; border-style: solid;
} }
.popover .arrow {
border-width: @popoverArrowOuterWidth;
}
.popover .arrow:after { .popover .arrow:after {
border-width: @popoverArrowWidth;
content: ""; content: "";
z-index: -1;
} }
.popover { .popover {
&.top .arrow { &.top .arrow {
bottom: -@popoverArrowWidth;
left: 50%; left: 50%;
margin-left: -@popoverArrowWidth; margin-left: -@popoverArrowOuterWidth;
border-width: @popoverArrowWidth @popoverArrowWidth 0; border-bottom-width: 0;
border-top-color: @popoverArrowColor; border-top-color: #999; // IE8 fallback
&:after {
border-width: @popoverArrowOuterWidth @popoverArrowOuterWidth 0;
border-top-color: @popoverArrowOuterColor; border-top-color: @popoverArrowOuterColor;
bottom: -1px; bottom: -@popoverArrowOuterWidth;
left: -@popoverArrowOuterWidth; &:after {
bottom: 1px;
margin-left: -@popoverArrowWidth;
border-bottom-width: 0;
border-top-color: @popoverArrowColor;
} }
} }
&.right .arrow { &.right .arrow {
top: 50%; top: 50%;
left: -@popoverArrowWidth; left: -@popoverArrowOuterWidth;
margin-top: -@popoverArrowWidth; margin-top: -@popoverArrowOuterWidth;
border-width: @popoverArrowWidth @popoverArrowWidth @popoverArrowWidth 0; border-left-width: 0;
border-right-color: @popoverArrowColor; border-right-color: #999; // IE8 fallback
&:after {
border-width: @popoverArrowOuterWidth @popoverArrowOuterWidth @popoverArrowOuterWidth 0;
border-right-color: @popoverArrowOuterColor; border-right-color: @popoverArrowOuterColor;
bottom: -@popoverArrowOuterWidth; &:after {
left: -1px; left: 1px;
bottom: -@popoverArrowWidth;
border-left-width: 0;
border-right-color: @popoverArrowColor;
} }
} }
&.bottom .arrow { &.bottom .arrow {
top: -@popoverArrowWidth;
left: 50%; left: 50%;
margin-left: -@popoverArrowWidth; margin-left: -@popoverArrowOuterWidth;
border-width: 0 @popoverArrowWidth @popoverArrowWidth; border-top-width: 0;
border-bottom-color: @popoverArrowColor; border-bottom-color: #999; // IE8 fallback
&:after {
border-width: 0 @popoverArrowOuterWidth @popoverArrowOuterWidth;
border-bottom-color: @popoverArrowOuterColor; border-bottom-color: @popoverArrowOuterColor;
top: -1px; top: -@popoverArrowOuterWidth;
left: -@popoverArrowOuterWidth; &:after {
top: 1px;
margin-left: -@popoverArrowWidth;
border-top-width: 0;
border-bottom-color: @popoverArrowColor;
} }
} }
&.left .arrow { &.left .arrow {
top: 50%; top: 50%;
right: -@popoverArrowWidth; right: -@popoverArrowOuterWidth;
margin-top: -@popoverArrowWidth; margin-top: -@popoverArrowOuterWidth;
border-width: @popoverArrowWidth 0 @popoverArrowWidth @popoverArrowWidth; border-right-width: 0;
border-left-color: @popoverArrowColor; border-left-color: #999; // IE8 fallback
&:after {
border-width: @popoverArrowOuterWidth 0 @popoverArrowOuterWidth @popoverArrowOuterWidth;
border-left-color: @popoverArrowOuterColor; border-left-color: @popoverArrowOuterColor;
bottom: -@popoverArrowOuterWidth; &:after {
right: -1px; right: 1px;
border-right-width: 0;
border-left-color: @popoverArrowColor;
bottom: -@popoverArrowWidth;
} }
} }
} }

View File

@ -48,7 +48,7 @@
margin-bottom: @baseLineHeight; margin-bottom: @baseLineHeight;
#gradient > .vertical(#f5f5f5, #f9f9f9); #gradient > .vertical(#f5f5f5, #f9f9f9);
.box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
.border-radius(4px); .border-radius(@baseBorderRadius);
} }
// Bar of progress // Bar of progress
@ -59,14 +59,14 @@
float: left; float: left;
font-size: 12px; font-size: 12px;
text-align: center; text-align: center;
//text-shadow: 0 -1px 0 rgba(0,0,0,.25); text-shadow: 0 -1px 0 rgba(0,0,0,.25);
#gradient > .vertical(#149bdf, #0480be); #gradient > .vertical(#149bdf, #0480be);
.box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
.box-sizing(border-box); .box-sizing(border-box);
.transition(width .6s ease); .transition(width .6s ease);
} }
.progress .bar + .bar { .progress .bar + .bar {
.box-shadow(inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15)); .box-shadow(~"inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15)");
} }
// Striped bars // Striped bars

View File

@ -1,5 +1,5 @@
// //
// Modals // Reset CSS
// Adapted from http://github.com/necolas/normalize.css // Adapted from http://github.com/necolas/normalize.css
// -------------------------------------------------- // --------------------------------------------------
@ -88,7 +88,8 @@ img {
} }
// Prevent max-width from affecting Google Maps // Prevent max-width from affecting Google Maps
#map_canvas img { #map_canvas img,
.google-maps img {
max-width: none; max-width: none;
} }
@ -115,16 +116,24 @@ input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
border: 0; border: 0;
} }
button, button,
input[type="button"], html input[type="button"], // Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls.
input[type="reset"], input[type="reset"],
input[type="submit"] { input[type="submit"] {
cursor: pointer; // Cursors on all buttons applied consistently -webkit-appearance: button; // Corrects inability to style clickable `input` types in iOS.
-webkit-appearance: button; // Style clickable inputs in iOS cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
}
label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
} }
input[type="search"] { // Appearance in Safari/Chrome input[type="search"] { // Appearance in Safari/Chrome
-webkit-box-sizing: content-box; .box-sizing(content-box);
-moz-box-sizing: content-box;
box-sizing: content-box;
-webkit-appearance: textfield; -webkit-appearance: textfield;
} }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-decoration,
@ -135,3 +144,73 @@ textarea {
overflow: auto; // Remove vertical scrollbar in IE6-9 overflow: auto; // Remove vertical scrollbar in IE6-9
vertical-align: top; // Readability and alignment cross-browser vertical-align: top; // Readability and alignment cross-browser
} }
// Printing
// -------------------------
// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
@media print {
* {
text-shadow: none !important;
color: #000 !important; // Black prints faster: h5bp.com/s
background: transparent !important;
box-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
// Don't show links for images, or javascript/internal links
.ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group; // h5bp.com/t
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
@page {
margin: 0.5cm;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
}

View File

@ -58,6 +58,7 @@
} }
// Make all grid-sized elements block level again // Make all grid-sized elements block level again
[class*="span"], [class*="span"],
.uneditable-input[class*="span"], // Makes uneditable inputs full-width when using grid sizing
.row-fluid [class*="span"] { .row-fluid [class*="span"] {
float: none; float: none;
display: block; display: block;
@ -70,6 +71,9 @@
width: 100%; width: 100%;
.box-sizing(border-box); .box-sizing(border-box);
} }
.row-fluid [class*="offset"]:first-child {
margin-left: 0;
}
// FORM FIELDS // FORM FIELDS
// ----------- // -----------
@ -103,7 +107,8 @@
right: 20px; right: 20px;
width: auto; width: auto;
margin: 0; margin: 0;
&.fade.in { top: auto; } &.fade { top: -100px; }
&.fade.in { top: 20px; }
} }
} }
@ -155,6 +160,20 @@
} }
} }
// Medias
// Reset float and spacing to stack
.media .pull-left,
.media .pull-right {
float: none;
display: block;
margin-bottom: 10px;
}
// Remove side margins since we stack instead of indent
.media-object {
margin-right: 0;
margin-left: 0;
}
// Modals // Modals
.modal { .modal {
top: 10px; top: 10px;

View File

@ -75,7 +75,7 @@
.nav-collapse .btn { .nav-collapse .btn {
padding: 4px 10px 4px; padding: 4px 10px 4px;
font-weight: normal; font-weight: normal;
.border-radius(4px); .border-radius(@baseBorderRadius);
} }
.nav-collapse .dropdown-menu li + li a { .nav-collapse .dropdown-menu li + li a {
margin-bottom: 2px; margin-bottom: 2px;
@ -84,6 +84,10 @@
.nav-collapse .dropdown-menu a:hover { .nav-collapse .dropdown-menu a:hover {
background-color: @navbarBackground; background-color: @navbarBackground;
} }
.navbar-inverse .nav-collapse .nav > li > a,
.navbar-inverse .nav-collapse .dropdown-menu a {
color: @navbarInverseLinkColor;
}
.navbar-inverse .nav-collapse .nav > li > a:hover, .navbar-inverse .nav-collapse .nav > li > a:hover,
.navbar-inverse .nav-collapse .dropdown-menu a:hover { .navbar-inverse .nav-collapse .dropdown-menu a:hover {
background-color: @navbarInverseBackground; background-color: @navbarInverseBackground;
@ -99,7 +103,7 @@
top: auto; top: auto;
left: auto; left: auto;
float: none; float: none;
display: block; display: none;
max-width: none; max-width: none;
margin: 0 15px; margin: 0 15px;
padding: 0; padding: 0;
@ -108,6 +112,10 @@
.border-radius(0); .border-radius(0);
.box-shadow(none); .box-shadow(none);
} }
.nav-collapse .open > .dropdown-menu {
display: block;
}
.nav-collapse .dropdown-menu:before, .nav-collapse .dropdown-menu:before,
.nav-collapse .dropdown-menu:after { .nav-collapse .dropdown-menu:after {
display: none; display: none;
@ -129,7 +137,7 @@
margin: (@baseLineHeight / 2) 0; margin: (@baseLineHeight / 2) 0;
border-top: 1px solid @navbarBackground; border-top: 1px solid @navbarBackground;
border-bottom: 1px solid @navbarBackground; border-bottom: 1px solid @navbarBackground;
.box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)); .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)");
} }
.navbar-inverse .nav-collapse .navbar-form, .navbar-inverse .nav-collapse .navbar-form,
.navbar-inverse .nav-collapse .navbar-search { .navbar-inverse .nav-collapse .navbar-search {
@ -166,7 +174,7 @@
// DEFAULT DESKTOP // DEFAULT DESKTOP
// --------------- // ---------------
@media (min-width: 980px) { @media (min-width: @navbarCollapseDesktopWidth) {
// Required to make the collapsing navbar work on regular desktops // Required to make the collapsing navbar work on regular desktops
.nav-collapse.collapse { .nav-collapse.collapse {

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap Responsive v2.1.1 * Bootstrap Responsive v2.2.2
* *
* Copyright 2012 Twitter, Inc * Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0 * Licensed under the Apache License v2.0
@ -14,6 +14,15 @@
// ------------------------------------------------------------- // -------------------------------------------------------------
// IE10 Metro responsive
// Required for Windows 8 Metro split-screen snapping with IE10
// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
@-ms-viewport{
width: device-width;
}
// REPEAT VARIABLES & MIXINS // REPEAT VARIABLES & MIXINS
// ------------------------- // -------------------------
// Required since we compile the responsive stuff separately // Required since we compile the responsive stuff separately

View File

@ -30,8 +30,6 @@
/* White icons with optional class, or on hover/active states of certain elements */ /* White icons with optional class, or on hover/active states of certain elements */
.icon-white, .icon-white,
.nav-tabs > .active > a > [class^="icon-"],
.nav-tabs > .active > a > [class*=" icon-"],
.nav-pills > .active > a > [class^="icon-"], .nav-pills > .active > a > [class^="icon-"],
.nav-pills > .active > a > [class*=" icon-"], .nav-pills > .active > a > [class*=" icon-"],
.nav-list > .active > a > [class^="icon-"], .nav-list > .active > a > [class^="icon-"],
@ -41,7 +39,9 @@
.dropdown-menu > li > a:hover > [class^="icon-"], .dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"], .dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"], .dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"] { .dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"],
.dropdown-submenu:hover > a > [class*=" icon-"] {
background-image: url("@{iconWhiteSpritePath}"); background-image: url("@{iconWhiteSpritePath}");
} }

View File

@ -48,6 +48,11 @@ table {
tbody + tbody { tbody + tbody {
border-top: 2px solid @tableBorder; border-top: 2px solid @tableBorder;
} }
// Nesting
.table {
background-color: @bodyBackground;
}
} }
@ -71,7 +76,7 @@ table {
border-collapse: separate; // Done so we can round those corners! border-collapse: separate; // Done so we can round those corners!
*border-collapse: collapse; // IE7 can't round corners anyway *border-collapse: collapse; // IE7 can't round corners anyway
border-left: 0; border-left: 0;
.border-radius(4px); .border-radius(@baseBorderRadius);
th, th,
td { td {
border-left: 1px solid @tableBorder; border-left: 1px solid @tableBorder;
@ -89,51 +94,47 @@ table {
border-top: 0; border-top: 0;
} }
// For first th or td in the first row in the first thead or tbody // For first th or td in the first row in the first thead or tbody
thead:first-child tr:first-child th:first-child, thead:first-child tr:first-child > th:first-child,
tbody:first-child tr:first-child td:first-child { tbody:first-child tr:first-child > td:first-child {
-webkit-border-top-left-radius: 4px; .border-top-left-radius(@baseBorderRadius);
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
} }
thead:first-child tr:first-child th:last-child, thead:first-child tr:first-child > th:last-child,
tbody:first-child tr:first-child td:last-child { tbody:first-child tr:first-child > td:last-child {
-webkit-border-top-right-radius: 4px; .border-top-right-radius(@baseBorderRadius);
border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
} }
// For first th or td in the first row in the first thead or tbody // For first th or td in the last row in the last thead or tbody
thead:last-child tr:last-child th:first-child, thead:last-child tr:last-child > th:first-child,
tbody:last-child tr:last-child td:first-child, tbody:last-child tr:last-child > td:first-child,
tfoot:last-child tr:last-child td:first-child { tfoot:last-child tr:last-child > td:first-child {
.border-radius(0 0 0 4px); .border-bottom-left-radius(@baseBorderRadius);
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
} }
thead:last-child tr:last-child th:last-child, thead:last-child tr:last-child > th:last-child,
tbody:last-child tr:last-child td:last-child, tbody:last-child tr:last-child > td:last-child,
tfoot:last-child tr:last-child td:last-child { tfoot:last-child tr:last-child > td:last-child {
-webkit-border-bottom-right-radius: 4px; .border-bottom-right-radius(@baseBorderRadius);
border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
} }
// Clear border-radius for first and last td in the last row in the last tbody for table with tfoot
tfoot + tbody:last-child tr:last-child td:first-child {
.border-bottom-left-radius(0);
}
tfoot + tbody:last-child tr:last-child td:last-child {
.border-bottom-right-radius(0);
}
// Special fixes to round the left border on the first td/th // Special fixes to round the left border on the first td/th
caption + thead tr:first-child th:first-child, caption + thead tr:first-child th:first-child,
caption + tbody tr:first-child td:first-child, caption + tbody tr:first-child td:first-child,
colgroup + thead tr:first-child th:first-child, colgroup + thead tr:first-child th:first-child,
colgroup + tbody tr:first-child td:first-child { colgroup + tbody tr:first-child td:first-child {
-webkit-border-top-left-radius: 4px; .border-top-left-radius(@baseBorderRadius);
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
} }
caption + thead tr:first-child th:last-child, caption + thead tr:first-child th:last-child,
caption + tbody tr:first-child td:last-child, caption + tbody tr:first-child td:last-child,
colgroup + thead tr:first-child th:last-child, colgroup + thead tr:first-child th:last-child,
colgroup + tbody tr:first-child td:last-child { colgroup + tbody tr:first-child td:last-child {
-webkit-border-top-right-radius: 4px; .border-top-right-radius(@baseBorderRadius);
border-top-right-radius: 4px;
-moz-border-radius-topleft: 4px;
} }
} }
@ -147,8 +148,8 @@ table {
// Default zebra-stripe styles (alternating gray and transparent backgrounds) // Default zebra-stripe styles (alternating gray and transparent backgrounds)
.table-striped { .table-striped {
tbody { tbody {
tr:nth-child(odd) td, > tr:nth-child(odd) > td,
tr:nth-child(odd) th { > tr:nth-child(odd) > th {
background-color: @tableBackgroundAccent; background-color: @tableBackgroundAccent;
} }
} }
@ -172,39 +173,30 @@ table {
// ----------------- // -----------------
// Reset default grid behavior // Reset default grid behavior
table [class*=span], table td[class*="span"],
.row-fluid table [class*=span] { table th[class*="span"],
.row-fluid table td[class*="span"],
.row-fluid table th[class*="span"] {
display: table-cell; display: table-cell;
float: none; // undo default grid column styles float: none; // undo default grid column styles
margin-left: 0; // undo default grid column styles margin-left: 0; // undo default grid column styles
} }
// Change the column widths to account for td/th padding // Change the column widths to account for td/th padding
.table { .table td,
.span1 { .tableColumns(1); } .table th {
.span2 { .tableColumns(2); } &.span1 { .tableColumns(1); }
.span3 { .tableColumns(3); } &.span2 { .tableColumns(2); }
.span4 { .tableColumns(4); } &.span3 { .tableColumns(3); }
.span5 { .tableColumns(5); } &.span4 { .tableColumns(4); }
.span6 { .tableColumns(6); } &.span5 { .tableColumns(5); }
.span7 { .tableColumns(7); } &.span6 { .tableColumns(6); }
.span8 { .tableColumns(8); } &.span7 { .tableColumns(7); }
.span9 { .tableColumns(9); } &.span8 { .tableColumns(8); }
.span10 { .tableColumns(10); } &.span9 { .tableColumns(9); }
.span11 { .tableColumns(11); } &.span10 { .tableColumns(10); }
.span12 { .tableColumns(12); } &.span11 { .tableColumns(11); }
.span13 { .tableColumns(13); } &.span12 { .tableColumns(12); }
.span14 { .tableColumns(14); }
.span15 { .tableColumns(15); }
.span16 { .tableColumns(16); }
.span17 { .tableColumns(17); }
.span18 { .tableColumns(18); }
.span19 { .tableColumns(19); }
.span20 { .tableColumns(20); }
.span21 { .tableColumns(21); }
.span22 { .tableColumns(22); }
.span23 { .tableColumns(23); }
.span24 { .tableColumns(24); }
} }

View File

@ -29,7 +29,7 @@
padding: 4px; padding: 4px;
line-height: @baseLineHeight; line-height: @baseLineHeight;
border: 1px solid #ddd; border: 1px solid #ddd;
.border-radius(4px); .border-radius(@baseBorderRadius);
.box-shadow(0 1px 3px rgba(0,0,0,.055)); .box-shadow(0 1px 3px rgba(0,0,0,.055));
.transition(all .2s ease-in-out); .transition(all .2s ease-in-out);
} }

View File

@ -27,7 +27,7 @@
text-align: center; text-align: center;
text-decoration: none; text-decoration: none;
background-color: @tooltipBackground; background-color: @tooltipBackground;
.border-radius(4px); .border-radius(@baseBorderRadius);
} }
// Arrows // Arrows

View File

@ -20,35 +20,28 @@ p {
// Emphasis & misc // Emphasis & misc
// ------------------------- // -------------------------
small { // Ex: 14px base font * 85% = about 12px
font-size: 85%; // Ex: 14px base font * 85% = about 12px small { font-size: 85%; }
}
strong { strong { font-weight: bold; }
font-weight: bold; em { font-style: italic; }
} cite { font-style: normal; }
em {
font-style: italic;
}
cite {
font-style: normal;
}
// Utility classes // Utility classes
.muted { .muted { color: @grayLight; }
color: @grayLight; a.muted:hover { color: darken(@grayLight, 10%); }
}
.text-warning { .text-warning { color: @warningText; }
color: @warningText; a.text-warning:hover { color: darken(@warningText, 10%); }
}
.text-error { .text-error { color: @errorText; }
color: @errorText; a.text-error:hover { color: darken(@errorText, 10%); }
}
.text-info { .text-info { color: @infoText; }
color: @infoText; a.text-info:hover { color: darken(@infoText, 10%); }
}
.text-success { .text-success { color: @successText; }
color: @successText; a.text-success:hover { color: darken(@successText, 10%); }
}
// Headings // Headings
@ -58,7 +51,7 @@ h1, h2, h3, h4, h5, h6 {
margin: (@baseLineHeight / 2) 0; margin: (@baseLineHeight / 2) 0;
font-family: @headingsFontFamily; font-family: @headingsFontFamily;
font-weight: @headingsFontWeight; font-weight: @headingsFontWeight;
line-height: 1; line-height: @baseLineHeight;
color: @headingsColor; color: @headingsColor;
text-rendering: optimizelegibility; // Fix the character spacing for headings text-rendering: optimizelegibility; // Fix the character spacing for headings
small { small {
@ -67,17 +60,22 @@ h1, h2, h3, h4, h5, h6 {
color: @grayLight; color: @grayLight;
} }
} }
h1 { font-size: 36px; line-height: 40px; }
h2 { font-size: 30px; line-height: 40px; }
h3 { font-size: 24px; line-height: 40px; }
h4 { font-size: 18px; line-height: 20px; }
h5 { font-size: 14px; line-height: 20px; }
h6 { font-size: 12px; line-height: 20px; }
h1 small { font-size: 24px; } h1,
h2 small { font-size: 18px; } h2,
h3 small { font-size: 14px; } h3 { line-height: @baseLineHeight * 2; }
h4 small { font-size: 14px; }
h1 { font-size: @baseFontSize * 2.75; } // ~38px
h2 { font-size: @baseFontSize * 2.25; } // ~32px
h3 { font-size: @baseFontSize * 1.75; } // ~24px
h4 { font-size: @baseFontSize * 1.25; } // ~18px
h5 { font-size: @baseFontSize; }
h6 { font-size: @baseFontSize * 0.85; } // ~12px
h1 small { font-size: @baseFontSize * 1.75; } // ~24px
h2 small { font-size: @baseFontSize * 1.25; } // ~18px
h3 small { font-size: @baseFontSize; }
h4 small { font-size: @baseFontSize; }
// Page header // Page header
@ -108,12 +106,26 @@ ol ul {
li { li {
line-height: @baseLineHeight; line-height: @baseLineHeight;
} }
// Remove default list styles
ul.unstyled, ul.unstyled,
ol.unstyled { ol.unstyled {
margin-left: 0; margin-left: 0;
list-style: none; list-style: none;
} }
// Single-line list items
ul.inline,
ol.inline {
margin-left: 0;
list-style: none;
& > li {
display: inline-block;
padding-left: 5px;
padding-right: 5px;
}
}
// Description Lists // Description Lists
dl { dl {
margin-bottom: @baseLineHeight; margin-bottom: @baseLineHeight;
@ -155,7 +167,9 @@ hr {
} }
// Abbreviations and acronyms // Abbreviations and acronyms
abbr[title] { abbr[title],
// Added data-* attribute to help out our tooltip plugin, per https://github.com/twitter/bootstrap/issues/5257
abbr[data-original-title] {
cursor: help; cursor: help;
border-bottom: 1px dotted @grayLight; border-bottom: 1px dotted @grayLight;
} }

View File

@ -1 +0,0 @@


View File

@ -9,10 +9,10 @@
// Grays // Grays
// ------------------------- // -------------------------
@black: #57606B; @black: #000;
@grayDarker: #191919 ; @grayDarker: #222;
@grayDark: #57606B; @grayDark: #333;
@gray: #57606B; @gray: #555;
@grayLight: #999; @grayLight: #999;
@grayLighter: #eee; @grayLighter: #eee;
@white: #fff; @white: #fff;
@ -22,7 +22,6 @@
// ------------------------- // -------------------------
@blue: #065EFE; @blue: #065EFE;
@blueDark: #0064cd; @blueDark: #0064cd;
@blueDark: #0064cd;
@green: #46a546; @green: #46a546;
@red: #9d261d; @red: #9d261d;
@yellow: #ffc40d; @yellow: #ffc40d;
@ -33,13 +32,13 @@
// Scaffolding // Scaffolding
// ------------------------- // -------------------------
@bodyBackground: @grayDarker; @bodyBackground: @white;
@textColor: @grayDark; @textColor: @grayDark;
// Links // Links
// ------------------------- // -------------------------
@linkColor: @blue; @linkColor: #08c;
@linkColorHover: darken(@linkColor, 15%); @linkColorHover: darken(@linkColor, 15%);
@ -58,6 +57,24 @@
@headingsFontWeight: 100; // instead of browser default, bold @headingsFontWeight: 100; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor @headingsColor: inherit; // empty to use BS default, @textColor
// Component sizing
// -------------------------
// Based on 14px font-size and 20px line-height
@fontSizeLarge: @baseFontSize * 1.25; // ~18px
@fontSizeSmall: @baseFontSize * 0.85; // ~12px
@fontSizeMini: @baseFontSize * 0.75; // ~11px
@paddingLarge: 11px 19px; // 44px
@paddingSmall: 2px 10px; // 26px
@paddingMini: 0 6px; // 22px
@baseBorderRadius: 4px;
@borderRadiusLarge: 6px;
@borderRadiusSmall: 3px;
// Tables // Tables
// ------------------------- // -------------------------
@tableBackground: transparent; // overall background-color @tableBackground: transparent; // overall background-color
@ -94,9 +111,11 @@
// ------------------------- // -------------------------
@inputBackground: @white; @inputBackground: @white;
@inputBorder: #ccc; @inputBorder: #ccc;
@inputBorderRadius: 0px; @inputBorderRadius: @baseBorderRadius;
@inputDisabledBackground: @grayLighter; @inputDisabledBackground: @grayLighter;
@formActionsBackground: #f5f5f5; @formActionsBackground: #f5f5f5;
@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
// Dropdowns // Dropdowns
// ------------------------- // -------------------------
@ -107,7 +126,7 @@
@dropdownLinkColor: @grayDark; @dropdownLinkColor: @grayDark;
@dropdownLinkColorHover: @white; @dropdownLinkColorHover: @white;
@dropdownLinkColorActive: @dropdownLinkColor; @dropdownLinkColorActive: @white;
@dropdownLinkBackgroundActive: @linkColor; @dropdownLinkBackgroundActive: @linkColor;
@dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive; @dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive;
@ -117,6 +136,7 @@
// COMPONENT VARIABLES // COMPONENT VARIABLES
// -------------------------------------------------- // --------------------------------------------------
// Z-index master list // Z-index master list
// ------------------------- // -------------------------
// Used for a bird's eye view of components dependent on the z-axis // Used for a bird's eye view of components dependent on the z-axis
@ -157,7 +177,8 @@
// Navbar // Navbar
// ------------------------- // -------------------------
@navbarCollapseWidth: 0px; @navbarCollapseWidth: 979px;
@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
@navbarHeight: 40px; @navbarHeight: 40px;
@navbarBackgroundHighlight: #ffffff; @navbarBackgroundHighlight: #ffffff;
@ -186,7 +207,7 @@
@navbarInverseLinkBackgroundActive: @navbarInverseBackground; @navbarInverseLinkBackgroundActive: @navbarInverseBackground;
@navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%); @navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%);
@navbarInverseSearchBackgroundFocus: @blue; @navbarInverseSearchBackgroundFocus: @white;
@navbarInverseSearchBorder: @navbarInverseBackground; @navbarInverseSearchBorder: @navbarInverseBackground;
@navbarInverseSearchPlaceholderColor: #ccc; @navbarInverseSearchPlaceholderColor: #ccc;

View File

@ -1 +0,0 @@


View File

@ -10,7 +10,7 @@
margin-bottom: 20px; margin-bottom: 20px;
background-color: @wellBackground; background-color: @wellBackground;
border: 1px solid darken(@wellBackground, 7%); border: 1px solid darken(@wellBackground, 7%);
.border-radius(4px); .border-radius(@baseBorderRadius);
.box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
blockquote { blockquote {
border-color: #ddd; border-color: #ddd;
@ -21,9 +21,9 @@
// Sizes // Sizes
.well-large { .well-large {
padding: 24px; padding: 24px;
.border-radius(6px); .border-radius(@borderRadiusLarge);
} }
.well-small { .well-small {
padding: 9px; padding: 9px;
.border-radius(3px); .border-radius(@borderRadiusSmall);
} }

View File

@ -214,7 +214,6 @@
<Content Include="Content2\Bootstrap\hero-unit.less" /> <Content Include="Content2\Bootstrap\hero-unit.less" />
<Content Include="Content2\Bootstrap\labels-badges.less" /> <Content Include="Content2\Bootstrap\labels-badges.less" />
<Content Include="Content2\Bootstrap\layouts.less" /> <Content Include="Content2\Bootstrap\layouts.less" />
<Content Include="Content2\Bootstrap\mixins.css" />
<Content Include="Content2\Bootstrap\mixins.less" /> <Content Include="Content2\Bootstrap\mixins.less" />
<Content Include="Content2\Bootstrap\mixins.min.css"> <Content Include="Content2\Bootstrap\mixins.min.css">
<DependentUpon>mixins.less</DependentUpon> <DependentUpon>mixins.less</DependentUpon>

View File

@ -1,5 +1,5 @@
/* =================================================== /* ===================================================
* bootstrap-transition.js v2.1.1 * bootstrap-transition.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#transitions * http://twitter.github.com/bootstrap/javascript.html#transitions
* =================================================== * ===================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -20,14 +20,14 @@
!function ($) { !function ($) {
$(function () {
"use strict"; // jshint ;_; "use strict"; // jshint ;_;
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/) /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
* ======================================================= */ * ======================================================= */
$(function () {
$.support.transition = (function () { $.support.transition = (function () {
var transitionEnd = (function () { var transitionEnd = (function () {
@ -58,7 +58,7 @@
}) })
}(window.jQuery);/* ========================================================== }(window.jQuery);/* ==========================================================
* bootstrap-alert.js v2.1.1 * bootstrap-alert.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#alerts * http://twitter.github.com/bootstrap/javascript.html#alerts
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -127,6 +127,8 @@
/* ALERT PLUGIN DEFINITION /* ALERT PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.alert
$.fn.alert = function (option) { $.fn.alert = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -139,15 +141,22 @@
$.fn.alert.Constructor = Alert $.fn.alert.Constructor = Alert
/* ALERT NO CONFLICT
* ================= */
$.fn.alert.noConflict = function () {
$.fn.alert = old
return this
}
/* ALERT DATA-API /* ALERT DATA-API
* ============== */ * ============== */
$(function () { $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
})
}(window.jQuery);/* ============================================================ }(window.jQuery);/* ============================================================
* bootstrap-button.js v2.1.1 * bootstrap-button.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#buttons * http://twitter.github.com/bootstrap/javascript.html#buttons
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -212,6 +221,8 @@
/* BUTTON PLUGIN DEFINITION /* BUTTON PLUGIN DEFINITION
* ======================== */ * ======================== */
var old = $.fn.button
$.fn.button = function (option) { $.fn.button = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -230,19 +241,26 @@
$.fn.button.Constructor = Button $.fn.button.Constructor = Button
/* BUTTON NO CONFLICT
* ================== */
$.fn.button.noConflict = function () {
$.fn.button = old
return this
}
/* BUTTON DATA-API /* BUTTON DATA-API
* =============== */ * =============== */
$(function () { $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
$('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
var $btn = $(e.target) var $btn = $(e.target)
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
$btn.button('toggle') $btn.button('toggle')
}) })
})
}(window.jQuery);/* ========================================================== }(window.jQuery);/* ==========================================================
* bootstrap-carousel.js v2.1.1 * bootstrap-carousel.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#carousel * http://twitter.github.com/bootstrap/javascript.html#carousel
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -272,7 +290,6 @@
var Carousel = function (element, options) { var Carousel = function (element, options) {
this.$element = $(element) this.$element = $(element)
this.options = options this.options = options
this.options.slide && this.slide(this.options.slide)
this.options.pause == 'hover' && this.$element this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this)) .on('mouseenter', $.proxy(this.pause, this))
.on('mouseleave', $.proxy(this.cycle, this)) .on('mouseleave', $.proxy(this.cycle, this))
@ -337,9 +354,7 @@
, direction = type == 'next' ? 'left' : 'right' , direction = type == 'next' ? 'left' : 'right'
, fallback = type == 'next' ? 'first' : 'last' , fallback = type == 'next' ? 'first' : 'last'
, that = this , that = this
, e = $.Event('slide', { , e
relatedTarget: $next[0]
})
this.sliding = true this.sliding = true
@ -347,6 +362,10 @@
$next = $next.length ? $next : this.$element.find('.item')[fallback]() $next = $next.length ? $next : this.$element.find('.item')[fallback]()
e = $.Event('slide', {
relatedTarget: $next[0]
})
if ($next.hasClass('active')) return if ($next.hasClass('active')) return
if ($.support.transition && this.$element.hasClass('slide')) { if ($.support.transition && this.$element.hasClass('slide')) {
@ -382,6 +401,8 @@
/* CAROUSEL PLUGIN DEFINITION /* CAROUSEL PLUGIN DEFINITION
* ========================== */ * ========================== */
var old = $.fn.carousel
$.fn.carousel = function (option) { $.fn.carousel = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -403,21 +424,27 @@
$.fn.carousel.Constructor = Carousel $.fn.carousel.Constructor = Carousel
/* CAROUSEL NO CONFLICT
* ==================== */
$.fn.carousel.noConflict = function () {
$.fn.carousel = old
return this
}
/* CAROUSEL DATA-API /* CAROUSEL DATA-API
* ================= */ * ================= */
$(function () { $(document).on('click.carousel.data-api', '[data-slide]', function (e) {
$('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
var $this = $(this), href var $this = $(this), href
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
, options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) , options = $.extend({}, $target.data(), $this.data())
$target.carousel(options) $target.carousel(options)
e.preventDefault() e.preventDefault()
}) })
})
}(window.jQuery);/* ============================================================= }(window.jQuery);/* =============================================================
* bootstrap-collapse.js v2.1.1 * bootstrap-collapse.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#collapse * http://twitter.github.com/bootstrap/javascript.html#collapse
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -538,8 +565,10 @@
} }
/* COLLAPSIBLE PLUGIN DEFINITION /* COLLAPSE PLUGIN DEFINITION
* ============================== */ * ========================== */
var old = $.fn.collapse
$.fn.collapse = function (option) { $.fn.collapse = function (option) {
return this.each(function () { return this.each(function () {
@ -558,11 +587,19 @@
$.fn.collapse.Constructor = Collapse $.fn.collapse.Constructor = Collapse
/* COLLAPSIBLE DATA-API /* COLLAPSE NO CONFLICT
* ==================== */ * ==================== */
$(function () { $.fn.collapse.noConflict = function () {
$('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { $.fn.collapse = old
return this
}
/* COLLAPSE DATA-API
* ================= */
$(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
var $this = $(this), href var $this = $(this), href
, target = $this.attr('data-target') , target = $this.attr('data-target')
|| e.preventDefault() || e.preventDefault()
@ -571,10 +608,9 @@
$this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
$(target).collapse(option) $(target).collapse(option)
}) })
})
}(window.jQuery);/* ============================================================ }(window.jQuery);/* ============================================================
* bootstrap-dropdown.js v2.1.1 * bootstrap-dropdown.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#dropdowns * http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -628,9 +664,10 @@
if (!isActive) { if (!isActive) {
$parent.toggleClass('open') $parent.toggleClass('open')
$this.focus()
} }
$this.focus()
return false return false
} }
@ -657,7 +694,7 @@
if (!isActive || (isActive && e.keyCode == 27)) return $this.click() if (!isActive || (isActive && e.keyCode == 27)) return $this.click()
$items = $('[role=menu] li:not(.divider) a', $parent) $items = $('[role=menu] li:not(.divider):visible a', $parent)
if (!$items.length) return if (!$items.length) return
@ -675,8 +712,9 @@
} }
function clearMenus() { function clearMenus() {
getParent($(toggle)) $(toggle).each(function () {
.removeClass('open') getParent($(this)).removeClass('open')
})
} }
function getParent($this) { function getParent($this) {
@ -698,6 +736,8 @@
/* DROPDOWN PLUGIN DEFINITION /* DROPDOWN PLUGIN DEFINITION
* ========================== */ * ========================== */
var old = $.fn.dropdown
$.fn.dropdown = function (option) { $.fn.dropdown = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -710,20 +750,27 @@
$.fn.dropdown.Constructor = Dropdown $.fn.dropdown.Constructor = Dropdown
/* DROPDOWN NO CONFLICT
* ==================== */
$.fn.dropdown.noConflict = function () {
$.fn.dropdown = old
return this
}
/* APPLY TO STANDARD DROPDOWN ELEMENTS /* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */ * =================================== */
$(function () { $(document)
$('html')
.on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
$('body')
.on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() })
.on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
})
}(window.jQuery);/* ========================================================= }(window.jQuery);/* =========================================================
* bootstrap-modal.js v2.1.1 * bootstrap-modal.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#modals * http://twitter.github.com/bootstrap/javascript.html#modals
* ========================================================= * =========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -773,8 +820,6 @@
if (this.isShown || e.isDefaultPrevented()) return if (this.isShown || e.isDefaultPrevented()) return
$('body').addClass('modal-open')
this.isShown = true this.isShown = true
this.escape() this.escape()
@ -796,13 +841,12 @@
that.$element that.$element
.addClass('in') .addClass('in')
.attr('aria-hidden', false) .attr('aria-hidden', false)
.focus()
that.enforceFocus() that.enforceFocus()
transition ? transition ?
that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
that.$element.trigger('shown') that.$element.focus().trigger('shown')
}) })
} }
@ -820,8 +864,6 @@
this.isShown = false this.isShown = false
$('body').removeClass('modal-open')
this.escape() this.escape()
$(document).off('focusin.modal') $(document).off('focusin.modal')
@ -891,9 +933,11 @@
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />') this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
.appendTo(document.body) .appendTo(document.body)
if (this.options.backdrop != 'static') { this.$backdrop.click(
this.$backdrop.click($.proxy(this.hide, this)) this.options.backdrop == 'static' ?
} $.proxy(this.$element[0].focus, this.$element[0])
: $.proxy(this.hide, this)
)
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
@ -920,6 +964,8 @@
/* MODAL PLUGIN DEFINITION /* MODAL PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.modal
$.fn.modal = function (option) { $.fn.modal = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -940,15 +986,23 @@
$.fn.modal.Constructor = Modal $.fn.modal.Constructor = Modal
/* MODAL NO CONFLICT
* ================= */
$.fn.modal.noConflict = function () {
$.fn.modal = old
return this
}
/* MODAL DATA-API /* MODAL DATA-API
* ============== */ * ============== */
$(function () { $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
$('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
var $this = $(this) var $this = $(this)
, href = $this.attr('href') , href = $this.attr('href')
, $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7 , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
, option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
e.preventDefault() e.preventDefault()
@ -958,10 +1012,10 @@
$this.focus() $this.focus()
}) })
}) })
})
}(window.jQuery);/* =========================================================== }(window.jQuery);
* bootstrap-tooltip.js v2.1.1 /* ===========================================================
* bootstrap-tooltip.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#tooltips * http://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* =========================================================== * ===========================================================
@ -1081,9 +1135,9 @@
inside = /in/.test(placement) inside = /in/.test(placement)
$tip $tip
.remove() .detach()
.css({ top: 0, left: 0, display: 'block' }) .css({ top: 0, left: 0, display: 'block' })
.appendTo(inside ? this.$element : document.body) .insertAfter(this.$element)
pos = this.getPosition(inside) pos = this.getPosition(inside)
@ -1106,7 +1160,7 @@
} }
$tip $tip
.css(tp) .offset(tp)
.addClass(placement) .addClass(placement)
.addClass('in') .addClass('in')
} }
@ -1128,18 +1182,18 @@
function removeWithAnimation() { function removeWithAnimation() {
var timeout = setTimeout(function () { var timeout = setTimeout(function () {
$tip.off($.support.transition.end).remove() $tip.off($.support.transition.end).detach()
}, 500) }, 500)
$tip.one($.support.transition.end, function () { $tip.one($.support.transition.end, function () {
clearTimeout(timeout) clearTimeout(timeout)
$tip.remove() $tip.detach()
}) })
} }
$.support.transition && this.$tip.hasClass('fade') ? $.support.transition && this.$tip.hasClass('fade') ?
removeWithAnimation() : removeWithAnimation() :
$tip.remove() $tip.detach()
return this return this
} }
@ -1197,8 +1251,9 @@
this.enabled = !this.enabled this.enabled = !this.enabled
} }
, toggle: function () { , toggle: function (e) {
this[this.tip().hasClass('in') ? 'hide' : 'show']() var self = $(e.currentTarget)[this.type](this._options).data(this.type)
self[self.tip().hasClass('in') ? 'hide' : 'show']()
} }
, destroy: function () { , destroy: function () {
@ -1211,6 +1266,8 @@
/* TOOLTIP PLUGIN DEFINITION /* TOOLTIP PLUGIN DEFINITION
* ========================= */ * ========================= */
var old = $.fn.tooltip
$.fn.tooltip = function ( option ) { $.fn.tooltip = function ( option ) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -1231,12 +1288,20 @@
, trigger: 'hover' , trigger: 'hover'
, title: '' , title: ''
, delay: 0 , delay: 0
, html: true , html: false
} }
}(window.jQuery);
/* =========================================================== /* TOOLTIP NO CONFLICT
* bootstrap-popover.js v2.1.1 * =================== */
$.fn.tooltip.noConflict = function () {
$.fn.tooltip = old
return this
}
}(window.jQuery);/* ===========================================================
* bootstrap-popover.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#popovers * http://twitter.github.com/bootstrap/javascript.html#popovers
* =========================================================== * ===========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -1281,7 +1346,7 @@
, content = this.getContent() , content = this.getContent()
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
$tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content) $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
$tip.removeClass('fade top bottom left right in') $tip.removeClass('fade top bottom left right in')
} }
@ -1318,6 +1383,8 @@
/* POPOVER PLUGIN DEFINITION /* POPOVER PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.popover
$.fn.popover = function (option) { $.fn.popover = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -1334,11 +1401,20 @@
placement: 'right' placement: 'right'
, trigger: 'click' , trigger: 'click'
, content: '' , content: ''
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>' , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'
}) })
/* POPOVER NO CONFLICT
* =================== */
$.fn.popover.noConflict = function () {
$.fn.popover = old
return this
}
}(window.jQuery);/* ============================================================= }(window.jQuery);/* =============================================================
* bootstrap-scrollspy.js v2.1.1 * bootstrap-scrollspy.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#scrollspy * http://twitter.github.com/bootstrap/javascript.html#scrollspy
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -1398,7 +1474,7 @@
, $href = /^#\w/.test(href) && $(href) , $href = /^#\w/.test(href) && $(href)
return ( $href return ( $href
&& $href.length && $href.length
&& [[ $href.position().top, href ]] ) || null && [[ $href.position().top + self.$scrollElement.scrollTop(), href ]] ) || null
}) })
.sort(function (a, b) { return a[0] - b[0] }) .sort(function (a, b) { return a[0] - b[0] })
.each(function () { .each(function () {
@ -1460,6 +1536,8 @@
/* SCROLLSPY PLUGIN DEFINITION /* SCROLLSPY PLUGIN DEFINITION
* =========================== */ * =========================== */
var old = $.fn.scrollspy
$.fn.scrollspy = function (option) { $.fn.scrollspy = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -1477,6 +1555,15 @@
} }
/* SCROLLSPY NO CONFLICT
* ===================== */
$.fn.scrollspy.noConflict = function () {
$.fn.scrollspy = old
return this
}
/* SCROLLSPY DATA-API /* SCROLLSPY DATA-API
* ================== */ * ================== */
@ -1488,7 +1575,7 @@
}) })
}(window.jQuery);/* ======================================================== }(window.jQuery);/* ========================================================
* bootstrap-tab.js v2.1.1 * bootstrap-tab.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#tabs * http://twitter.github.com/bootstrap/javascript.html#tabs
* ======================================================== * ========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -1538,7 +1625,7 @@
if ( $this.parent('li').hasClass('active') ) return if ( $this.parent('li').hasClass('active') ) return
previous = $ul.find('.active a').last()[0] previous = $ul.find('.active:last a')[0]
e = $.Event('show', { e = $.Event('show', {
relatedTarget: previous relatedTarget: previous
@ -1599,6 +1686,8 @@
/* TAB PLUGIN DEFINITION /* TAB PLUGIN DEFINITION
* ===================== */ * ===================== */
var old = $.fn.tab
$.fn.tab = function ( option ) { $.fn.tab = function ( option ) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -1611,18 +1700,25 @@
$.fn.tab.Constructor = Tab $.fn.tab.Constructor = Tab
/* TAB NO CONFLICT
* =============== */
$.fn.tab.noConflict = function () {
$.fn.tab = old
return this
}
/* TAB DATA-API /* TAB DATA-API
* ============ */ * ============ */
$(function () { $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
$('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
e.preventDefault() e.preventDefault()
$(this).tab('show') $(this).tab('show')
}) })
})
}(window.jQuery);/* ============================================================= }(window.jQuery);/* =============================================================
* bootstrap-typeahead.js v2.1.1 * bootstrap-typeahead.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#typeahead * http://twitter.github.com/bootstrap/javascript.html#typeahead
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -1656,8 +1752,8 @@
this.sorter = this.options.sorter || this.sorter this.sorter = this.options.sorter || this.sorter
this.highlighter = this.options.highlighter || this.highlighter this.highlighter = this.options.highlighter || this.highlighter
this.updater = this.options.updater || this.updater this.updater = this.options.updater || this.updater
this.$menu = $(this.options.menu).appendTo('body')
this.source = this.options.source this.source = this.options.source
this.$menu = $(this.options.menu)
this.shown = false this.shown = false
this.listen() this.listen()
} }
@ -1679,16 +1775,18 @@
} }
, show: function () { , show: function () {
var pos = $.extend({}, this.$element.offset(), { var pos = $.extend({}, this.$element.position(), {
height: this.$element[0].offsetHeight height: this.$element[0].offsetHeight
}) })
this.$menu.css({ this.$menu
.insertAfter(this.$element)
.css({
top: pos.top + pos.height top: pos.top + pos.height
, left: pos.left , left: pos.left
}) })
.show()
this.$menu.show()
this.shown = true this.shown = true
return this return this
} }
@ -1797,7 +1895,7 @@
.on('keypress', $.proxy(this.keypress, this)) .on('keypress', $.proxy(this.keypress, this))
.on('keyup', $.proxy(this.keyup, this)) .on('keyup', $.proxy(this.keyup, this))
if ($.browser.chrome || $.browser.webkit || $.browser.msie) { if (this.eventSupported('keydown')) {
this.$element.on('keydown', $.proxy(this.keydown, this)) this.$element.on('keydown', $.proxy(this.keydown, this))
} }
@ -1806,6 +1904,15 @@
.on('mouseenter', 'li', $.proxy(this.mouseenter, this)) .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
} }
, eventSupported: function(eventName) {
var isSupported = eventName in this.$element
if (!isSupported) {
this.$element.setAttribute(eventName, 'return;')
isSupported = typeof this.$element[eventName] === 'function'
}
return isSupported
}
, move: function (e) { , move: function (e) {
if (!this.shown) return if (!this.shown) return
@ -1831,7 +1938,7 @@
} }
, keydown: function (e) { , keydown: function (e) {
this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27]) this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
this.move(e) this.move(e)
} }
@ -1844,6 +1951,9 @@
switch(e.keyCode) { switch(e.keyCode) {
case 40: // down arrow case 40: // down arrow
case 38: // up arrow case 38: // up arrow
case 16: // shift
case 17: // ctrl
case 18: // alt
break break
case 9: // tab case 9: // tab
@ -1887,6 +1997,8 @@
/* TYPEAHEAD PLUGIN DEFINITION /* TYPEAHEAD PLUGIN DEFINITION
* =========================== */ * =========================== */
var old = $.fn.typeahead
$.fn.typeahead = function (option) { $.fn.typeahead = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -1908,21 +2020,28 @@
$.fn.typeahead.Constructor = Typeahead $.fn.typeahead.Constructor = Typeahead
/* TYPEAHEAD NO CONFLICT
* =================== */
$.fn.typeahead.noConflict = function () {
$.fn.typeahead = old
return this
}
/* TYPEAHEAD DATA-API /* TYPEAHEAD DATA-API
* ================== */ * ================== */
$(function () { $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
$('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
var $this = $(this) var $this = $(this)
if ($this.data('typeahead')) return if ($this.data('typeahead')) return
e.preventDefault() e.preventDefault()
$this.typeahead($this.data()) $this.typeahead($this.data())
}) })
})
}(window.jQuery); }(window.jQuery);
/* ========================================================== /* ==========================================================
* bootstrap-affix.js v2.1.1 * bootstrap-affix.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#affix * http://twitter.github.com/bootstrap/javascript.html#affix
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -1951,7 +2070,9 @@
var Affix = function (element, options) { var Affix = function (element, options) {
this.options = $.extend({}, $.fn.affix.defaults, options) this.options = $.extend({}, $.fn.affix.defaults, options)
this.$window = $(window).on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) this.$window = $(window)
.on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
.on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
this.$element = $(element) this.$element = $(element)
this.checkPosition() this.checkPosition()
} }
@ -1989,6 +2110,8 @@
/* AFFIX PLUGIN DEFINITION /* AFFIX PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.affix
$.fn.affix = function (option) { $.fn.affix = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -2006,6 +2129,15 @@
} }
/* AFFIX NO CONFLICT
* ================= */
$.fn.affix.noConflict = function () {
$.fn.affix = old
return this
}
/* AFFIX DATA-API /* AFFIX DATA-API
* ============== */ * ============== */