help-block margin-top should also apply after a span.uneditable-input

//
// Forms
// --------------------------------------------------

// GENERAL STYLES
// --------------

// Make all forms have space below them
form {
  margin: 0 0 @baseLineHeight;
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}

// Groups of fields with labels on top (legends)
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: @baseLineHeight;
  font-size: @baseFontSize * 1.5;
  line-height: @baseLineHeight * 2;
  color: @grayDark;
  border: 0;
  border-bottom: 1px solid #e5e5e5;

  // Small
  small {
    font-size: @baseLineHeight * .75;
    color: @grayLight;
  }
}

// Set font for forms
label,
input,
button,
select,
textarea {
  #font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here
}
input,
button,
select,
textarea {
  font-family: @baseFontFamily; // And only set font-family here for those that need it (note the missing label element)
}

// Identify controls by their labels
label {
  display: block;
  margin-bottom: 5px;
}

// Form controls
// -------------------------

// Shared size and type resets
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 {
  display: inline-block;
  height: @baseLineHeight;
  padding: 4px 6px;
  margin-bottom: @baseLineHeight / 2;
  font-size: @baseFontSize;
  line-height: @baseLineHeight;
  color: @gray;
  .border-radius(@inputBorderRadius);
  vertical-align: middle;
}

// 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,
textarea,
.uneditable-input {
  width: 206px; // plus 12px padding and 2px border
}
// Reset height since textareas have rows
textarea {
  height: auto;
}
// Everything else
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 {
  background-color: @inputBackground;
  border: 1px solid @inputBorder;
  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
  .transition(~"border linear .2s, box-shadow linear .2s");

  // Focus state
  &:focus {
    border-color: rgba(82,168,236,.8);
    outline: 0;
    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)");
  }
}

// Position radios and checkboxes better
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  *margin-top: 0; /* IE7 */
  margin-top: 1px \9; /* IE8-9 */
  line-height: normal;
}

// Reset width of input images, buttons, radios, checkboxes
input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
  width: auto; // Override of generic input selector
}

// Set the height of select and file controls to match text inputs
select,
input[type="file"] {
  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 */
  line-height: @inputHeight;
}

// Make select elements obey height by applying a border
select {
  width: 220px; // default input width + 10px of padding that doesn't get applied
  border: 1px solid @inputBorder;
  background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color
}

// Make multiple select elements height not fixed
select[multiple],
select[size] {
  height: auto;
}

// Focus for select, file, radio, and checkbox
select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  .tab-focus();
}

// 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
// -------------------------

// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector
input,
textarea {
  .placeholder();
}

// CHECKBOXES & RADIOS
// -------------------

// Indent the labels to position radios/checkboxes as hanging
.radio,
.checkbox {
  min-height: @baseLineHeight; // clear the floating input if there is no label text
  padding-left: 20px;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
  float: left;
  margin-left: -20px;
}

// Move the options list down to align with labels
.controls > .radio:first-child,
.controls > .checkbox:first-child {
  padding-top: 5px; // has to be padding because margin collaspes
}

// Radios and checkboxes on same line
// TODO v3: Convert .inline to .control-inline
.radio.inline,
.checkbox.inline {
  display: inline-block;
  padding-top: 5px;
  margin-bottom: 0;
  vertical-align: middle;
}
.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
  margin-left: 10px; // space out consecutive inline controls
}

// INPUT SIZES
// -----------

// General classes for quick sizes
.input-mini       { width: 60px; }
.input-small      { width: 90px; }
.input-medium     { width: 150px; }
.input-large      { width: 210px; }
.input-xlarge     { width: 270px; }
.input-xxlarge    { width: 530px; }

// Grid style input sizes
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"],
// Redeclare since the fluid row class is more specific
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"] {
  float: none;
  margin-left: 0;
}
// Ensure input-prepend/append never wraps
.input-append input[class*="span"],
.input-append .uneditable-input[class*="span"],
.input-prepend input[class*="span"],
.input-prepend .uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"],
.row-fluid .input-prepend [class*="span"],
.row-fluid .input-append [class*="span"] {
  display: inline-block;
}

// GRID SIZING FOR INPUTS
// ----------------------

// Grid sizes
#grid > .input(@gridColumnWidth, @gridGutterWidth);

// Control row for multiple inputs per line
.controls-row {
  .clearfix(); // Clear the float from controls
}

// 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;
}

// DISABLED STATE
// --------------

// Disabled and read-only inputs
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
  cursor: not-allowed;
  background-color: @inputDisabledBackground;
}
// Explicitly reset the colors here
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"][readonly],
input[type="checkbox"][readonly] {
  background-color: transparent;
}

// FORM FIELD FEEDBACK STATES
// --------------------------

// Warning
.control-group.warning {
  .formFieldState(@warningText, @warningText, @warningBackground);
}
// Error
.control-group.error {
  .formFieldState(@errorText, @errorText, @errorBackground);
}
// Success
.control-group.success {
  .formFieldState(@successText, @successText, @successBackground);
}
// Success
.control-group.info {
  .formFieldState(@infoText, @infoText, @infoBackground);
}

// HTML5 invalid states
// Shares styles with the .control-group.error above
input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
  color: #b94a48;
  border-color: #ee5f5b;
  &:focus {
    border-color: darken(#ee5f5b, 10%);
    @shadow: 0 0 6px lighten(#ee5f5b, 20%);
    .box-shadow(@shadow);
  }
}

// FORM ACTIONS
// ------------

.form-actions {
  padding: (@baseLineHeight - 1) 20px @baseLineHeight;
  margin-top: @baseLineHeight;
  margin-bottom: @baseLineHeight;
  background-color: @formActionsBackground;
  border-top: 1px solid #e5e5e5;
  .clearfix(); // Adding clearfix to allow for .pull-right button containers
}

// HELP TEXT
// ---------

.help-block,
.help-inline {
  color: lighten(@textColor, 15%); // lighten the text some for contrast
}

.help-block {
  display: block; // account for any element using help-block
  margin-bottom: @baseLineHeight / 2;
}

.help-inline {
  display: inline-block;
  .ie7-inline-block();
  vertical-align: middle;
  padding-left: 5px;
}

// INPUT GROUPS
// ------------

// Allow us to put symbols and text within the input field for a cleaner look
.input-append,
.input-prepend {
  margin-bottom: 5px;
  font-size: 0; // white space collapse hack
  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,
  select,
  .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
    margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
    *margin-left: 0;
    vertical-align: top;
    .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
    // Make input on top when focused so blue border and shadow always show
    &:focus {
      z-index: 2;
    }
  }
  .add-on {
    display: inline-block;
    width: auto;
    height: @baseLineHeight;
    min-width: 16px;
    padding: 4px 5px;
    font-size: @baseFontSize;
    font-weight: normal;
    line-height: @baseLineHeight;
    text-align: center;
    text-shadow: 0 1px 0 @white;
    background-color: @grayLighter;
    border: 1px solid #ccc;
  }
  .add-on,
  .btn,
  .btn-group > .dropdown-toggle {
    vertical-align: top;
    .border-radius(0);
  }
  .active {
    background-color: lighten(@green, 30);
    border-color: @green;
  }
}

