assets/stylesheets/bootstrap/_forms.scss
author ymh <ymh.work@gmail.com>
Thu, 15 Jun 2017 12:17:09 +0200
changeset 114 af15590802a4
permissions -rw-r--r--
add a lot of files
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
114
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
// Forms
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
// --------------------------------------------------
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
// Normalize non-controls
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
// Restyle and baseline non-control form elements.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
fieldset {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
  padding: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
  margin: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
  border: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
  // Chrome and Firefox set a `min-width: min-content;` on fieldsets,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
  // so we reset that to ensure it behaves more like a standard block element.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
  // See https://github.com/twbs/bootstrap/issues/12359.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
  min-width: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
legend {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
  display: block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
  width: 100%;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
  padding: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
  margin-bottom: $line-height-computed;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
  font-size: ($font-size-base * 1.5);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
  line-height: inherit;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
  color: $legend-color;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
  border: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
  border-bottom: 1px solid $legend-border-color;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
label {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
  display: inline-block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
  max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
  margin-bottom: 5px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
  font-weight: bold;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
// Normalize form controls
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
// While most of our form styles require extra classes, some basic normalization
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
// is required to ensure optimum display with or without those classes to better
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
// address browser inconsistencies.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
// Override content-box in Normalize (* isn't specific enough)
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
input[type="search"] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
  @include box-sizing(border-box);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
// Position radios and checkboxes better
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
input[type="radio"],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
input[type="checkbox"] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
  margin: 4px 0 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
  margin-top: 1px \9; // IE8-9
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
  line-height: normal;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
input[type="file"] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
  display: block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
// Make range inputs behave like textual form controls
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
input[type="range"] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
  display: block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
  width: 100%;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
// Make multiple select elements height not fixed
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
select[multiple],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
select[size] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
  height: auto;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
// Focus for file, radio, and checkbox
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
input[type="file"]:focus,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
input[type="radio"]:focus,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
input[type="checkbox"]:focus {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
  @include tab-focus;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
// Adjust output element
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
output {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
  display: block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
  padding-top: ($padding-base-vertical + 1);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
  font-size: $font-size-base;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
  line-height: $line-height-base;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
  color: $input-color;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
// Common form controls
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
// Shared size and type resets for form controls. Apply `.form-control` to any
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
// of the following form controls:
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
// select
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
// textarea
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
// input[type="text"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
// input[type="password"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
// input[type="datetime"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
// input[type="datetime-local"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
// input[type="date"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
// input[type="month"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
// input[type="time"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
// input[type="week"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
// input[type="number"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
// input[type="email"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
// input[type="url"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
// input[type="search"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
// input[type="tel"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
// input[type="color"]
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
.form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
  display: block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
  width: 100%;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
  height: $input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
  padding: $padding-base-vertical $padding-base-horizontal;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
  font-size: $font-size-base;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
  line-height: $line-height-base;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
  color: $input-color;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
  background-color: $input-bg;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
  background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
  border: 1px solid $input-border;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
  border-radius: $input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
  @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
  @include transition(border-color ease-in-out .15s, box-shadow ease-in-out .15s);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
  // Customize the `:focus` state to imitate native WebKit styles.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
  @include form-control-focus;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
  // Placeholder
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
  @include placeholder;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
  // Disabled and read-only inputs
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
  //
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
  // HTML5 says that controls under a fieldset > legend:first-child won't be
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
  // disabled if the fieldset is disabled. Due to implementation difficulty, we
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
  // don't honor that edge case; we style them as disabled anyway.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
  &[disabled],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
  &[readonly],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
  fieldset[disabled] & {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
    background-color: $input-bg-disabled;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
    opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
  &[disabled],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
  fieldset[disabled] & {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
    cursor: $cursor-disabled;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
  // [converter] extracted textarea& to textarea.form-control
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
// Reset height for `textarea`s
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
textarea.form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
  height: auto;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
// Search inputs in iOS
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
// This overrides the extra rounded corners on search inputs in iOS so that our
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
// `.form-control` class can properly style them. Note that this cannot simply
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
// be added to `.form-control` as it's not specific enough. For details, see
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
// https://github.com/twbs/bootstrap/issues/11586.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
input[type="search"] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
  -webkit-appearance: none;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
// Special styles for iOS temporal inputs
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
// In Mobile Safari, setting `display: block` on temporal inputs causes the
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
// text within the input to become vertically misaligned. As a workaround, we
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
// set a pixel line-height that matches the given height of the input, but only
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
// Note that as of 8.3, iOS doesn't support `datetime` or `week`.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
@media screen and (-webkit-min-device-pixel-ratio: 0) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
  input[type="date"],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
  input[type="time"],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
  input[type="datetime-local"],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
  input[type="month"] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
    &.form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
      line-height: $input-height-base;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
    &.input-sm,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
    .input-group-sm & {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
      line-height: $input-height-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
    &.input-lg,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
    .input-group-lg & {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
      line-height: $input-height-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
// Form groups
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
// Designed to help with the organization and spacing of vertical forms. For
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
// horizontal forms, use the predefined grid classes.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
.form-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
  margin-bottom: $form-group-margin-bottom;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
// Checkboxes and radios
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
// Indent the labels to position radios/checkboxes as hanging controls.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
.radio,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
.checkbox {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
  position: relative;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
  display: block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
  margin-top: 10px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
  margin-bottom: 10px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
  label {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
    min-height: $line-height-computed; // Ensure the input doesn't jump when there is no text
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
    padding-left: 20px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
    margin-bottom: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
    font-weight: normal;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
    cursor: pointer;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
.radio input[type="radio"],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
.radio-inline input[type="radio"],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
.checkbox input[type="checkbox"],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
.checkbox-inline input[type="checkbox"] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
  position: absolute;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
  margin-left: -20px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
  margin-top: 4px \9;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
.radio + .radio,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
.checkbox + .checkbox {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
  margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
// Radios and checkboxes on same line
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
.radio-inline,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
.checkbox-inline {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
  position: relative;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
  display: inline-block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
  padding-left: 20px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
  margin-bottom: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
  vertical-align: middle;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
  font-weight: normal;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
  cursor: pointer;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
.radio-inline + .radio-inline,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
.checkbox-inline + .checkbox-inline {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
  margin-top: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
  margin-left: 10px; // space out consecutive inline controls
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
// Apply same disabled cursor tweak as for inputs
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
// Some special care is needed because <label>s don't inherit their parent's `cursor`.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
// Note: Neither radios nor checkboxes can be readonly.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
input[type="radio"],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
input[type="checkbox"] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
  &[disabled],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
  &.disabled,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
  fieldset[disabled] & {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
    cursor: $cursor-disabled;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
// These classes are used directly on <label>s
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
.radio-inline,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
.checkbox-inline {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
  &.disabled,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
  fieldset[disabled] & {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
    cursor: $cursor-disabled;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
// These classes are used on elements with <label> descendants
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
.radio,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
.checkbox {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
  &.disabled,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
  fieldset[disabled] & {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
    label {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
      cursor: $cursor-disabled;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
// Static form control text
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
// Apply class to a `p` element to make any string of text align with labels in
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
// a horizontal form layout.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
.form-control-static {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
  // Size it appropriately next to real form controls
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
  padding-top: ($padding-base-vertical + 1);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
  padding-bottom: ($padding-base-vertical + 1);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
  // Remove default margin from `p`
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
  margin-bottom: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
  min-height: ($line-height-computed + $font-size-base);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
  &.input-lg,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
  &.input-sm {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
    padding-left: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
    padding-right: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
// Form control sizing
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
// Build on `.form-control` with modifier classes to decrease or increase the
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
// height and font-size of form controls.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
// The `.form-group-* form-control` variations are sadly duplicated to avoid the
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
// issue documented in https://github.com/twbs/bootstrap/issues/15074.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
@include input-size('.input-sm', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $input-border-radius-small);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
.form-group-sm {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
  .form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
    height: $input-height-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
    padding: $padding-small-vertical $padding-small-horizontal;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
    font-size: $font-size-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
    line-height: $line-height-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
    border-radius: $input-border-radius-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
  select.form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
    height: $input-height-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
    line-height: $input-height-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
  textarea.form-control,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
  select[multiple].form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
    height: auto;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
  .form-control-static {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
    height: $input-height-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
    min-height: ($line-height-computed + $font-size-small);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
    padding: ($padding-small-vertical + 1) $padding-small-horizontal;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
    font-size: $font-size-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
    line-height: $line-height-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
@include input-size('.input-lg', $input-height-large, $padding-large-vertical, $padding-large-horizontal, $font-size-large, $line-height-large, $input-border-radius-large);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
.form-group-lg {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
  .form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
    height: $input-height-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
    padding: $padding-large-vertical $padding-large-horizontal;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
    font-size: $font-size-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
    line-height: $line-height-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
    border-radius: $input-border-radius-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
  select.form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
    height: $input-height-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
    line-height: $input-height-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
  textarea.form-control,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
  select[multiple].form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
    height: auto;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
  .form-control-static {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
    height: $input-height-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
    min-height: ($line-height-computed + $font-size-large);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
    padding: ($padding-large-vertical + 1) $padding-large-horizontal;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
    font-size: $font-size-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
    line-height: $line-height-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
// Form control feedback states
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
// Apply contextual and semantic states to individual form controls.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
.has-feedback {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
  // Enable absolute positioning
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
  position: relative;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
  // Ensure icons don't overlap text
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
  .form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
    padding-right: ($input-height-base * 1.25);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
// Feedback icon (requires .glyphicon classes)
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
.form-control-feedback {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
  position: absolute;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
  top: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
  right: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
  z-index: 2; // Ensure icon is above input groups
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
  display: block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
  width: $input-height-base;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
  height: $input-height-base;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
  line-height: $input-height-base;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
  text-align: center;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
  pointer-events: none;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
.input-lg + .form-control-feedback,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
.input-group-lg + .form-control-feedback,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
.form-group-lg .form-control + .form-control-feedback {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
  width: $input-height-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
  height: $input-height-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
  line-height: $input-height-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
.input-sm + .form-control-feedback,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
.input-group-sm + .form-control-feedback,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
.form-group-sm .form-control + .form-control-feedback {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
  width: $input-height-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
  height: $input-height-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
  line-height: $input-height-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
// Feedback states
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
.has-success {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
  @include form-control-validation($state-success-text, $state-success-text, $state-success-bg);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
.has-warning {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
  @include form-control-validation($state-warning-text, $state-warning-text, $state-warning-bg);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
.has-error {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
  @include form-control-validation($state-danger-text, $state-danger-text, $state-danger-bg);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
// Reposition feedback icon if input has visible label above
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
.has-feedback label {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
  & ~ .form-control-feedback {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
     top: ($line-height-computed + 5); // Height of the `label` and its margin
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
  &.sr-only ~ .form-control-feedback {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
     top: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
// Help text
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
// Apply to any element you wish to create light text for placement immediately
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
// below a form control. Use for general help, formatting, or instructional text.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
.help-block {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
  display: block; // account for any element using help-block
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
  margin-top: 5px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
  margin-bottom: 10px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
  color: lighten($text-color, 25%); // lighten the text some for contrast
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
// Inline forms
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
// Make forms appear inline(-block) by adding the `.form-inline` class. Inline
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
// forms begin stacked on extra small (mobile) devices and then go inline when
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
// viewports reach <768px.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
// Requires wrapping inputs and labels with `.form-group` for proper display of
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
// default HTML form controls and our custom form controls (e.g., input groups).
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
// [converter] extracted from `.form-inline` for libsass compatibility
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
@mixin form-inline {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
  // Kick in the inline
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
  @media (min-width: $screen-sm-min) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
    // Inline-block all the things for "inline"
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
    .form-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
      display: inline-block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
      margin-bottom: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
      vertical-align: middle;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
    // In navbar-form, allow folks to *not* use `.form-group`
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
    .form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
      display: inline-block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
      width: auto; // Prevent labels from stacking above inputs in `.form-group`
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
      vertical-align: middle;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
    // Make static controls behave like regular ones
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
    .form-control-static {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
      display: inline-block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
    .input-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
      display: inline-table;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
      vertical-align: middle;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
      .input-group-addon,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
      .input-group-btn,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
      .form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
        width: auto;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
      }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
    // Input groups need that 100% width though
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
    .input-group > .form-control {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
      width: 100%;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
    .control-label {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
      margin-bottom: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
      vertical-align: middle;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
    // Remove default margin on radios/checkboxes that were used for stacking, and
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
    // then undo the floating of radios and checkboxes to match.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
    .radio,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
    .checkbox {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
      display: inline-block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
      margin-top: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
      margin-bottom: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
      vertical-align: middle;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
      label {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
        padding-left: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
      }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
    .radio input[type="radio"],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
    .checkbox input[type="checkbox"] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
      position: relative;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
      margin-left: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
    // Re-override the feedback icon.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
    .has-feedback .form-control-feedback {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
      top: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
// [converter] extracted as `@mixin form-inline` for libsass compatibility
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
.form-inline {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
  @include form-inline;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
// Horizontal forms
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
// Horizontal forms are built on grid classes and allow you to create forms with
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
// labels on the left and inputs on the right.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
.form-horizontal {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
  // Consistent vertical alignment of radios and checkboxes
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
  //
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
  // Labels also get some reset styles, but that is scoped to a media query below.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
  .radio,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
  .checkbox,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
  .radio-inline,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
  .checkbox-inline {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
    margin-top: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
    margin-bottom: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
    padding-top: ($padding-base-vertical + 1); // Default padding plus a border
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
  // Account for padding we're adding to ensure the alignment and of help text
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
  // and other content below items
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
  .radio,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
  .checkbox {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
    min-height: ($line-height-computed + ($padding-base-vertical + 1));
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
  // Make form groups behave like rows
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
  .form-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
    @include make-row;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
  // Reset spacing and right align labels, but scope to media queries so that
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
  // labels on narrow viewports stack the same as a default form example.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
  @media (min-width: $screen-sm-min) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
    .control-label {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
      text-align: right;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
      margin-bottom: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
      padding-top: ($padding-base-vertical + 1); // Default padding plus a border
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
  // Validation states
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
  //
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
  // Reposition the icon because it's now within a grid column and columns have
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
  // `position: relative;` on them. Also accounts for the grid gutter padding.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
  .has-feedback .form-control-feedback {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
    right: floor(($grid-gutter-width / 2));
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
  // Form group sizes
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
  //
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
  // Quick utility class for applying `.input-lg` and `.input-sm` styles to the
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
  // inputs and labels within a `.form-group`.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
  .form-group-lg {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
    @media (min-width: $screen-sm-min) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
      .control-label {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
        padding-top: (($padding-large-vertical * $line-height-large) + 1);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
        font-size: $font-size-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
      }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
  .form-group-sm {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
    @media (min-width: $screen-sm-min) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
      .control-label {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
        padding-top: ($padding-small-vertical + 1);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
        font-size: $font-size-small;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
      }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
}