2012-06-29 00:46:45 -04:00
//
// Forms
// --------------------------------------------------
2011-06-30 03:15:37 -04:00
2011-11-12 03:46:02 -05:00
2011-09-28 22:15:31 -04:00
// GENERAL STYLES
// --------------
2011-05-03 21:09:25 -04:00
2011-09-29 04:40:27 -04:00
// Make all forms have space below them
2011-05-03 21:09:25 -04:00
form {
2012-01-20 16:16:40 -05:00
margin: 0 0 @baseLineHeight;
}
fieldset {
padding: 0;
margin: 0;
border: 0;
2011-08-25 03:13:40 -04:00
}
2011-08-17 01:58:01 -04:00
2011-08-25 03:13:40 -04:00
// Groups of fields with labels on top (legends)
2011-09-29 04:40:27 -04:00
legend {
display: block;
width: 100%;
2012-01-20 16:16:40 -05:00
padding: 0;
2012-07-10 03:32:04 -04:00
margin-bottom: @baseLineHeight;
2011-10-04 03:20:38 -04:00
font-size: @baseFontSize * 1.5;
line-height: @baseLineHeight * 2;
2011-09-29 04:40:27 -04:00
color: @grayDark;
2012-01-20 16:16:40 -05:00
border: 0;
2012-05-13 20:43:04 -04:00
border-bottom: 1px solid #e5e5e5;
2012-02-11 19:50:57 -05:00
// Small
small {
font-size: @baseLineHeight * .75;
color: @grayLight;
}
2011-08-25 03:13:40 -04:00
}
2011-08-17 01:58:01 -04:00
2011-08-25 03:13:40 -04:00
// Set font for forms
label,
input,
2012-01-20 16:16:40 -05:00
button,
2011-08-25 03:13:40 -04:00
select,
textarea {
2012-02-13 11:18:19 -05:00
#font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here
}
input,
button,
select,
textarea {
2012-03-07 00:13:29 -05:00
font-family: @baseFontFamily; // And only set font-family here for those that need it (note the missing label element)
2011-08-25 03:13:40 -04:00
}
2011-08-17 01:58:01 -04:00
2011-09-29 04:40:27 -04:00
// Identify controls by their labels
2011-08-25 03:13:40 -04:00
label {
2011-09-29 04:40:27 -04:00
display: block;
margin-bottom: 5px;
2011-08-25 03:13:40 -04:00
}
2011-08-17 01:58:01 -04:00
2012-05-15 02:40:06 -04:00
// Form controls
// -------------------------
2012-05-15 02:42:32 -04:00
// Shared size and type resets
2011-08-25 03:13:40 -04:00
select,
2012-05-15 02:40:06 -04:00
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
2012-05-15 12:07:19 -04:00
input[type="color"],
.uneditable-input {
2012-01-25 14:26:45 -05:00
display: inline-block;
2012-10-01 03:19:29 -04:00
.box-sizing(border-box); // Makes inputs behave like true block-level elements
min-height: @inputHeight; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
padding: 6px 9px;
margin-bottom: @baseLineHeight / 2;
2011-10-04 03:20:38 -04:00
font-size: @baseFontSize;
line-height: @baseLineHeight;
2011-08-25 03:13:40 -04:00
color: @gray;
2012-09-23 19:06:28 -04:00
vertical-align: middle;
2012-10-01 03:19:29 -04:00
background-color: @inputBackground;
border-radius: @inputBorderRadius;
2012-05-15 02:40:06 -04:00
}
2012-05-15 03:17:02 -04:00
// Reset appearance properties for textual inputs and textarea
// Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
input,
2012-08-27 15:07:28 -04:00
textarea,
.uneditable-input {
2012-10-01 03:19:29 -04:00
width: 220px;
2012-05-15 03:17:02 -04:00
}
2012-05-18 01:00:49 -04:00
// Reset height since textareas have rows
textarea {
height: auto;
}
2012-05-15 03:17:02 -04:00
// Everything else
2012-05-15 02:40:06 -04:00
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
2012-05-15 12:07:19 -04:00
input[type="color"],
.uneditable-input {
2012-03-05 03:29:16 -05:00
border: 1px solid @inputBorder;
2012-05-15 02:40:06 -04:00
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
2012-07-29 15:10:29 -04:00
.transition(~"border linear .2s, box-shadow linear .2s");
2012-05-15 12:04:44 -04:00
// Focus state
&:focus {
border-color: rgba(82,168,236,.8);
outline: 0;
outline: thin dotted \9; /* IE6-9 */
2012-09-12 18:48:56 -04:00
.box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
2012-05-15 12:04:44 -04:00
}
2011-08-25 03:13:40 -04:00
}
2012-05-15 02:40:06 -04:00
2012-05-15 03:17:02 -04:00
// Position radios and checkboxes better
2012-05-15 02:40:06 -04:00
input[type="radio"],
input[type="checkbox"] {
2012-08-14 18:34:10 -04:00
margin: 4px 0 0;
2012-08-14 18:29:47 -04:00
margin-top: 1px \9; /* IE8-9 */
2012-05-15 03:17:02 -04:00
line-height: normal;
2012-01-25 14:21:44 -05:00
}
2012-05-15 03:17:02 -04:00
2012-06-04 23:27:42 -04:00
// Reset width of input images, buttons, radios, checkboxes
2012-08-20 13:28:41 -04:00
input[type="file"],
2012-06-04 23:27:42 -04:00
input[type="image"],
2012-05-15 02:40:06 -04:00
input[type="submit"],
2012-05-15 03:17:02 -04:00
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
width: auto; // Override of generic input selector
2011-09-02 01:53:24 -04:00
}
2011-11-12 03:46:02 -05:00
// Set the height of select and file controls to match text inputs
2011-08-25 03:13:40 -04:00
select,
2012-01-27 23:05:03 -05:00
input[type="file"] {
2012-09-26 01:07:53 -04:00
height: @inputHeight; /* In IE7, the height of the select element cannot be changed by height, only font-size. TODO: Check if this is still needed when dropping IE7 support */
2012-09-20 14:45:59 -04:00
line-height: @inputHeight;
2011-09-11 21:01:29 -04:00
}
2011-09-02 01:53:24 -04:00
2012-05-15 03:17:02 -04:00
// Make select elements obey height by applying a border
select {
width: 220px; // default input width + 10px of padding that doesn't get applied
2012-09-04 14:00:25 -04:00
border: 1px solid @inputBorder;
2012-05-15 03:17:02 -04:00
}
2011-09-14 11:58:20 -04:00
// Make multiple select elements height not fixed
2011-12-27 17:08:07 -05:00
select[multiple],
select[size] {
2012-01-25 14:51:13 -05:00
height: auto;
2011-09-14 11:58:20 -04:00
}
2012-05-15 12:04:44 -04:00
// Focus for select, file, radio, and checkbox
select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
.tab-focus();
}
2012-01-26 13:00:09 -05:00
2011-08-17 01:58:01 -04:00
2012-07-07 15:52:05 -04:00
// Uneditable inputs
// -------------------------
// Make uneditable inputs look inactive
.uneditable-input,
.uneditable-textarea {
color: @grayLight;
background-color: darken(@inputBackground, 1%);
border-color: @inputBorder;
.box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
cursor: not-allowed;
}
// For text that needs to appear as an input but should not be an input
.uneditable-input {
overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
white-space: nowrap;
}
// Make uneditable textareas behave like a textarea
.uneditable-textarea {
width: auto;
height: auto;
}
// Placeholder
// -------------------------
2012-09-11 01:41:14 -04:00
// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector
2012-07-07 15:52:05 -04:00
input,
textarea {
.placeholder();
}
2011-08-25 03:13:40 -04:00
2012-01-05 17:11:41 -05:00
// CHECKBOXES & RADIOS
// -------------------
// Indent the labels to position radios/checkboxes as hanging
.radio,
.checkbox {
2012-09-20 14:45:59 -04:00
min-height: @baseLineHeight; // clear the floating input if there is no label text
padding-left: 20px;
2012-01-05 17:11:41 -05:00
}
2012-01-27 23:05:03 -05:00
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
2012-01-05 17:11:41 -05:00
float: left;
2012-09-20 14:45:59 -04:00
margin-left: -20px;
2012-01-05 17:11:41 -05:00
}
// Move the options list down to align with labels
.controls > .radio:first-child,
.controls > .checkbox:first-child {
2012-01-26 13:56:18 -05:00
padding-top: 5px; // has to be padding because margin collaspes
2012-01-05 17:11:41 -05:00
}
2012-01-07 02:59:22 -05:00
// Radios and checkboxes on same line
2012-02-05 05:16:46 -05:00
// TODO v3: Convert .inline to .control-inline
2012-01-07 02:59:22 -05:00
.radio.inline,
.checkbox.inline {
display: inline-block;
2012-02-05 05:16:46 -05:00
padding-top: 5px;
2012-01-07 03:26:58 -05:00
margin-bottom: 0;
2012-01-28 17:50:56 -05:00
vertical-align: middle;
2012-01-07 02:59:22 -05:00
}
.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
2012-01-07 03:26:58 -05:00
margin-left: 10px; // space out consecutive inline controls
2012-01-07 02:59:22 -05:00
}
2012-01-05 17:11:41 -05:00
2011-09-28 22:15:31 -04:00
// INPUT SIZES
// -----------
2012-09-26 01:16:47 -04:00
select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
&.input-large {
padding: @paddingLarge;
padding-left: 14px;
padding-right: 14px; // TODO: Resolve this override
font-size: @fontSizeLarge;
2012-10-01 02:11:54 -04:00
border-radius: @borderRadiusLarge;
2012-09-26 01:16:47 -04:00
}
&.input-small {
padding: @paddingSmall;
font-size: @fontSizeSmall;
2012-10-01 02:11:54 -04:00
border-radius: @borderRadiusSmall;
2012-09-26 01:16:47 -04:00
}
&.input-mini {
padding: @paddingMini;
font-size: @fontSizeMini;
2012-10-01 02:11:54 -04:00
border-radius: @borderRadiusSmall;
2012-09-26 01:16:47 -04:00
}
}
2011-08-17 01:58:01 -04:00
2012-09-25 18:01:03 -04:00
// GRID SIZING FOR INPUTS
// ----------------------
2011-09-11 21:44:25 -04:00
// Grid style input sizes
2012-01-07 03:47:53 -05:00
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
2012-09-25 18:01:03 -04:00
.uneditable-input[class*="span"] {
float: none;
margin-left: 0;
margin-right: 0;
2011-09-11 21:44:25 -04:00
}
2012-09-25 18:01:03 -04:00
.controls-row {
#grid > .input(@gridColumnWidth, @gridGutterWidth, @gridRowWidth);
}
2012-05-28 20:32:24 -04:00
// Ensure input-prepend/append never wraps
.input-append input[class*="span"],
.input-append .uneditable-input[class*="span"],
.input-prepend input[class*="span"],
2012-09-25 18:01:03 -04:00
.input-prepend .uneditable-input[class*="span"] {
2012-05-28 20:32:24 -04:00
display: inline-block;
}
2012-01-07 03:47:53 -05:00
2012-08-28 16:33:06 -04:00
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"] {
height: 30px;
}
2012-07-09 23:49:17 -04:00
// Control row for multiple inputs per line
.controls-row {
.clearfix(); // Clear the float from controls
}
2012-09-17 19:09:36 -04:00
// Float to collapse white-space for proper grid alignment
2012-09-26 01:20:24 -04:00
.controls-row [class*="span"] {
2012-09-17 19:09:36 -04:00
float: left;
2012-07-09 23:49:17 -04:00
}
2012-10-01 14:53:52 -04:00
// 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;
}
2012-07-09 23:49:17 -04:00
2011-09-28 22:15:31 -04:00
2011-09-29 04:40:27 -04:00
// DISABLED STATE
// --------------
2011-09-28 22:15:31 -04:00
2011-09-03 00:54:11 -04:00
// Disabled and read-only inputs
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
2012-04-16 19:34:08 -04:00
cursor: not-allowed;
2012-03-05 03:29:16 -05:00
background-color: @inputDisabledBackground;
2011-05-03 21:09:25 -04:00
}
2012-04-23 06:05:10 -04:00
// Explicitly reset the colors here
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"][readonly],
input[type="checkbox"][readonly] {
background-color: transparent;
}
2011-05-03 21:09:25 -04:00
2011-09-29 04:40:27 -04:00
2012-01-06 00:43:28 -05:00
2011-11-12 03:46:02 -05:00
// FORM FIELD FEEDBACK STATES
// --------------------------
2011-09-29 04:40:27 -04:00
2011-11-12 03:46:02 -05:00
// Warning
2011-11-29 15:06:31 -05:00
.control-group.warning {
2012-01-25 02:35:34 -05:00
.formFieldState(@warningText, @warningText, @warningBackground);
2012-01-24 19:54:35 -05:00
}
// Error
.control-group.error {
2012-01-25 02:35:34 -05:00
.formFieldState(@errorText, @errorText, @errorBackground);
2011-11-12 03:46:02 -05:00
}
// Success
2011-11-29 15:06:31 -05:00
.control-group.success {
2012-01-25 02:35:34 -05:00
.formFieldState(@successText, @successText, @successBackground);
2011-11-12 03:46:02 -05:00
}
2012-08-22 05:24:02 -04:00
// Success
.control-group.info {
.formFieldState(@infoText, @infoText, @infoBackground);
}
2011-09-29 04:40:27 -04:00
2012-01-07 07:28:30 -05:00
// HTML5 invalid states
// Shares styles with the .control-group.error above
2012-11-04 22:53:13 -05:00
input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
2012-01-07 07:28:30 -05:00
color: #b94a48;
border-color: #ee5f5b;
&:focus {
border-color: darken(#ee5f5b, 10%);
2012-09-12 19:18:52 -04:00
@shadow: 0 0 6px lighten(#ee5f5b, 20%);
.box-shadow(@shadow);
2012-01-07 07:28:30 -05:00
}
}
2011-09-29 04:40:27 -04:00
// FORM ACTIONS
// ------------
.form-actions {
2011-10-04 03:20:38 -04:00
padding: (@baseLineHeight - 1) 20px @baseLineHeight;
margin-top: @baseLineHeight;
margin-bottom: @baseLineHeight;
2012-03-23 00:08:41 -04:00
background-color: @formActionsBackground;
2012-05-13 20:43:04 -04:00
border-top: 1px solid #e5e5e5;
2012-02-14 15:16:55 -05:00
.clearfix(); // Adding clearfix to allow for .pull-right button containers
2011-05-03 21:09:25 -04:00
}
2011-09-29 04:40:27 -04:00
2011-09-28 22:15:31 -04:00
// HELP TEXT
// ---------
2012-02-21 16:43:13 -05:00
.help-block,
.help-inline {
2012-06-25 19:47:29 -04:00
color: lighten(@textColor, 15%); // lighten the text some for contrast
2012-02-21 16:43:13 -05:00
}
2012-01-06 00:43:28 -05:00
.help-block {
2012-02-13 01:49:06 -05:00
display: block; // account for any element using help-block
2012-02-21 16:43:13 -05:00
margin-bottom: @baseLineHeight / 2;
2011-05-03 21:09:25 -04:00
}
2011-09-29 04:40:27 -04:00
2011-05-03 21:09:25 -04:00
.help-inline {
2012-01-26 16:02:27 -05:00
display: inline-block;
vertical-align: middle;
2011-11-17 04:28:42 -05:00
padding-left: 5px;
2011-05-03 21:09:25 -04:00
}
2011-08-17 01:58:01 -04:00
2011-09-28 22:15:31 -04:00
2011-11-12 03:46:02 -05:00
2011-09-29 04:40:27 -04:00
// INPUT GROUPS
// ------------
2011-09-28 22:15:31 -04:00
2011-05-03 21:09:25 -04:00
// Allow us to put symbols and text within the input field for a cleaner look
2012-07-10 03:32:04 -04:00
.input-append,
.input-prepend {
2012-01-06 00:43:28 -05:00
margin-bottom: 5px;
2012-09-18 02:11:49 -04:00
font-size: 0; // white space collapse hack
2012-07-07 15:34:47 -04:00
white-space: nowrap; // Prevent span and input from separating
2012-07-07 15:52:05 -04:00
2012-09-18 02:11:49 -04:00
// Reset the white space collapse hack
input,
select,
.uneditable-input,
.dropdown-menu {
font-size: @baseFontSize;
}
2012-01-07 04:22:52 -05:00
input,
2012-02-21 10:32:57 -05:00
select,
2012-01-07 04:22:52 -05:00
.uneditable-input {
2012-03-28 21:18:41 -04:00
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
2012-09-25 18:01:03 -04:00
float: none; // Undo the float from grid sizing
margin: 0; // Prevent bottom margin from screwing up alignment in stacked forms
2012-06-14 14:56:46 -04:00
font-size: @baseFontSize;
2012-08-17 19:28:45 -04:00
vertical-align: top;
2012-10-01 02:11:54 -04:00
border-radius: 0 @inputBorderRadius @inputBorderRadius 0;
2012-03-23 03:51:31 -04:00
// Make input on top when focused so blue border and shadow always show
2012-01-28 02:53:56 -05:00
&:focus {
z-index: 2;
}
2011-05-03 21:09:25 -04:00
}
2012-09-25 18:01:03 -04:00
input[class*="span"],
select[class*="span"],
.uneditable-input[class*="span"] {
margin: 0;
}
2011-05-03 21:09:25 -04:00
.add-on {
2012-03-12 01:58:14 -04:00
display: inline-block;
2011-05-03 21:09:25 -04:00
width: auto;
2011-10-10 00:25:28 -04:00
height: @baseLineHeight;
2012-04-16 19:34:08 -04:00
min-width: 16px;
2012-10-01 03:19:29 -04:00
padding: 6px;
2012-06-14 14:56:46 -04:00
font-size: @baseFontSize;
2011-05-03 21:09:25 -04:00
font-weight: normal;
2011-10-10 00:25:28 -04:00
line-height: @baseLineHeight;
2011-05-03 21:09:25 -04:00
text-align: center;
2011-09-13 01:19:28 -04:00
text-shadow: 0 1px 0 @white;
2012-03-06 02:06:27 -05:00
background-color: @grayLighter;
2011-11-17 04:28:42 -05:00
border: 1px solid #ccc;
2012-03-12 02:43:19 -04:00
}
.add-on,
2012-11-04 22:08:02 -05:00
.btn,
.btn-group > .dropdown-toggle {
2012-08-17 19:28:45 -04:00
vertical-align: top;
2012-10-01 02:11:54 -04:00
border-radius: 0;
2011-05-03 21:09:25 -04:00
}
.active {
2011-11-17 04:28:42 -05:00
background-color: lighten(@green, 30);
2011-05-03 21:09:25 -04:00
border-color: @green;
}
}
2012-09-20 14:37:34 -04:00
2012-03-12 02:21:38 -04:00
.input-prepend {
2012-03-12 02:43:19 -04:00
.add-on,
.btn {
2012-03-12 02:21:38 -04:00
margin-right: -1px;
}
2012-04-05 16:08:32 -04:00
.add-on:first-child,
.btn:first-child {
2012-09-20 14:37:34 -04:00
// FYI, `.btn:first-child` accounts for a button group that's prepended
2012-10-01 02:11:54 -04:00
border-radius: @inputBorderRadius 0 0 @inputBorderRadius;
2012-04-05 16:08:32 -04:00
}
2012-03-12 02:21:38 -04:00
}
2012-09-20 14:37:34 -04:00
2011-08-21 23:27:19 -04:00
.input-append {
2012-01-07 04:22:52 -05:00
input,
2012-03-23 12:47:57 -04:00
select,
2012-01-07 04:22:52 -05:00
.uneditable-input {
2012-10-01 02:11:54 -04:00
border-radius: @inputBorderRadius 0 0 @inputBorderRadius;
2012-11-04 22:59:07 -05:00
+ .btn-group .btn,
2012-11-04 22:08:02 -05:00
+ .btn-group .btn:last-child {
2012-10-01 02:11:54 -04:00
border-radius: 0 @inputBorderRadius @inputBorderRadius 0;
2012-09-20 14:37:34 -04:00
}
2011-05-03 21:09:25 -04:00
}
2012-08-22 23:32:47 -04:00
.add-on,
2012-09-20 14:37:34 -04:00
.btn,
.btn-group {
2012-08-22 23:32:47 -04:00
margin-left: -1px;
}
2012-04-05 16:08:32 -04:00
.add-on:last-child,
2012-11-04 22:08:02 -05:00
.btn:last-child,
.btn-group:last-child > .dropdown-toggle {
2012-10-01 02:11:54 -04:00
border-radius: 0 @inputBorderRadius @inputBorderRadius 0;
2012-03-12 02:21:38 -04:00
}
}
2012-09-20 14:37:34 -04:00
2012-03-12 02:21:38 -04:00
// Remove all border-radius for inputs with both prepend and append
.input-prepend.input-append {
input,
select,
.uneditable-input {
2012-10-01 02:11:54 -04:00
border-radius: 0;
2012-09-20 14:37:34 -04:00
+ .btn-group .btn {
2012-10-01 02:11:54 -04:00
border-radius: 0 @inputBorderRadius @inputBorderRadius 0;
2012-09-20 14:37:34 -04:00
}
2012-03-12 02:21:38 -04:00
}
2012-03-12 02:43:19 -04:00
.add-on:first-child,
.btn:first-child {
2012-03-12 02:21:38 -04:00
margin-right: -1px;
2012-10-01 02:11:54 -04:00
border-radius: @inputBorderRadius 0 0 @inputBorderRadius;
2012-03-12 02:21:38 -04:00
}
2012-03-12 02:43:19 -04:00
.add-on:last-child,
.btn:last-child {
2011-09-11 23:17:34 -04:00
margin-left: -1px;
2012-10-01 02:11:54 -04:00
border-radius: 0 @inputBorderRadius @inputBorderRadius 0;
2011-05-03 21:09:25 -04:00
}
2012-09-20 14:37:34 -04:00
.btn-group:first-child {
margin-left: 0;
}
2011-05-03 21:09:25 -04:00
}
2011-09-28 22:15:31 -04:00
2011-09-29 04:40:27 -04:00
2012-09-20 14:37:34 -04:00
2011-09-29 04:47:55 -04:00
// SEARCH FORM
// -----------
2012-08-17 15:59:32 -04:00
input.search-query {
2012-01-06 00:43:28 -05:00
padding-right: 14px;
2012-03-25 17:31:04 -04:00
padding-right: 4px \9;
2012-04-16 19:34:08 -04:00
padding-left: 14px;
2012-10-01 02:11:54 -04:00
padding-left: 4px \9; /* IE8 doesn't have border radius, so don't indent the padding */
2012-07-10 03:32:04 -04:00
margin-bottom: 0; // Remove the default margin on all inputs
2012-10-01 03:19:29 -04:00
border-radius: @inputSearchBorderRadius;
2011-09-29 04:47:55 -04:00
}
2012-07-10 03:32:04 -04:00
/* Allow for input prepend/append in search forms */
.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
2012-10-01 02:11:54 -04:00
border-radius: 0; // Override due to specificity
2012-07-10 03:32:04 -04:00
}
.form-search .input-append .search-query {
2012-10-01 03:19:29 -04:00
border-radius: @inputSearchBorderRadius 0 0 @inputSearchBorderRadius;
2012-07-10 03:32:04 -04:00
}
.form-search .input-append .btn {
2012-10-01 03:19:29 -04:00
border-radius: 0 @inputSearchBorderRadius @inputSearchBorderRadius 0;
2012-07-10 03:32:04 -04:00
}
.form-search .input-prepend .search-query {
2012-10-01 03:19:29 -04:00
border-radius: 0 @inputSearchBorderRadius @inputSearchBorderRadius 0;
2012-07-10 03:32:04 -04:00
}
.form-search .input-prepend .btn {
2012-10-01 03:19:29 -04:00
border-radius: @inputSearchBorderRadius 0 0 @inputSearchBorderRadius;
2012-07-10 03:32:04 -04:00
}
2011-09-29 04:47:55 -04:00
2011-09-29 04:40:27 -04:00
// HORIZONTAL & VERTICAL FORMS
// ---------------------------
// Common properties
2011-09-28 22:15:31 -04:00
// -----------------
2012-01-15 00:28:47 -05:00
.form-search,
.form-inline,
.form-horizontal {
2012-01-06 00:43:28 -05:00
input,
textarea,
select,
2012-01-26 16:02:27 -05:00
.help-inline,
2012-03-12 02:14:36 -04:00
.uneditable-input,
.input-prepend,
.input-append {
2012-01-06 00:43:28 -05:00
display: inline-block;
margin-bottom: 0;
2012-07-06 13:59:46 -04:00
vertical-align: middle;
2012-01-06 00:43:28 -05:00
}
2012-02-04 21:26:04 -05:00
// Re-hide hidden elements due to specifity
.hide {
display: none;
}
2012-01-06 00:43:28 -05:00
}
2012-01-15 00:28:47 -05:00
.form-search label,
2012-08-17 19:00:36 -04:00
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
2012-01-14 19:38:40 -05:00
display: inline-block;
}
2012-03-12 02:12:45 -04:00
// Remove margin for input-prepend/-append
.form-search .input-append,
.form-inline .input-append,
.form-search .input-prepend,
.form-inline .input-prepend {
margin-bottom: 0;
2012-01-29 03:07:01 -05:00
}
2012-02-20 21:56:05 -05:00
// Inline checkbox/radio labels (remove padding on left)
2012-02-11 03:24:06 -05:00
.form-search .radio,
.form-search .checkbox,
2012-02-17 23:40:56 -05:00
.form-inline .radio,
2012-02-11 03:24:06 -05:00
.form-inline .checkbox {
2012-02-20 21:56:05 -05:00
padding-left: 0;
2012-02-11 03:24:06 -05:00
margin-bottom: 0;
vertical-align: middle;
}
2012-02-20 21:56:05 -05:00
// Remove float and margin, set to inline-block
.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
float: left;
margin-right: 3px;
2012-04-16 19:34:08 -04:00
margin-left: 0;
2012-02-20 21:56:05 -05:00
}
2012-01-06 00:43:28 -05:00
2011-09-29 04:40:27 -04:00
// Margin to space out fieldsets
.control-group {
2012-01-23 15:21:00 -05:00
margin-bottom: @baseLineHeight / 2;
2011-05-03 21:09:25 -04:00
}
2011-09-28 22:15:31 -04:00
2012-02-09 15:27:42 -05:00
// Legend collapses margin, so next element is responsible for spacing
legend + .control-group {
margin-top: @baseLineHeight;
-webkit-margin-top-collapse: separate;
}
2011-09-29 04:40:27 -04:00
// Horizontal-specific styles
// --------------------------
2012-01-15 00:28:47 -05:00
.form-horizontal {
2012-01-23 16:46:26 -05:00
// Increase spacing between groups
2012-01-23 15:21:00 -05:00
.control-group {
margin-bottom: @baseLineHeight;
2012-01-28 00:20:58 -05:00
.clearfix();
2012-01-23 15:21:00 -05:00
}
2011-11-17 03:06:16 -05:00
// Float the labels left
2012-02-05 01:55:47 -05:00
.control-label {
2011-11-17 03:06:16 -05:00
float: left;
2012-08-28 13:12:04 -04:00
width: @horizontalComponentOffset - 20;
2011-11-17 03:06:16 -05:00
padding-top: 5px;
text-align: right;
}
// Move over all input controls and content
.controls {
2012-08-28 13:12:04 -04:00
margin-left: @horizontalComponentOffset;
2011-11-17 03:06:16 -05:00
}
2012-02-21 16:43:13 -05:00
// Remove bottom margin on block level help text since that's accounted for on .control-group
.help-block {
margin-bottom: 0;
}
2012-08-28 01:42:12 -04:00
// And apply it only to .help-block instances that follow a form control
input,
select,
2012-11-26 18:30:54 -05:00
textarea,
2012-11-30 02:39:33 -05:00
.uneditable-input,
.input-prepend,
.input-append {
2012-08-28 01:42:12 -04:00
+ .help-block {
margin-top: @baseLineHeight / 2;
}
}
2011-11-17 03:06:16 -05:00
// Move over buttons in .form-actions to align with .controls
.form-actions {
2012-08-28 13:12:04 -04:00
padding-left: @horizontalComponentOffset;
2011-11-17 03:06:16 -05:00
}
2011-09-29 04:40:27 -04:00
}