.input-prepend {
  .add-on,
  .btn {
    margin-right: -1px;
  }
  .add-on:first-child,
  .btn:first-child {
    // FYI, `.btn:first-child` accounts for a button group that's prepended
    .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
  }
}

.input-append {
  input,
  select,
  .uneditable-input {
    .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
    + .btn-group .btn:last-child {
      .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
    }
  }
  .add-on,
  .btn,
  .btn-group {
    margin-left: -1px;
  }
  .add-on:last-child,
  .btn:last-child,
  .btn-group:last-child > .dropdown-toggle {
    .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
  }
}

// Remove all border-radius for inputs with both prepend and append
.input-prepend.input-append {
  input,
  select,
  .uneditable-input {
    .border-radius(0);
    + .btn-group .btn {
      .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
    }
  }
  .add-on:first-child,
  .btn:first-child {
    margin-right: -1px;
    .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
  }
  .add-on:last-child,
  .btn:last-child {
    margin-left: -1px;
    .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
  }
  .btn-group:first-child {
    margin-left: 0;
  }
}

// SEARCH FORM
// -----------

input.search-query {
  padding-right: 14px;
  padding-right: 4px \9;
  padding-left: 14px;
  padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
  margin-bottom: 0; // Remove the default margin on all inputs
  .border-radius(15px);
}

/* Allow for input prepend/append in search forms */
.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
  .border-radius(0); // Override due to specificity
}
.form-search .input-append .search-query {
  .border-radius(14px 0 0 14px);
}
.form-search .input-append .btn {
  .border-radius(0 14px 14px 0);
}
.form-search .input-prepend .search-query {
  .border-radius(0 14px 14px 0);
}
.form-search .input-prepend .btn {
  .border-radius(14px 0 0 14px);
}

// HORIZONTAL & VERTICAL FORMS
// ---------------------------

// Common properties
// -----------------

.form-search,
.form-inline,
.form-horizontal {
  input,
  textarea,
  select,
  .help-inline,
  .uneditable-input,
  .input-prepend,
  .input-append {
    display: inline-block;
    .ie7-inline-block();
    margin-bottom: 0;
    vertical-align: middle;
  }
  // Re-hide hidden elements due to specifity
  .hide {
    display: none;
  }
}
.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
  display: inline-block;
}
// 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;
}
// Inline checkbox/radio labels (remove padding on left)
.form-search .radio,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox {
  padding-left: 0;
  margin-bottom: 0;
  vertical-align: middle;
}
// 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;
  margin-left: 0;
}

// Margin to space out fieldsets
.control-group {
  margin-bottom: @baseLineHeight / 2;
}

// Legend collapses margin, so next element is responsible for spacing
legend + .control-group {
  margin-top: @baseLineHeight;
  -webkit-margin-top-collapse: separate;
}

// Horizontal-specific styles
// --------------------------

.form-horizontal {
  // Increase spacing between groups
  .control-group {
    margin-bottom: @baseLineHeight;
    .clearfix();
  }
  // Float the labels left
  .control-label {
    float: left;
    width: @horizontalComponentOffset - 20;
    padding-top: 5px;
    text-align: right;
  }
  // Move over all input controls and content
  .controls {
    // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
    // don't inherit the margin of the parent, in this case .controls
    *display: inline-block;
    *padding-left: 20px;
    margin-left: @horizontalComponentOffset;
    *margin-left: 0;
    &:first-child {
      *padding-left: @horizontalComponentOffset;
    }
  }
  // Remove bottom margin on block level help text since that's accounted for on .control-group
  .help-block {
    margin-bottom: 0;
  }
  // And apply it only to .help-block instances that follow a form control
  input,
  select,
  textarea,
  span.uneditable-input {
    + .help-block {
      margin-top: @baseLineHeight / 2;
    }
  }
  // Move over buttons in .form-actions to align with .controls
  .form-actions {
    padding-left: @horizontalComponentOffset;
  }
}

//
// Forms
// --------------------------------------------------

// GENERAL STYLES
// --------------

// Make all forms have space below them
form {
  margin: 0 0 @baseLineHeight;
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}

// Groups of fields with labels on top (legends)
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: @baseLineHeight;
  font-size: @baseFontSize * 1.5;
  line-height: @baseLineHeight * 2;
  color: @grayDark;
  border: 0;
  border-bottom: 1px solid #e5e5e5;

  // Small
  small {
    font-size: @baseLineHeight * .75;
    color: @grayLight;
  }
}

// Set font for forms
label,
input,
button,
select,
textarea {
  #font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here
}
input,
button,
select,
textarea {
  font-family: @baseFontFamily; // And only set font-family here for those that need it (note the missing label element)
}

// Identify controls by their labels
label {
  display: block;
  margin-bottom: 5px;
}

// Form controls
// -------------------------

// Shared size and type resets
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 {
  display: inline-block;
  height: @baseLineHeight;
  padding: 4px 6px;
  margin-bottom: @baseLineHeight / 2;
  font-size: @baseFontSize;
  line-height: @baseLineHeight;
  color: @gray;
  .border-radius(@inputBorderRadius);
  vertical-align: middle;
}

// 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,
textarea,
.uneditable-input {
  width: 206px; // plus 12px padding and 2px border
}
// Reset height since textareas have rows
textarea {
  height: auto;
}
// Everything else
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 {
  background-color: @inputBackground;
  border: 1px solid @inputBorder;
  .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
  .transition(~"border linear .2s, box-shadow linear .2s");

  // Focus state
  &:focus {
    border-color: rgba(82,168,236,.8);
    outline: 0;
    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)");
  }
}

// Position radios and checkboxes better
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  *margin-top: 0; /* IE7 */
  margin-top: 1px \9; /* IE8-9 */
  line-height: normal;
}

// Reset width of input images, buttons, radios, checkboxes
input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
  width: auto; // Override of generic input selector
}

// Set the height of select and file controls to match text inputs
select,
input[type="file"] {
  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 */
  line-height: @inputHeight;
}

// Make select elements obey height by applying a border
select {
  width: 220px; // default input width + 10px of padding that doesn't get applied
  border: 1px solid @inputBorder;
  background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color
}

// Make multiple select elements height not fixed
select[multiple],
select[size] {
  height: auto;
}

// Focus for select, file, radio, and checkbox
select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  .tab-focus();
}

// 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
// -------------------------

// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector
input,
textarea {
  .placeholder();
}

// CHECKBOXES & RADIOS
// -------------------

// Indent the labels to position radios/checkboxes as hanging
.radio,
.checkbox {
  min-height: @baseLineHeight; // clear the floating input if there is no label text
  padding-left: 20px;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
  float: left;
  margin-left: -20px;
}

// Move the options list down to align with labels
.controls > .radio:first-child,
.controls > .checkbox:first-child {
  padding-top: 5px; // has to be padding because margin collaspes
}

// Radios and checkboxes on same line
// TODO v3: Convert .inline to .control-inline
.radio.inline,
.checkbox.inline {
  display: inline-block;
  padding-top: 5px;
  margin-bottom: 0;
  vertical-align: middle;
}
.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
  margin-left: 10px; // space out consecutive inline controls
}

// INPUT SIZES
// -----------

// General classes for quick sizes
.input-mini       { width: 60px; }
.input-small      { width: 90px; }
.input-medium     { width: 150px; }
.input-large      { width: 210px; }
.input-xlarge     { width: 270px; }
.input-xxlarge    { width: 530px; }

// Grid style input sizes
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"],
// Redeclare since the fluid row class is more specific
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"] {
  float: none;
  margin-left: 0;
}
// Ensure input-prepend/append never wraps
.input-append input[class*="span"],
.input-append .uneditable-input[class*="span"],
.input-prepend input[class*="span"],
.input-prepend .uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"],
.row-fluid .input-prepend [class*="span"],
.row-fluid .input-append [class*="span"] {
  display: inline-block;
}

// GRID SIZING FOR INPUTS
// ----------------------

// Grid sizes
#grid > .input(@gridColumnWidth, @gridGutterWidth);

// Control row for multiple inputs per line
.controls-row {
  .clearfix(); // Clear the float from controls
}

// 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;
}

// DISABLED STATE
// --------------

// Disabled and read-only inputs
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
  cursor: not-allowed;
  background-color: @inputDisabledBackground;
}
// Explicitly reset the colors here
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"][readonly],
input[type="checkbox"][readonly] {
  background-color: transparent;
}

// FORM FIELD FEEDBACK STATES
// --------------------------

// Warning
.control-group.warning {
  .formFieldState(@warningText, @warningText, @warningBackground);
}
// Error
.control-group.error {
  .formFieldState(@errorText, @errorText, @errorBackground);
}
// Success
.control-group.success {
  .formFieldState(@successText, @successText, @successBackground);
}
// Success
.control-group.info {
  .formFieldState(@infoText, @infoText, @infoBackground);
}

// HTML5 invalid states
// Shares styles with the .control-group.error above
input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
  color: #b94a48;
  border-color: #ee5f5b;
  &:focus {
    border-color: darken(#ee5f5b, 10%);
    @shadow: 0 0 6px lighten(#ee5f5b, 20%);
    .box-shadow(@shadow);
  }
}

// FORM ACTIONS
// ------------

.form-actions {
  padding: (@baseLineHeight - 1) 20px @baseLineHeight;
  margin-top: @baseLineHeight;
  margin-bottom: @baseLineHeight;
  background-color: @formActionsBackground;
  border-top: 1px solid #e5e5e5;
  .clearfix(); // Adding clearfix to allow for .pull-right button containers
}

// HELP TEXT
// ---------

.help-block,
.help-inline {
  color: lighten(@textColor, 15%); // lighten the text some for contrast
}

.help-block {
  display: block; // account for any element using help-block
  margin-bottom: @baseLineHeight / 2;
}

.help-inline {
  display: inline-block;
  .ie7-inline-block();
  vertical-align: middle;
  padding-left: 5px;
}

// INPUT GROUPS
// ------------

// Allow us to put symbols and text within the input field for a cleaner look
.input-append,
.input-prepend {
  margin-bottom: 5px;
  font-size: 0; // white space collapse hack
  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,
  select,
  .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
    margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
    *margin-left: 0;
    vertical-align: top;
    .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
    // Make input on top when focused so blue border and shadow always show
    &:focus {
      z-index: 2;
    }
  }
  .add-on {
    display: inline-block;
    width: auto;
    height: @baseLineHeight;
    min-width: 16px;
    padding: 4px 5px;
    font-size: @baseFontSize;
    font-weight: normal;
    line-height: @baseLineHeight;
    text-align: center;
    text-shadow: 0 1px 0 @white;
    background-color: @grayLighter;
    border: 1px solid #ccc;
  }
  .add-on,
  .btn,
  .btn-group > .dropdown-toggle {
    vertical-align: top;
    .border-radius(0);
  }
  .active {
    background-color: lighten(@green, 30);
    border-color: @green;
  }
}

.input-prepend {
  .add-on,
  .btn {
    margin-right: -1px;
  }
  .add-on:first-child,
  .btn:first-child {
    // FYI, `.btn:first-child` accounts for a button group that's prepended
    .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
  }
}

.input-append {
  input,
  select,
  .uneditable-input {
    .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
    + .btn-group .btn:last-child {
      .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
    }
  }
  .add-on,
  .btn,
  .btn-group {
    margin-left: -1px;
  }
  .add-on:last-child,
  .btn:last-child,
  .btn-group:last-child > .dropdown-toggle {
    .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
  }
}

// Remove all border-radius for inputs with both prepend and append
.input-prepend.input-append {
  input,
  select,
  .uneditable-input {
    .border-radius(0);
    + .btn-group .btn {
      .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
    }
  }
  .add-on:first-child,
  .btn:first-child {
    margin-right: -1px;
    .border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
  }
  .add-on:last-child,
  .btn:last-child {
    margin-left: -1px;
    .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
  }
  .btn-group:first-child {
    margin-left: 0;
  }
}

// SEARCH FORM
// -----------

input.search-query {
  padding-right: 14px;
  padding-right: 4px \9;
  padding-left: 14px;
  padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
  margin-bottom: 0; // Remove the default margin on all inputs
  .border-radius(15px);
}

/* Allow for input prepend/append in search forms */
.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
  .border-radius(0); // Override due to specificity
}
.form-search .input-append .search-query {
  .border-radius(14px 0 0 14px);
}
.form-search .input-append .btn {
  .border-radius(0 14px 14px 0);
}
.form-search .input-prepend .search-query {
  .border-radius(0 14px 14px 0);
}
.form-search .input-prepend .btn {
  .border-radius(14px 0 0 14px);
}

// HORIZONTAL & VERTICAL FORMS
// ---------------------------

// Common properties
// -----------------

.form-search,
.form-inline,
.form-horizontal {
  input,
  textarea,
  select,
  .help-inline,
  .uneditable-input,
  .input-prepend,
  .input-append {
    display: inline-block;
    .ie7-inline-block();
    margin-bottom: 0;
    vertical-align: middle;
  }
  // Re-hide hidden elements due to specifity
  .hide {
    display: none;
  }
}
.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
  display: inline-block;
}
// 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;
}
// Inline checkbox/radio labels (remove padding on left)
.form-search .radio,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox {
  padding-left: 0;
  margin-bottom: 0;
  vertical-align: middle;
}
// 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;
  margin-left: 0;
}

// Margin to space out fieldsets
.control-group {
  margin-bottom: @baseLineHeight / 2;
}

// Legend collapses margin, so next element is responsible for spacing
legend + .control-group {
  margin-top: @baseLineHeight;
  -webkit-margin-top-collapse: separate;
}

// Horizontal-specific styles
// --------------------------

.form-horizontal {
  // Increase spacing between groups
  .control-group {
    margin-bottom: @baseLineHeight;
    .clearfix();
  }
  // Float the labels left
  .control-label {
    float: left;
    width: @horizontalComponentOffset - 20;
    padding-top: 5px;
    text-align: right;
  }
  // Move over all input controls and content
  .controls {
    // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
    // don't inherit the margin of the parent, in this case .controls
    *display: inline-block;
    *padding-left: 20px;
    margin-left: @horizontalComponentOffset;
    *margin-left: 0;
    &:first-child {
      *padding-left: @horizontalComponentOffset;
    }
  }
  // Remove bottom margin on block level help text since that's accounted for on .control-group
  .help-block {
    margin-bottom: 0;
  }
  // And apply it only to .help-block instances that follow a form control
  input,
  select,
  textarea,
  span.input {
    + .help-block {
      margin-top: @baseLineHeight / 2;
    }
  }
  // Move over buttons in .form-actions to align with .controls
  .form-actions {
    padding-left: @horizontalComponentOffset;
  }
}


editor font changed like follows: 14px font size, monospace family

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/dedalozzo/pit-bootstrap.git/'


remove responsive styles

remove responsive styles

/*!
 * Bootstrap v2.0.4
 *
 * Copyright 2012 Twitter, Inc
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Designed and built with all the love in the world @twitter by @mdo and @fat.
 */

// CSS Reset
@import "bootstrap/reset.less";

// Core variables and mixins
@import "variables.less"; // Modify this for custom colors, font-sizes, etc
@import "bootstrap/mixins.less";

// Grid system and page structure
@import "bootstrap/scaffolding.less";
@import "bootstrap/grid.less";
@import "bootstrap/layouts.less";

// Base CSS
@import "bootstrap/type.less";
@import "bootstrap/code.less";
@import "bootstrap/forms.less";
@import "bootstrap/tables.less";

// Components: common
@import "bootstrap/sprites.less";
@import "bootstrap/dropdowns.less";
@import "bootstrap/wells.less";
@import "bootstrap/component-animations.less";
@import "bootstrap/close.less";

// Components: Buttons & Alerts
@import "bootstrap/buttons.less";
@import "bootstrap/button-groups.less";
@import "bootstrap/alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less

// Components: Nav
@import "bootstrap/navs.less";
@import "bootstrap/navbar.less";
@import "bootstrap/breadcrumbs.less";
@import "bootstrap/pagination.less";
@import "bootstrap/pager.less";

// Components: Popovers
@import "bootstrap/modals.less";
@import "bootstrap/tooltip.less";
@import "bootstrap/popovers.less";

// Components: Misc
@import "bootstrap/thumbnails.less";
@import "bootstrap/labels-badges.less";
@import "bootstrap/progress-bars.less";
@import "bootstrap/accordion.less";
@import "bootstrap/carousel.less";
@import "bootstrap/hero-unit.less";

// Utility classes
@import "bootstrap/utilities.less"; // Has to be last to override when necessary

// // RESPONSIVE CLASSES
// // ------------------

// @import "bootstrap/responsive-utilities.less";

// // MEDIA QUERIES
// // ------------------

// // Phones to portrait tablets and narrow desktops
// @import "bootstrap/responsive-767px-max.less";

// // Tablets to regular desktops
// @import "bootstrap/responsive-768px-979px.less";

// // Large desktops
// @import "bootstrap/responsive-1200px-min.less";

// // RESPONSIVE NAVBAR
// // ------------------

// // From 979px and below, show a button to toggle navbar contents
// @import "bootstrap/responsive-navbar.less";

// Bootswatch
@import "bootswatch.less";

@import "custom.less";

/*!
 * Bootstrap v2.0.4
 *
 * Copyright 2012 Twitter, Inc
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Designed and built with all the love in the world @twitter by @mdo and @fat.
 */

// CSS Reset
@import "bootstrap/reset.less";

// Core variables and mixins
@import "variables.less"; // Modify this for custom colors, font-sizes, etc
@import "bootstrap/mixins.less";

// Grid system and page structure
@import "bootstrap/scaffolding.less";
@import "bootstrap/grid.less";
@import "bootstrap/layouts.less";

// Base CSS
@import "bootstrap/type.less";
@import "bootstrap/code.less";
@import "bootstrap/forms.less";
@import "bootstrap/tables.less";

// Components: common
@import "bootstrap/sprites.less";
@import "bootstrap/dropdowns.less";
@import "bootstrap/wells.less";
@import "bootstrap/component-animations.less";
@import "bootstrap/close.less";

// Components: Buttons & Alerts
@import "bootstrap/buttons.less";
@import "bootstrap/button-groups.less";
@import "bootstrap/alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less

// Components: Nav
@import "bootstrap/navs.less";
@import "bootstrap/navbar.less";
@import "bootstrap/breadcrumbs.less";
@import "bootstrap/pagination.less";
@import "bootstrap/pager.less";

// Components: Popovers
@import "bootstrap/modals.less";
@import "bootstrap/tooltip.less";
@import "bootstrap/popovers.less";

// Components: Misc
@import "bootstrap/thumbnails.less";
@import "bootstrap/labels-badges.less";
@import "bootstrap/progress-bars.less";
@import "bootstrap/accordion.less";
@import "bootstrap/carousel.less";
@import "bootstrap/hero-unit.less";

// Utility classes
@import "bootstrap/utilities.less"; // Has to be last to override when necessary

// RESPONSIVE CLASSES
// ------------------

@import "bootstrap/responsive-utilities.less";

// MEDIA QUERIES
// ------------------

// Phones to portrait tablets and narrow desktops
@import "bootstrap/responsive-767px-max.less";

// Tablets to regular desktops
@import "bootstrap/responsive-768px-979px.less";

// Large desktops
@import "bootstrap/responsive-1200px-min.less";

// RESPONSIVE NAVBAR
// ------------------

// From 979px and below, show a button to toggle navbar contents
@import "bootstrap/responsive-navbar.less";

// Bootswatch
@import "bootswatch.less";

@import "custom.less";


changed timing on contact drawer

changed timing on contact drawer

fatal: unable to access 'https://github.com/himanshuawasthi/dell-ui-components.git/': The requested URL returned error: 403


renamed grid-first to row-first

renamed grid-first to row-first

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/aoimedia/uikit.git/'


Make sure item modal product matrix option buttons have the right text colour

fatal: unable to access 'https://github.com/hevnly/asset-bazaar.git/': The requested URL returned error: 403


Add adhesion styles

Add adhesion styles

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/robojukie/app-template.git/'


课程里列表

课程里列表

fatal: unable to access 'https://github.com/XUEJS/xue-project.git/': The requested URL returned error: 403


Added a global stylesheet.

Added a global stylesheet.

/*
 * Copyright 2016 Johannes Donath <johannesd@torchmind.com>
 * and other copyright owners as documented in the project's IP log.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * 	http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * Window Layout
 */
.window {
        -fx-background-color: #1e1e1e;
        -fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.6) , 8, 0.0, 0, 0);

        > .title-bar,
        > .content {
                -fx-padding: 8px 12px;
        }

        > .title-bar {
                -fx-spacing: 8px;
                -fx-background-color: rgba(0, 0, 0, 0.2);
                -fx-border-width: 0 0 1px 0;
                -fx-border-color: rgba(0, 0, 0, 0.21);
                -fx-border-style: solid;

                > .actions {
                        -fx-spacing: 3px;
                }
        }
}

/**
 * Element Styles
 */
Button,
ComboBox .list-cell,
Label,
NumberField,
TextField {
        -fx-text-fill: white;
}

Button,
ComboBox,
ListView,
NumberField,
TextField {
        -fx-background-color: rgba(0, 0, 0, 0.5);
}

Button {
        &:hover {
                -fx-background-color: rgba(10, 10, 10, 0.8);
        }

        &:pressed {
                -fx-background-color: rgba(20, 20, 20, 0.8);
        }
}

ComboBox .list-view {
        -fx-background-color: #2f2f2f;
        -fx-border-color: #292929;
        -fx-border-width: 1px;
        -fx-border-style: solid;

        .list-cell {
                -fx-background-color: transparent;
                -fx-text-fill: white;

                &:hover {
                        -fx-background-color: rgba(255, 255, 255, 0.1);
                }
        }
}

ListView .list-cell {
        -fx-background-color: transparent;
}

ListView .list-cell:odd {
        -fx-background-color: rgba(0, 0, 0, 0.1);
}

ListView .list-cell:hover {
        -fx-background-color: rgba(0, 0, 0, 0.2);
}

ListView .list-cell:selected {
        -fx-background-color: rgba(0, 0, 0, 0.4);
}

TextField:error,
NumberField:error,
ComboBox:error {
        -fx-background-color: rgba(130, 0, 0, 0.5);
}

error: pathspec 'src/main/less/global.less' did not match any file(s) known to git


Update static/vendors/bootstrap/less/close.less

Signed-off-by: Bernard Ojengwa <fccb4cc00c1ba7e51bf5c2b5f77130b9fe8d917e@gmail.com>

//
// Close icons
// --------------------------------------------------

.close {
  float: right;
  font-size: (@font-size-base * 1.5);
  font-weight: @close-font-weight;
  line-height: 1;
  color: @close-color;
  text-shadow: @close-text-shadow;
  .opacity(.2);

  &:hover,
  &:focus {
    color: @close-color;
    text-decoration: none;
    cursor: pointer;
    .opacity(.5);
  }

  // Additional properties for button version
  // iOS requires the button element instead of an anchor tag.
  // If you want the anchor version, it requires `href="#"`.
  // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
  button& {
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
  }
}

error: pathspec 'static/vendors/bootstrap/less/close.less' did not match any file(s) known to git


hide widget tools in shared view

hide widget tools in shared view

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/leonidas/qa-dashboard.git/'


more fixing for widget header layout

more fixing for widget header layout

fatal: unable to access 'https://github.com/leonidas/qa-dashboard.git/': The requested URL returned error: 403


Hiding .EXLMoreTab

Hiding .EXLMoreTab

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Det-Kongelige-Bibliotek/rex.git/'


Adds comment for .custom-select.

Adds comment for .custom-select.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/jimmynotjim/cfgov-refresh.git/'


build(less) build less using dependencies rather than concatenation

it sucks you can't just wildcard everything, but i think it's overall better

@import '../../core/core';

.vui-list {
	padding: 0px;
	list-style: none outside none;
}

.vui-list > li {
	padding: 7px 10px;
	border-width: 0;
	border-bottom: 1px solid @itemSeparatorColor;
	list-style: none outside none;
}

.vui-list.vui-compact > li {
	padding-top: 0;
	padding-bottom: 0;
}

.vui-list > .vui-checkbox,
.vui-list > .vui-radio {
	margin: 0;
	padding-left: 30px;
}

.vui-list > .vui-selected {
	background-color: @itemSelectedBackgroundColor;
	border-bottom-color: @itemSelectedSeparatorColor;
}

.vui-list > .vui-active {
	background-color: @itemHoverBackgroundColor;
}

.vui-list > .vui-selected.vui-active {
	background-color: @itemSelectedHoverBackgroundColor;
}

.vui-list > li:last-child {
	border-bottom: 1px solid transparent;
}

.vui-list.vui-no-separator > li {
	border-bottom: 1px solid transparent;
}

[dir='rtl'] .vui-list > .vui-checkbox,
[dir='rtl'] .vui-list > .vui-radio {
	padding-left: 10px;
	padding-right: 30px;
}

@import '../../less/valenceui.less';

.vui-list {
	padding: 0px;
	list-style: none outside none;
}

.vui-list > li {
	padding: 7px 10px;
	border-width: 0;
	border-bottom: 1px solid @itemSeparatorColor;
	list-style: none outside none;
}

.vui-list.vui-compact > li {
	padding-top: 0;
	padding-bottom: 0;
}

.vui-list > .vui-checkbox,
.vui-list > .vui-radio {
	margin: 0;
	padding-left: 30px;
}

.vui-list > .vui-selected {
	background-color: @itemSelectedBackgroundColor;
	border-bottom-color: @itemSelectedSeparatorColor;
}

.vui-list > .vui-active {
	background-color: @itemHoverBackgroundColor;
}

.vui-list > .vui-selected.vui-active {
	background-color: @itemSelectedHoverBackgroundColor;
}

.vui-list > li:last-child {
	border-bottom: 1px solid transparent;
}

.vui-list.vui-no-separator > li {
	border-bottom: 1px solid transparent;
}

[dir='rtl'] .vui-list > .vui-checkbox,
[dir='rtl'] .vui-list > .vui-radio {
	padding-left: 10px;
	padding-right: 30px;
}


weightwatchers for search.less

weightwatchers for search.less

@import 'lib';

.no-results {
    font-size: 24px;
    font-weight: bold;
    opacity: .5;
    padding: 20px;
    text-align: center;
}

.vitals {
    font-size: 11px;
    span {
        display: inline-block;
        + .vital, + .rating {
            &:before {
                color: @note-gray;
                content: "\00B7";
            }
        }
    }
    .downloads,
    .price {
        color: @green;
    }
    .price {
        background: fadeOut(@green, 40%);
        color: fadeOut(@white, 5%);
        height: 16px;
        font-weight: bold;
        margin: 0 2px 0 8px;
        padding: 0 4px 0 3px;
        position: relative;
        &:after {
            border: 8px solid transparent;
            border-right-color: fadeOut(@green, 40%);
            content: "\00b0";  /* degree sign */
            color: fadeOut(@white, 60%);
            font-size: 8px;
            line-height: 3px;
            margin: 0 4px 0 -16px;
            position: absolute;
            text-indent: 5px;
            top: 0;
            left: 0;
            height: 0;
            width: 0;
        }
    }
}

#search-results {
    .width(10);
}

.selected > a {
    color: @orange;
}

@media (max-width: @7col) {
    #search-results {
        float: none;
        .width(7);
    }
}

// Move this to lib.less if it's needed elsewhere.
@subtext: #74828d;

@media (max-width: @4col) {
    #breadcrumbs {
        display: none;
    }
    #search-results {
        .width(4);
    }
    #page {
        #search-results {
            width: 100%;
        }
    }
    #page #search-facets {
        width: 100%;
    }
}

@media (max-width: @3col) {
    #search-results, #search-facets {
        .width(3);
    }
}

@import 'lib';

#subscribe,
#sorter,
#sorter ul {
    line-height: 18px;
}

#sorter {
    margin: 10px 0 15px;
    ul {
        padding: 0;
        list-style: none;
    }
    h3, > ul, form {
        color: @note-gray;
        float: left;
        margin: 0;
    }
    h3, ul {
        font-size: 11px;
    }
    li {
        margin: 0;
        &.selected a {
            color: @orange;
            font-weight: bold;
            pointer-events: none;
            text-decoration: none;
        }
    }
    > ul > li {
        float: left;
        position: relative;
        > a {
            border-right: 1px solid @light-gray;
            padding: 0 6px;
        }
        &:last-child:not(.extras) a {
            border-right: none;
        }
    }
}

.html-rtl #sorter {
    h3, ul, form {
        float: right;
    }
    > ul > li {
        float: right;
        > a {
            border: none;
            border-left: 1px solid @light-gray;
        }
        &:last-child:not(.extras) a {
            border-left: none;
        }
    }
}

.no-results {
    font-size: 24px;
    font-weight: bold;
    opacity: .5;
    padding: 20px;
    text-align: center;
}

.vitals {
    font-size: 11px;
    span {
        display: inline-block;
        + .vital, + .rating {
            &:before {
                color: @note-gray;
                content: "\00B7";
            }
        }
    }
    .downloads,
    .price {
        color: @green;
    }
    .price {
        background: fadeOut(@green, 40%);
        color: fadeOut(@white, 5%);
        height: 16px;
        font-weight: bold;
        margin: 0 2px 0 8px;
        padding: 0 4px 0 3px;
        position: relative;
        &:after {
            border: 8px solid transparent;
            border-right-color: fadeOut(@green, 40%);
            content: "\00b0";  /* degree sign */
            color: fadeOut(@white, 60%);
            font-size: 8px;
            line-height: 3px;
            margin: 0 4px 0 -16px;
            position: absolute;
            text-indent: 5px;
            top: 0;
            left: 0;
            height: 0;
            width: 0;
        }
    }
}

#search-results {
    .width(10);
}
#search-facets {
    .width(4);
}

.selected > a {
    color: @orange;
}

.applied-filters {
    font-size: 12px;
    line-height: 14px;
    h2 {
        color: @medium-gray;
        float: left;
        font-size: 12px;
        padding: 2px 0;
    }
    li {
        display: inline-block;
        font-size: 10px;
        margin-left: 8px;
        a {
            .border-radius(5px);
            background-color: @white;
            border: 1px solid @medium-gray;
            display: block;
            padding: 2px 8px;
            position: relative;
            &:after {
                .border-radius(10px);
                background-color: @medium-gray;
                color: @white;
                content: "\00d7";  /* times sign */
                display: block;
                font-size: 11px;
                height: 12px;
                line-height: 10px;
                position: absolute;
                right: -6px;
                top: -3px;
                text-align: center;
                width: 12px;
            }
        }
    }
}

.html-rtl .applied-filters {
    h2 {
        float: right;
        margin-left: 3px;
    }
    li {
        margin: 0 8px 0 0;
    }
}

#search-facets {
    ul {
        list-style: none;
        margin: 0;
    }
    h2, h3, p {
        font-size: 15px;
    }
    h3, p {
        color: @medium-gray;
    }
    h2, .facets {
        margin-bottom: 8px;
    }
    h2 {
        line-height: 50px;
        margin-bottom: 10px;
        min-height: 29px;
        padding: 0;
        text-transform: inherit;
    }
    h3 {
        font-size: 14px;
        margin-bottom: 4px;
    }
    p {
        font-size: 14px;
        padding: 0 11px;
        text-align: center;
        b {
            font-weight: none;
        }
    }
    li {
        border: 0;
        a {
            line-height: 16px;
            margin-top: 2px;
            padding: 0;
        }
        ul {
            padding-left: 12px;
        }
    }
    .facets {
        .border-box;
        .border-radius(5px);
        background: @faint-gray;
        border: 1px solid rgba(200,200,200,.7);
        padding: 0;
        width: 100%;
        .facet {
            .transition(~'background .2s ease-in-out');
            .gradient-two-color(rgb(247,247,247,.7), rgba(238,238,238,.7));
            border-bottom: 1px solid @light-gray;
            border-top: 1px solid @white;
            position: relative;
            padding: 10px;
            &:after {
                color: @light-gray;
                content: "\0BB";
                font: normal 17px/14px @open-stack;
                position: absolute;
                right: 10px;
                top: 10px;
            }
            &:first-child {
                border-top: none;
                .border-radius(5px 5px 0 0);
            }
            &:last-child {
                .border-radius(0 0 5px 5px);
            }
            &:hover {
                background: rgba(255,255,255,.7);
            }
            &.active {
                background: @white;
            }
            &:hover {
                cursor: pointer;
                &:after {
                    color: @medium-gray;
                }
                li a {
                    pointer-events: none;
                }
            }
            > ul {
                > li.selected:first-child a {
                    color: @link;
                }
            }
            li {
                a {
                    display: none;
                    &:hover {
                        background: inherit;
                        text-decoration: underline;
                    }
                }
                &.selected {
                    > a {
                        font-weight: bold;
                        color: @orange;
                        display: block;
                        &:hover {
                            text-decoration: none;
                        }
                    }
                }
            }
            &.active {
                &:after {
                    .transform(rotate(90deg));
                    color: @gray;
                }
                li a {
                    display: block;
                }
                &:hover li a {
                    pointer-events: auto;
                }
                ul + ul {
                    margin-top: 1em;
                }
            }
        }
    }
}

.html-rtl {
    #search-facets {
        li ul {
            padding: 0 12px 0 0;
        }
        .facets .facet {
            &:after {
                right: auto;
                left: 10px;
            }
            &.active:after {
                .transform(rotate(-90deg));
            }
        }
    }
}

@media (max-width: @7col) {
    #search-results, #search-facets {
        float: none;
        .width(7);
    }
    #search-facets {
        padding-right: 0;
    }
}

// Move this to lib.less if it's needed elsewhere.
@subtext: #74828d;

@media (max-width: @4col) {
    #breadcrumbs {
        display: none;
    }
    #search-results, #search-facets {
        .width(4);
    }
    #search-facets {
        > p {
            font-size: 12px;
            margin: 4px 0;
        }
        li {
            font-size: 12px;
            text-align: center;
            ul {
                padding-left: 0;
            }
        }
        h2 {
            display: none;
        }
        .facets {
            .facet {
                padding: 5px 6px 6px;
                li a, li a:hover {
                    padding: 3px 0;
                    .border-radius(5px);
                    background-color: #eee;
                }
                .selected a, .selected a:hover {
                    background-color: transparent;
                }
            }
        }
        .cnt {
            display: none;
        }
    }
    #page {
        #search-results {
            width: 100%;
            h1 {
                font-size: 15px;
            }
            #sorter {
                h3 {
                    color: @dark-gray;
                }
                li {
                    a {
                        border-right: 0;
                    }
                }
            }
        }
    }
    #page #search-facets {
        width: 100%;
    }
}

@media (max-width: @3col) {
    #search-results, #search-facets {
        .width(3);
    }
}


Make sure whackamole button text is the right colour

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/hevnly/asset-bazaar.git/'


Fixed width calculation of table cells

Fixed width calculation of table cells

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/MenesesEvandro/WCF.git/'


bug fix: li a.btn-link {         margin-left: 10px;     }

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/DellGDC/dell-ui-components.git/'


edit wrap

edit wrap

fixing wrap values from inline-block to block and min width to max witdh for improving fucks shit dick

fatal: unable to access 'https://github.com/koderhtml/html5-css3-starting-template.git/': The requested URL returned error: 403


that wasn't in my status bar before D:

that wasn't in my status bar before D:

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/demhydraz/til.git/'


modif mixin

modif mixin

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/solid-js/solidify.git/'


Accidentally css

Accidentally css

/**
 *    Copyright 2015-2017 ppy Pty. Ltd.
 *
 *    This file is part of osu!web. osu!web is distributed with the hope of
 *    attracting more community contributions to the core ecosystem of osu!.
 *
 *    osu!web is free software: you can redistribute it and/or modify
 *    it under the terms of the Affero GNU General Public License version 3
 *    as published by the Free Software Foundation.
 *
 *    osu!web is distributed WITHOUT ANY WARRANTY; without even the implied
 *    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *    See the GNU Affero General Public License for more details.
 *
 *    You should have received a copy of the GNU Affero General Public License
 *    along with osu!web.  If not, see <http://www.gnu.org/licenses/>.
 */

.osu-page {
  .width(@extra-margin: 0px) {
    width: calc(100% ~'-' (@extra-margin * 2));
    max-width: (@container-sm - @extra-margin * 2);
  }

  .width-desktop(@extra-margin: 0px) {
    width: calc(100% ~'-' ((@extra-margin + @grid-gutter-width) * 2));
    max-width: (@container-sm - @extra-margin * 2);
  }

  align-self: center;
  margin-left: auto;
  margin-right: auto;
  flex: none;

  .width();
  @media @desktop {
    .width-desktop();
  }

  &--account-edit-header {
    .default-box-shadow();
  }

  &--beatmapsets-search-header {
    .default-box-shadow();
    margin-bottom: 10px;
  }

  &--comments {
    .default-box-shadow();
    background-color: #fff;
    padding: 10px 20px;
  }

  &--contest {
    @media @desktop {
      .width-desktop(20px);
      margin-bottom: 10px;
    }
  }

  &--contests {
    @media @desktop {
      margin-bottom: 10px;
    }
  }

  &--forum-pippi {
    margin-bottom: 10px;
  }

  &--full {
    flex: 1 0 auto;
  }

  &--generic {
    .default-box-shadow();
    background-color: #fff;
    padding: 20px;
    margin-bottom: 10px;
  }

  &--header {
    .default-box-shadow();
    background-color: #333;
  }

  &--header-news, &--groups {
    .default-box-shadow();
    background-color: #333;
    margin-bottom: 10px;
  }

  &--landing-buttons {
    flex: 1 0 auto;
  }

  &--password-reset {
    .default-box-shadow();
    .inner-shadow-top();
    margin-bottom: 10px;
    background-color: #333;

    @media @desktop {
      .width-desktop(20px);
    }
  }

  &--rankings {
    .default-box-shadow();
    margin-bottom: 10px;
    padding: 15px 20px 0;
    background-color: #333;
  }

  &--small {
    .width(20px);
    @media @desktop {
      .width-desktop(20px);
    }
  }

  &--small-desktop {
    @media @desktop {
      .width-desktop(20px);
    }
  }

  &--stg-block {
    .default-box-shadow();
    margin: 10px 0;
  }

  &--users-show-header {
    .default-box-shadow();
  }

  &--users-show-header-extra {
    .default-box-shadow();
    .inner-shadow-top();
    margin-bottom: 10px;
  }

  &--wiki {
    .inner-shadow-top();
    background-color: #333;
    color: #fff;
    font-size: @font-size--wiki;
    padding: 20px;

    @media @desktop {
      padding-left: @padding-wiki-desktop;
      padding-right: @padding-wiki-desktop;
    }
  }

  // color overrides goes here
  &--dark-bg {
    background-color: #333;
  }
}

/**
 *    Copyright 2015-2017 ppy Pty. Ltd.
 *
 *    This file is part of osu!web. osu!web is distributed with the hope of
 *    attracting more community contributions to the core ecosystem of osu!.
 *
 *    osu!web is free software: you can redistribute it and/or modify
 *    it under the terms of the Affero GNU General Public License version 3
 *    as published by the Free Software Foundation.
 *
 *    osu!web is distributed WITHOUT ANY WARRANTY; without even the implied
 *    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *    See the GNU Affero General Public License for more details.
 *
 *    You should have received a copy of the GNU Affero General Public License
 *    along with osu!web.  If not, see <http://www.gnu.org/licenses/>.
 */

.osu-page {
  .width(@extra-margin: 0px) {
    width: calc(100% ~'-' (@extra-margin * 2));
    max-width: (@container-sm - @extra-margin * 2);
  }

  .width-desktop(@extra-margin: 0px) {
    width: calc(100% ~'-' ((@extra-margin + @grid-gutter-width) * 2));
    max-width: (@container-sm - @extra-margin * 2);
  }

  align-self: center;
  margin-left: auto;
  margin-right: auto;
  flex: none;

  .width();
  @media @desktop {
    .width-desktop();
  }

  &--account-edit-header {
    .default-box-shadow();
  }

  &--beatmapsets-search-header {
    .default-box-shadow();
    margin-bottom: 10px;
  }

  &--comments {
    .default-box-shadow();
    background-color: #fff;
    padding: 10px 20px;
  }

  &--contest {
    @media @desktop {
      .width-desktop(20px);
      margin-bottom: 10px;
    }
  }

  &--contests {
    @media @desktop {
      margin-bottom: 10px;
    }
  }

  &--dark-bg {
    background-color: #333;
  }

  &--forum-pippi {
    margin-bottom: 10px;
  }

  &--full {
    flex: 1 0 auto;
  }

  &--generic {
    .default-box-shadow();
    background-color: #fff;
    padding: 20px;
    margin-bottom: 10px;
  }

  &--header {
    .default-box-shadow();
    background-color: #333;
  }

  &--header-news, &--groups {
    .default-box-shadow();
    background-color: #333;
    margin-bottom: 10px;
  }

  &--landing-buttons {
    flex: 1 0 auto;
  }

  &--password-reset {
    .default-box-shadow();
    .inner-shadow-top();
    margin-bottom: 10px;
    background-color: #333;

    @media @desktop {
      .width-desktop(20px);
    }
  }

  &--rankings {
    .default-box-shadow();
    margin-bottom: 10px;
    padding: 15px 20px 0;
    background-color: #333;
  }

  &--small {
    .width(20px);
    @media @desktop {
      .width-desktop(20px);
    }
  }

  &--small-desktop {
    @media @desktop {
      .width-desktop(20px);
    }
  }

  &--stg-block {
    .default-box-shadow();
    margin: 10px 0;
  }

  &--users-show-header {
    .default-box-shadow();
  }

  &--users-show-header-extra {
    .default-box-shadow();
    .inner-shadow-top();
    margin-bottom: 10px;
  }

  &--wiki {
    .inner-shadow-top();
    background-color: #333;
    color: #fff;
    font-size: @font-size--wiki;
    padding: 20px;

    @media @desktop {
      padding-left: @padding-wiki-desktop;
      padding-right: @padding-wiki-desktop;
    }
  }
}