twitter-bootstrap3-rails 3.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +708 -0
  3. data/Rakefile +46 -0
  4. data/app/assets/fonts/fontawesome-webfont.eot +0 -0
  5. data/app/assets/fonts/fontawesome-webfont.svg +399 -0
  6. data/app/assets/fonts/fontawesome-webfont.ttf +0 -0
  7. data/app/assets/fonts/fontawesome-webfont.woff +0 -0
  8. data/app/assets/images/twitter/bootstrap/glyphicons-halflings-white.png +0 -0
  9. data/app/assets/images/twitter/bootstrap/glyphicons-halflings.png +0 -0
  10. data/app/assets/javascripts/twitter/bootstrap.js +12 -0
  11. data/app/assets/javascripts/twitter/bootstrap/affix.js +126 -0
  12. data/app/assets/javascripts/twitter/bootstrap/alert.js +98 -0
  13. data/app/assets/javascripts/twitter/bootstrap/button.js +109 -0
  14. data/app/assets/javascripts/twitter/bootstrap/carousel.js +217 -0
  15. data/app/assets/javascripts/twitter/bootstrap/collapse.js +179 -0
  16. data/app/assets/javascripts/twitter/bootstrap/dropdown.js +154 -0
  17. data/app/assets/javascripts/twitter/bootstrap/modal.js +244 -0
  18. data/app/assets/javascripts/twitter/bootstrap/popover.js +117 -0
  19. data/app/assets/javascripts/twitter/bootstrap/scrollspy.js +158 -0
  20. data/app/assets/javascripts/twitter/bootstrap/tab.js +135 -0
  21. data/app/assets/javascripts/twitter/bootstrap/tooltip.js +382 -0
  22. data/app/assets/javascripts/twitter/bootstrap/transition.js +56 -0
  23. data/app/assets/javascripts/twitter/bootstrap_ujs.js +11 -0
  24. data/app/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +5579 -0
  25. data/app/assets/stylesheets/twitter-bootstrap-static/fontawesome.css.erb +787 -0
  26. data/app/assets/stylesheets/twitter-bootstrap-static/sprites.css.erb +146 -0
  27. data/app/helpers/badge_label_helper.rb +16 -0
  28. data/app/helpers/bootstrap_flash_helper.rb +29 -0
  29. data/app/helpers/flash_block_helper.rb +17 -0
  30. data/app/helpers/glyph_helper.rb +17 -0
  31. data/app/helpers/modal_helper.rb +59 -0
  32. data/app/helpers/navbar_helper.rb +195 -0
  33. data/app/helpers/twitter_breadcrumbs_helper.rb +10 -0
  34. data/app/views/twitter-bootstrap/_breadcrumbs.html.erb +12 -0
  35. data/lib/generators/bootstrap/install/install_generator.rb +82 -0
  36. data/lib/generators/bootstrap/install/templates/application.css +7 -0
  37. data/lib/generators/bootstrap/install/templates/application.js +10 -0
  38. data/lib/generators/bootstrap/install/templates/bootstrap.coffee +3 -0
  39. data/lib/generators/bootstrap/install/templates/bootstrap.js +4 -0
  40. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.css +7 -0
  41. data/lib/generators/bootstrap/install/templates/bootstrap_and_overrides.less +29 -0
  42. data/lib/generators/bootstrap/install/templates/en.bootstrap.yml +18 -0
  43. data/lib/generators/bootstrap/layout/layout_generator.rb +20 -0
  44. data/lib/generators/bootstrap/layout/templates/layout.html.erb +85 -0
  45. data/lib/generators/bootstrap/layout/templates/layout.html.haml +50 -0
  46. data/lib/generators/bootstrap/layout/templates/layout.html.slim +52 -0
  47. data/lib/generators/bootstrap/partial/partial_generator.rb +20 -0
  48. data/lib/generators/bootstrap/partial/templates/_login.html.erb +28 -0
  49. data/lib/generators/bootstrap/themed/templates/_form.html.erb +16 -0
  50. data/lib/generators/bootstrap/themed/templates/_form.html.haml +9 -0
  51. data/lib/generators/bootstrap/themed/templates/_form.html.slim +10 -0
  52. data/lib/generators/bootstrap/themed/templates/edit.html.erb +5 -0
  53. data/lib/generators/bootstrap/themed/templates/edit.html.haml +4 -0
  54. data/lib/generators/bootstrap/themed/templates/edit.html.slim +4 -0
  55. data/lib/generators/bootstrap/themed/templates/index.html.erb +40 -0
  56. data/lib/generators/bootstrap/themed/templates/index.html.haml +25 -0
  57. data/lib/generators/bootstrap/themed/templates/index.html.slim +27 -0
  58. data/lib/generators/bootstrap/themed/templates/new.html.erb +5 -0
  59. data/lib/generators/bootstrap/themed/templates/new.html.haml +4 -0
  60. data/lib/generators/bootstrap/themed/templates/new.html.slim +4 -0
  61. data/lib/generators/bootstrap/themed/templates/show.html.erb +21 -0
  62. data/lib/generators/bootstrap/themed/templates/show.html.haml +15 -0
  63. data/lib/generators/bootstrap/themed/templates/show.html.slim +16 -0
  64. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.erb +13 -0
  65. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.haml +10 -0
  66. data/lib/generators/bootstrap/themed/templates/simple_form/_form.html.slim +11 -0
  67. data/lib/generators/bootstrap/themed/themed_generator.rb +148 -0
  68. data/lib/twitter-bootstrap-rails.rb +10 -0
  69. data/lib/twitter/bootstrap/rails/bootstrap.rb +2 -0
  70. data/lib/twitter/bootstrap/rails/engine.rb +33 -0
  71. data/lib/twitter/bootstrap/rails/twitter-bootstrap-breadcrumbs.rb +42 -0
  72. data/lib/twitter/bootstrap/rails/version.rb +7 -0
  73. data/spec/lib/twitter_bootstrap_rails/badge_label_helper_spec.rb +22 -0
  74. data/spec/lib/twitter_bootstrap_rails/modal_helper_spec.rb +62 -0
  75. data/spec/lib/twitter_bootstrap_rails/navbar_helper_spec.rb +331 -0
  76. data/spec/lib/twitter_bootstrap_rails/uri_state_spec.rb +47 -0
  77. data/spec/spec_helper.rb +11 -0
  78. data/test/lib/breadcrumbs_test.rb +75 -0
  79. data/test/test_helper.rb +11 -0
  80. data/vendor/assets/stylesheets/twitter-bootstrap-static/bootstrap.css.erb +5579 -0
  81. data/vendor/static-source/bootstrap.less +1 -0
  82. data/vendor/static-source/fontawesome.less +9 -0
  83. data/vendor/static-source/sprites.less +6 -0
  84. data/vendor/toolkit/fontawesome/bootstrap.less +84 -0
  85. data/vendor/toolkit/fontawesome/core.less +129 -0
  86. data/vendor/toolkit/fontawesome/extras.less +93 -0
  87. data/vendor/toolkit/fontawesome/font-awesome-ie7.less +1953 -0
  88. data/vendor/toolkit/fontawesome/font-awesome.less +33 -0
  89. data/vendor/toolkit/fontawesome/icons.less +381 -0
  90. data/vendor/toolkit/fontawesome/mixins.less +48 -0
  91. data/vendor/toolkit/fontawesome/path.less +14 -0
  92. data/vendor/toolkit/fontawesome/variables.less +735 -0
  93. data/vendor/toolkit/twitter/bootstrap/alerts.less +71 -0
  94. data/vendor/toolkit/twitter/bootstrap/badges.less +51 -0
  95. data/vendor/toolkit/twitter/bootstrap/bootstrap.less +63 -0
  96. data/vendor/toolkit/twitter/bootstrap/breadcrumbs.less +23 -0
  97. data/vendor/toolkit/twitter/bootstrap/button-groups.less +244 -0
  98. data/vendor/toolkit/twitter/bootstrap/buttons.less +159 -0
  99. data/vendor/toolkit/twitter/bootstrap/carousel.less +204 -0
  100. data/vendor/toolkit/twitter/bootstrap/close.less +33 -0
  101. data/vendor/toolkit/twitter/bootstrap/code.less +56 -0
  102. data/vendor/toolkit/twitter/bootstrap/component-animations.less +29 -0
  103. data/vendor/toolkit/twitter/bootstrap/dropdowns.less +176 -0
  104. data/vendor/toolkit/twitter/bootstrap/forms.less +332 -0
  105. data/vendor/toolkit/twitter/bootstrap/grid.less +340 -0
  106. data/vendor/toolkit/twitter/bootstrap/input-groups.less +127 -0
  107. data/vendor/toolkit/twitter/bootstrap/jumbotron.less +29 -0
  108. data/vendor/toolkit/twitter/bootstrap/labels.less +54 -0
  109. data/vendor/toolkit/twitter/bootstrap/list-group.less +88 -0
  110. data/vendor/toolkit/twitter/bootstrap/media.less +56 -0
  111. data/vendor/toolkit/twitter/bootstrap/mixins.less +693 -0
  112. data/vendor/toolkit/twitter/bootstrap/modals.less +133 -0
  113. data/vendor/toolkit/twitter/bootstrap/navbar.less +559 -0
  114. data/vendor/toolkit/twitter/bootstrap/navs.less +228 -0
  115. data/vendor/toolkit/twitter/bootstrap/normalize.less +396 -0
  116. data/vendor/toolkit/twitter/bootstrap/pager.less +55 -0
  117. data/vendor/toolkit/twitter/bootstrap/pagination.less +72 -0
  118. data/vendor/toolkit/twitter/bootstrap/panels.less +128 -0
  119. data/vendor/toolkit/twitter/bootstrap/popovers.less +133 -0
  120. data/vendor/toolkit/twitter/bootstrap/print.less +100 -0
  121. data/vendor/toolkit/twitter/bootstrap/progress-bars.less +99 -0
  122. data/vendor/toolkit/twitter/bootstrap/responsive-utilities.less +149 -0
  123. data/vendor/toolkit/twitter/bootstrap/scaffolding.less +111 -0
  124. data/vendor/toolkit/twitter/bootstrap/tables.less +211 -0
  125. data/vendor/toolkit/twitter/bootstrap/thumbnails.less +42 -0
  126. data/vendor/toolkit/twitter/bootstrap/tooltip.less +95 -0
  127. data/vendor/toolkit/twitter/bootstrap/type.less +238 -0
  128. data/vendor/toolkit/twitter/bootstrap/utilities.less +42 -0
  129. data/vendor/toolkit/twitter/bootstrap/variables.less +607 -0
  130. data/vendor/toolkit/twitter/bootstrap/wells.less +29 -0
  131. data/vendor/toolkit/twitter/bootstrap_base.less +2 -0
  132. metadata +297 -0
@@ -0,0 +1,42 @@
1
+ //
2
+ // Thumbnails
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Base classes
7
+ // For thumbnail block-level composite components and simple image styles
8
+
9
+ // The actual thumbnailed element
10
+ // Can be `a`, `div`, or `img`
11
+ .thumbnail,
12
+ .img-thumbnail {
13
+ padding: @thumbnail-padding;
14
+ line-height: @line-height-base;
15
+ background-color: @thumbnail-bg;
16
+ border: 1px solid @thumbnail-border;
17
+ border-radius: @thumbnail-border-radius;
18
+ .transition(all .2s ease-in-out);
19
+ }
20
+ .thumbnail {
21
+ display: block;
22
+ }
23
+ .thumbnail > img,
24
+ .img-thumbnail {
25
+ .img-responsive();
26
+ }
27
+
28
+ // Add a hover state for linked versions only
29
+ a.thumbnail:hover,
30
+ a.thumbnail:focus {
31
+ border-color: @link-color;
32
+ }
33
+
34
+ // Images and captions
35
+ .thumbnail > img {
36
+ margin-left: auto;
37
+ margin-right: auto;
38
+ }
39
+ .thumbnail .caption {
40
+ padding: @thumbnail-caption-padding;
41
+ color: @thumbnail-caption-color;
42
+ }
@@ -0,0 +1,95 @@
1
+ //
2
+ // Tooltips
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Base class
7
+ .tooltip {
8
+ position: absolute;
9
+ z-index: @zindex-tooltip;
10
+ display: block;
11
+ visibility: visible;
12
+ font-size: @font-size-small;
13
+ line-height: 1.4;
14
+ .opacity(0);
15
+
16
+ &.in { .opacity(.9); }
17
+ &.top { margin-top: -3px; padding: 5px 0; }
18
+ &.right { margin-left: 3px; padding: 0 5px; }
19
+ &.bottom { margin-top: 3px; padding: 5px 0; }
20
+ &.left { margin-left: -3px; padding: 0 5px; }
21
+ }
22
+
23
+ // Wrapper for the tooltip content
24
+ .tooltip-inner {
25
+ max-width: @tooltip-max-width;
26
+ padding: 3px 8px;
27
+ color: @tooltip-color;
28
+ text-align: center;
29
+ text-decoration: none;
30
+ background-color: @tooltip-bg;
31
+ border-radius: @border-radius-base;
32
+ }
33
+
34
+ // Arrows
35
+ .tooltip-arrow {
36
+ position: absolute;
37
+ width: 0;
38
+ height: 0;
39
+ border-color: transparent;
40
+ border-style: solid;
41
+ }
42
+ .tooltip {
43
+ &.top .tooltip-arrow {
44
+ bottom: 0;
45
+ left: 50%;
46
+ margin-left: -@tooltip-arrow-width;
47
+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
48
+ border-top-color: @tooltip-arrow-color;
49
+ }
50
+ &.top-left .tooltip-arrow {
51
+ bottom: 0;
52
+ left: 5px;
53
+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
54
+ border-top-color: @tooltip-arrow-color;
55
+ }
56
+ &.top-right .tooltip-arrow {
57
+ bottom: 0;
58
+ right: 5px;
59
+ border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
60
+ border-top-color: @tooltip-arrow-color;
61
+ }
62
+ &.right .tooltip-arrow {
63
+ top: 50%;
64
+ left: 0;
65
+ margin-top: -@tooltip-arrow-width;
66
+ border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;
67
+ border-right-color: @tooltip-arrow-color;
68
+ }
69
+ &.left .tooltip-arrow {
70
+ top: 50%;
71
+ right: 0;
72
+ margin-top: -@tooltip-arrow-width;
73
+ border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;
74
+ border-left-color: @tooltip-arrow-color;
75
+ }
76
+ &.bottom .tooltip-arrow {
77
+ top: 0;
78
+ left: 50%;
79
+ margin-left: -@tooltip-arrow-width;
80
+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
81
+ border-bottom-color: @tooltip-arrow-color;
82
+ }
83
+ &.bottom-left .tooltip-arrow {
84
+ top: 0;
85
+ left: 5px;
86
+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
87
+ border-bottom-color: @tooltip-arrow-color;
88
+ }
89
+ &.bottom-right .tooltip-arrow {
90
+ top: 0;
91
+ right: 5px;
92
+ border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
93
+ border-bottom-color: @tooltip-arrow-color;
94
+ }
95
+ }
@@ -0,0 +1,238 @@
1
+ //
2
+ // Typography
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Body text
7
+ // -------------------------
8
+
9
+ p {
10
+ margin: 0 0 (@line-height-computed / 2);
11
+ }
12
+ .lead {
13
+ margin-bottom: @line-height-computed;
14
+ font-size: (@font-size-base * 1.15);
15
+ font-weight: 200;
16
+ line-height: 1.4;
17
+
18
+ @media (min-width: 768px) {
19
+ font-size: (@font-size-base * 1.5);
20
+ }
21
+ }
22
+
23
+
24
+ // Emphasis & misc
25
+ // -------------------------
26
+
27
+ // Ex: 14px base font * 85% = about 12px
28
+ small { font-size: 85%; }
29
+
30
+ // Undo browser default styling
31
+ cite { font-style: normal; }
32
+
33
+ // Contextual emphasis
34
+ .text-muted { color: @text-muted; }
35
+ .text-primary { color: @brand-primary; }
36
+ .text-warning { color: @state-warning-text; }
37
+ .text-danger { color: @state-danger-text; }
38
+ .text-success { color: @state-success-text; }
39
+ .text-info { color: @state-info-text; }
40
+
41
+ // Alignment
42
+ .text-left { text-align: left; }
43
+ .text-right { text-align: right; }
44
+ .text-center { text-align: center; }
45
+
46
+
47
+ // Headings
48
+ // -------------------------
49
+
50
+ h1, h2, h3, h4, h5, h6,
51
+ .h1, .h2, .h3, .h4, .h5, .h6 {
52
+ font-family: @headings-font-family;
53
+ font-weight: @headings-font-weight;
54
+ line-height: @headings-line-height;
55
+ small {
56
+ font-weight: normal;
57
+ line-height: 1;
58
+ color: @headings-small-color;
59
+ }
60
+ }
61
+
62
+ h1,
63
+ h2,
64
+ h3 {
65
+ margin-top: @line-height-computed;
66
+ margin-bottom: (@line-height-computed / 2);
67
+ }
68
+ h4,
69
+ h5,
70
+ h6 {
71
+ margin-top: (@line-height-computed / 2);
72
+ margin-bottom: (@line-height-computed / 2);
73
+ }
74
+
75
+ h1, .h1 { font-size: ceil(@font-size-base * 2.70); } // ~38px
76
+ h2, .h2 { font-size: ceil(@font-size-base * 2.25); } // ~32px
77
+ h3, .h3 { font-size: ceil(@font-size-base * 1.70); } // ~24px
78
+ h4, .h4 { font-size: ceil(@font-size-base * 1.25); } // ~18px
79
+ h5, .h5 { font-size: @font-size-base; }
80
+ h6, .h6 { font-size: ceil(@font-size-base * 0.85); } // ~12px
81
+
82
+ h1 small, .h1 small { font-size: ceil(@font-size-base * 1.70); } // ~24px
83
+ h2 small, .h2 small { font-size: ceil(@font-size-base * 1.25); } // ~18px
84
+ h3 small, .h3 small,
85
+ h4 small, .h4 small { font-size: @font-size-base; }
86
+
87
+
88
+ // Page header
89
+ // -------------------------
90
+
91
+ .page-header {
92
+ padding-bottom: ((@line-height-computed / 2) - 1);
93
+ margin: (@line-height-computed * 2) 0 @line-height-computed;
94
+ border-bottom: 1px solid @page-header-border-color;
95
+ }
96
+
97
+
98
+
99
+ // Lists
100
+ // --------------------------------------------------
101
+
102
+ // Unordered and Ordered lists
103
+ ul,
104
+ ol {
105
+ margin-top: 0;
106
+ margin-bottom: (@line-height-computed / 2);
107
+ ul,
108
+ ol{
109
+ margin-bottom: 0;
110
+ }
111
+ }
112
+
113
+ // List options
114
+
115
+ // Unstyled keeps list items block level, just removes default browser padding and list-style
116
+ .list-unstyled {
117
+ padding-left: 0;
118
+ list-style: none;
119
+ }
120
+ // Inline turns list items into inline-block
121
+ .list-inline {
122
+ .list-unstyled();
123
+ > li {
124
+ display: inline-block;
125
+ padding-left: 5px;
126
+ padding-right: 5px;
127
+ }
128
+ }
129
+
130
+ // Description Lists
131
+ dl {
132
+ margin-bottom: @line-height-computed;
133
+ }
134
+ dt,
135
+ dd {
136
+ line-height: @line-height-base;
137
+ }
138
+ dt {
139
+ font-weight: bold;
140
+ }
141
+ dd {
142
+ margin-left: 0; // Undo browser default
143
+ }
144
+
145
+ // Horizontal description lists
146
+ //
147
+ // Defaults to being stacked without any of the below styles applied, until the
148
+ // grid breakpoint is reached (default of ~768px).
149
+
150
+ @media (min-width: @grid-float-breakpoint) {
151
+ .dl-horizontal {
152
+ dt {
153
+ float: left;
154
+ width: (@component-offset-horizontal - 20);
155
+ clear: left;
156
+ text-align: right;
157
+ .text-overflow();
158
+ }
159
+ dd {
160
+ margin-left: @component-offset-horizontal;
161
+ .clearfix(); // Clear the floated `dt` if an empty `dd` is present
162
+ }
163
+ }
164
+ }
165
+
166
+ // MISC
167
+ // ----
168
+
169
+ // Abbreviations and acronyms
170
+ abbr[title],
171
+ // Added data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257
172
+ abbr[data-original-title] {
173
+ cursor: help;
174
+ border-bottom: 1px dotted @abbr-border-color;
175
+ }
176
+ abbr.initialism {
177
+ font-size: 90%;
178
+ text-transform: uppercase;
179
+ }
180
+
181
+ // Blockquotes
182
+ blockquote {
183
+ padding: (@line-height-computed / 2) @line-height-computed;
184
+ margin: 0 0 @line-height-computed;
185
+ border-left: 5px solid @blockquote-border-color;
186
+ p {
187
+ font-size: (@font-size-base * 1.25);
188
+ font-weight: 300;
189
+ line-height: 1.25;
190
+ }
191
+ p:last-child {
192
+ margin-bottom: 0;
193
+ }
194
+ small {
195
+ display: block;
196
+ line-height: @line-height-base;
197
+ color: @blockquote-small-color;
198
+ &:before {
199
+ content: '\2014 \00A0';// EM DASH, NBSP
200
+ }
201
+ }
202
+
203
+ // Float right with text-align: right
204
+ &.pull-right {
205
+ padding-right: 15px;
206
+ padding-left: 0;
207
+ border-right: 5px solid @blockquote-border-color;
208
+ border-left: 0;
209
+ p,
210
+ small {
211
+ text-align: right;
212
+ }
213
+ small {
214
+ &:before {
215
+ content: '';
216
+ }
217
+ &:after {
218
+ content: '\00A0 \2014';// NBSP, EM DASH
219
+ }
220
+ }
221
+ }
222
+ }
223
+
224
+ // Quotes
225
+ q:before,
226
+ q:after,
227
+ blockquote:before,
228
+ blockquote:after {
229
+ content: "";
230
+ }
231
+
232
+ // Addresses
233
+ address {
234
+ display: block;
235
+ margin-bottom: @line-height-computed;
236
+ font-style: normal;
237
+ line-height: @line-height-base;
238
+ }
@@ -0,0 +1,42 @@
1
+ //
2
+ // Utility classes
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Floats
7
+ // -------------------------
8
+
9
+ .clearfix {
10
+ .clearfix();
11
+ }
12
+ .pull-right {
13
+ float: right !important;
14
+ }
15
+ .pull-left {
16
+ float: left !important;
17
+ }
18
+
19
+
20
+ // Toggling content
21
+ // -------------------------
22
+
23
+ .hide {
24
+ display: none !important;
25
+ }
26
+ .show {
27
+ display: block !important;
28
+ }
29
+ .invisible {
30
+ visibility: hidden;
31
+ }
32
+ .text-hide {
33
+ .hide-text();
34
+ }
35
+
36
+
37
+ // For Affix plugin
38
+ // -------------------------
39
+
40
+ .affix {
41
+ position: fixed;
42
+ }
@@ -0,0 +1,607 @@
1
+ //
2
+ // Variables
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Global values
7
+ // --------------------------------------------------
8
+
9
+ // Grays
10
+ // -------------------------
11
+
12
+ @gray-darker: lighten(#000, 13.5%); // #222
13
+ @gray-dark: lighten(#000, 20%); // #333
14
+ @gray: lighten(#000, 33.5%); // #555
15
+ @gray-light: lighten(#000, 60%); // #999
16
+ @gray-lighter: lighten(#000, 93.5%); // #eee
17
+
18
+ // Brand colors
19
+ // -------------------------
20
+
21
+ @brand-primary: #428bca;
22
+ @brand-success: #5cb85c;
23
+ @brand-warning: #f0ad4e;
24
+ @brand-danger: #d9534f;
25
+ @brand-info: #5bc0de;
26
+
27
+ // Scaffolding
28
+ // -------------------------
29
+
30
+ @body-bg: #fff;
31
+ @text-color: @gray-dark;
32
+
33
+ // Links
34
+ // -------------------------
35
+
36
+ @link-color: @brand-primary;
37
+ @link-hover-color: darken(@link-color, 15%);
38
+
39
+ // Typography
40
+ // -------------------------
41
+
42
+ @font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
43
+ @font-family-serif: Georgia, "Times New Roman", Times, serif;
44
+ @font-family-monospace: Monaco, Menlo, Consolas, "Courier New", monospace;
45
+ @font-family-base: @font-family-sans-serif;
46
+
47
+ @font-size-base: 14px;
48
+ @font-size-large: ceil(@font-size-base * 1.25); // ~18px
49
+ @font-size-small: ceil(@font-size-base * 0.85); // ~12px
50
+
51
+ @line-height-base: 1.428571429; // 20/14
52
+ @line-height-computed: floor(@font-size-base * @line-height-base); // ~20px
53
+
54
+ @headings-font-family: @font-family-base;
55
+ @headings-font-weight: 500;
56
+ @headings-line-height: 1.1;
57
+
58
+
59
+ // Components
60
+ // -------------------------
61
+ // Based on 14px font-size and 1.428 line-height (~20px to start)
62
+
63
+ @padding-base-vertical: 6px;
64
+ @padding-base-horizontal: 12px;
65
+
66
+ @padding-large-vertical: 10px;
67
+ @padding-large-horizontal: 16px;
68
+
69
+ @padding-small-vertical: 5px;
70
+ @padding-small-horizontal: 10px;
71
+
72
+ @line-height-large: 1.33;
73
+ @line-height-small: 1.5;
74
+
75
+ @border-radius-base: 4px;
76
+ @border-radius-large: 6px;
77
+ @border-radius-small: 3px;
78
+
79
+ @component-active-bg: @brand-primary;
80
+
81
+ @caret-width-base: 4px;
82
+ @caret-width-large: 5px;
83
+
84
+ // Tables
85
+ // -------------------------
86
+
87
+ @table-cell-padding: 8px;
88
+ @table-condensed-cell-padding: 5px;
89
+
90
+ @table-bg: transparent; // overall background-color
91
+ @table-bg-accent: #f9f9f9; // for striping
92
+ @table-bg-hover: #f5f5f5;
93
+ @table-bg-active: @table-bg-hover;
94
+
95
+ @table-border-color: #ddd; // table and cell border
96
+
97
+
98
+ // Buttons
99
+ // -------------------------
100
+
101
+ @btn-font-weight: bold;
102
+
103
+ @btn-default-color: #333;
104
+ @btn-default-bg: #fff;
105
+ @btn-default-border: #ccc;
106
+
107
+ @btn-primary-color: #fff;
108
+ @btn-primary-bg: @brand-primary;
109
+ @btn-primary-border: darken(@btn-primary-bg, 5%);
110
+
111
+ @btn-success-color: #fff;
112
+ @btn-success-bg: @brand-success;
113
+ @btn-success-border: darken(@btn-success-bg, 5%);
114
+
115
+ @btn-warning-color: #fff;
116
+ @btn-warning-bg: @brand-warning;
117
+ @btn-warning-border: darken(@btn-warning-bg, 5%);
118
+
119
+ @btn-danger-color: #fff;
120
+ @btn-danger-bg: @brand-danger;
121
+ @btn-danger-border: darken(@btn-danger-bg, 5%);
122
+
123
+ @btn-info-color: #fff;
124
+ @btn-info-bg: @brand-info;
125
+ @btn-info-border: darken(@btn-info-bg, 5%);
126
+
127
+ @btn-link-disabled-color: @gray-light;
128
+
129
+
130
+ // Forms
131
+ // -------------------------
132
+
133
+ @input-bg: #fff;
134
+ @input-bg-disabled: @gray-lighter;
135
+
136
+ @input-color: @gray;
137
+ @input-border: #ccc;
138
+ @input-border-radius: @border-radius-base;
139
+ @input-border-focus: #66afe9;
140
+
141
+ @input-color-placeholder: @gray-light;
142
+
143
+ @input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
144
+ @input-height-large: (floor(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
145
+ @input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
146
+
147
+ @legend-color: @gray-dark;
148
+ @legend-border-color: #e5e5e5;
149
+
150
+ @input-group-addon-bg: @gray-lighter;
151
+ @input-group-addon-border-color: @input-border;
152
+
153
+
154
+ // Dropdowns
155
+ // -------------------------
156
+
157
+ @dropdown-bg: #fff;
158
+ @dropdown-border: rgba(0,0,0,.15);
159
+ @dropdown-fallback-border: #ccc;
160
+ @dropdown-divider-bg: #e5e5e5;
161
+
162
+ @dropdown-link-active-color: #fff;
163
+ @dropdown-link-active-bg: @component-active-bg;
164
+
165
+ @dropdown-link-color: @gray-dark;
166
+ @dropdown-link-hover-color: #fff;
167
+ @dropdown-link-hover-bg: @dropdown-link-active-bg;
168
+
169
+ @dropdown-link-disabled-color: @gray-light;
170
+
171
+ @dropdown-header-color: @gray-light;
172
+
173
+ @dropdown-caret-color: #000;
174
+
175
+
176
+ // COMPONENT VARIABLES
177
+ // --------------------------------------------------
178
+
179
+
180
+ // Z-index master list
181
+ // -------------------------
182
+ // Used for a bird's eye view of components dependent on the z-axis
183
+ // Try to avoid customizing these :)
184
+
185
+ @zindex-dropdown: 1000;
186
+ @zindex-popover: 1010;
187
+ @zindex-tooltip: 1030;
188
+ @zindex-navbar-fixed: 1030;
189
+ @zindex-modal-background: 1040;
190
+ @zindex-modal: 1050;
191
+
192
+ // Media queries breakpoints
193
+ // --------------------------------------------------
194
+
195
+ // Extra small screen / phone
196
+ @screen-xsmall: 480px;
197
+ @screen-phone: @screen-xsmall;
198
+
199
+ // Small screen / tablet
200
+ @screen-small: 768px;
201
+ @screen-tablet: @screen-small;
202
+
203
+ // Medium screen / desktop
204
+ @screen-medium: 992px;
205
+ @screen-desktop: @screen-medium;
206
+
207
+ // Large screen / wide desktop
208
+ @screen-large: 1200px;
209
+ @screen-large-desktop: @screen-large;
210
+
211
+ // So media queries don't overlap when required, provide a maximum
212
+ @screen-phone-max: (@screen-small - 1);
213
+ @screen-small-max: (@screen-medium - 1);
214
+ @screen-tablet-max: (@screen-desktop - 1);
215
+ @screen-desktop-max: (@screen-large-desktop - 1);
216
+
217
+
218
+ // Grid system
219
+ // --------------------------------------------------
220
+
221
+ // Number of columns in the grid system
222
+ @grid-columns: 12;
223
+ // Padding, to be divided by two and applied to the left and right of all columns
224
+ @grid-gutter-width: 30px;
225
+ // Point at which the navbar stops collapsing
226
+ @grid-float-breakpoint: @screen-tablet;
227
+
228
+
229
+ // Navbar
230
+ // -------------------------
231
+
232
+ // Basics of a navbar
233
+ @navbar-height: 50px;
234
+ @navbar-margin-bottom: @line-height-computed;
235
+ @navbar-color: #777;
236
+ @navbar-bg: #f8f8f8;
237
+ @navbar-border: darken(@navbar-bg, 6.5%);
238
+ @navbar-border-radius: @border-radius-base;
239
+ @navbar-padding-horizontal: floor(@grid-gutter-width / 2);
240
+ @navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
241
+
242
+ // Navbar links
243
+ @navbar-link-color: #777;
244
+ @navbar-link-hover-color: #333;
245
+ @navbar-link-hover-bg: transparent;
246
+ @navbar-link-active-color: #555;
247
+ @navbar-link-active-bg: darken(@navbar-bg, 6.5%);
248
+ @navbar-link-disabled-color: #ccc;
249
+ @navbar-link-disabled-bg: transparent;
250
+
251
+ // Navbar brand label
252
+ @navbar-brand-color: @navbar-link-color;
253
+ @navbar-brand-hover-color: darken(@navbar-link-color, 10%);
254
+ @navbar-brand-hover-bg: transparent;
255
+
256
+ // Navbar toggle
257
+ @navbar-toggle-hover-bg: #ddd;
258
+ @navbar-toggle-icon-bar-bg: #ccc;
259
+ @navbar-toggle-border-color: #ddd;
260
+
261
+
262
+ // Inverted navbar
263
+ //
264
+ // Reset inverted navbar basics
265
+ @navbar-inverse-color: @gray-light;
266
+ @navbar-inverse-bg: #222;
267
+ @navbar-inverse-border: darken(@navbar-inverse-bg, 10%);
268
+
269
+ // Inverted navbar links
270
+ @navbar-inverse-link-color: @gray-light;
271
+ @navbar-inverse-link-hover-color: #fff;
272
+ @navbar-inverse-link-hover-bg: transparent;
273
+ @navbar-inverse-link-active-color: @navbar-inverse-link-hover-color;
274
+ @navbar-inverse-link-active-bg: darken(@navbar-inverse-bg, 10%);
275
+ @navbar-inverse-link-disabled-color: #444;
276
+ @navbar-inverse-link-disabled-bg: transparent;
277
+
278
+ // Inverted navbar brand label
279
+ @navbar-inverse-brand-color: @navbar-inverse-link-color;
280
+ @navbar-inverse-brand-hover-color: #fff;
281
+ @navbar-inverse-brand-hover-bg: transparent;
282
+
283
+ // Inverted navbar search
284
+ // Normal navbar needs no special styles or vars
285
+ @navbar-inverse-search-bg: lighten(@navbar-inverse-bg, 25%);
286
+ @navbar-inverse-search-bg-focus: #fff;
287
+ @navbar-inverse-search-border: @navbar-inverse-bg;
288
+ @navbar-inverse-search-placeholder-color: #ccc;
289
+
290
+ // Inverted navbar toggle
291
+ @navbar-inverse-toggle-hover-bg: #333;
292
+ @navbar-inverse-toggle-icon-bar-bg: #fff;
293
+ @navbar-inverse-toggle-border-color: #333;
294
+
295
+
296
+ // Navs
297
+ // -------------------------
298
+
299
+ @nav-link-hover-bg: @gray-lighter;
300
+
301
+ @nav-disabled-link-color: @gray-light;
302
+ @nav-disabled-link-hover-color: @gray-light;
303
+
304
+ @nav-open-link-hover-color: #fff;
305
+ @nav-open-caret-border-color: #fff;
306
+
307
+ // Tabs
308
+ @nav-tabs-border-color: #ddd;
309
+
310
+ @nav-tabs-link-hover-border-color: @gray-lighter;
311
+
312
+ @nav-tabs-active-link-hover-bg: @body-bg;
313
+ @nav-tabs-active-link-hover-color: @gray;
314
+ @nav-tabs-active-link-hover-border-color: #ddd;
315
+
316
+ @nav-tabs-justified-link-border-color: #ddd;
317
+ @nav-tabs-justified-active-link-border-color: @body-bg;
318
+
319
+ // Pills
320
+ @nav-pills-active-link-hover-bg: @component-active-bg;
321
+ @nav-pills-active-link-hover-color: #fff;
322
+
323
+
324
+ // Pagination
325
+ // -------------------------
326
+
327
+ @pagination-bg: #fff;
328
+ @pagination-border: #ddd;
329
+ @pagination-active-bg: #f5f5f5;
330
+ @pagination-active-color: @gray-light;
331
+ @pagination-disabled-color: @gray-light;
332
+
333
+ // Pager
334
+ // -------------------------
335
+
336
+ @pager-border-radius: 15px;
337
+ @pager-disabled-color: @gray-light;
338
+
339
+
340
+ // Jumbotron
341
+ // -------------------------
342
+
343
+ @jumbotron-bg: @gray-lighter;
344
+ @jumbotron-heading-color: inherit;
345
+ @jumbotron-lead-color: inherit;
346
+
347
+
348
+ // Form states and alerts
349
+ // -------------------------
350
+
351
+ @state-warning-text: #c09853;
352
+ @state-warning-bg: #fcf8e3;
353
+ @state-warning-border: darken(spin(@state-warning-bg, -10), 3%);
354
+
355
+ @state-danger-text: #b94a48;
356
+ @state-danger-bg: #f2dede;
357
+ @state-danger-border: darken(spin(@state-danger-bg, -10), 3%);
358
+
359
+ @state-success-text: #468847;
360
+ @state-success-bg: #dff0d8;
361
+ @state-success-border: darken(spin(@state-success-bg, -10), 5%);
362
+
363
+ @state-info-text: #3a87ad;
364
+ @state-info-bg: #d9edf7;
365
+ @state-info-border: darken(spin(@state-info-bg, -10), 7%);
366
+
367
+
368
+ // Tooltips
369
+ // -------------------------
370
+ @tooltip-max-width: 200px;
371
+ @tooltip-color: #fff;
372
+ @tooltip-bg: #000;
373
+
374
+ @tooltip-arrow-width: 5px;
375
+ @tooltip-arrow-color: @tooltip-bg;
376
+
377
+
378
+ // Popovers
379
+ // -------------------------
380
+ @popover-bg: #fff;
381
+ @popover-max-width: 276px;
382
+ @popover-border-color: rgba(0,0,0,.2);
383
+ @popover-fallback-border-color: #ccc;
384
+
385
+ @popover-title-bg: darken(@popover-bg, 3%);
386
+
387
+ @popover-arrow-width: 10px;
388
+ @popover-arrow-color: #fff;
389
+
390
+ @popover-arrow-outer-width: (@popover-arrow-width + 1);
391
+ @popover-arrow-outer-color: rgba(0,0,0,.25);
392
+ @popover-arrow-outer-fallback-color: #999;
393
+
394
+
395
+ // Labels
396
+ // -------------------------
397
+
398
+ @label-default-bg: @gray-light;
399
+ @label-success-bg: @brand-success;
400
+ @label-info-bg: @brand-info;
401
+ @label-warning-bg: @brand-warning;
402
+ @label-danger-bg: @brand-danger;
403
+
404
+ @label-color: #fff;
405
+ @label-link-hover-color: #fff;
406
+
407
+
408
+ // Modals
409
+ // -------------------------
410
+ @modal-inner-padding: 20px;
411
+
412
+ @modal-title-padding: 15px;
413
+ @modal-title-line-height: @line-height-base;
414
+
415
+ @modal-content-bg: #fff;
416
+ @modal-content-border-color: rgba(0,0,0,.2);
417
+ @modal-content-fallback-border-color: #999;
418
+
419
+ @modal-backdrop-bg: #000;
420
+ @modal-header-border-color: #e5e5e5;
421
+ @modal-footer-border-color: @modal-header-border-color;
422
+
423
+
424
+ // Alerts
425
+ // -------------------------
426
+ @alert-padding: 15px;
427
+ @alert-border-radius: @border-radius-base;
428
+ @alert-link-font-weight: bold;
429
+
430
+ @alert-bg: @state-warning-bg;
431
+ @alert-text: @state-warning-text;
432
+ @alert-border: @state-warning-border;
433
+
434
+ @alert-success-bg: @state-success-bg;
435
+ @alert-success-text: @state-success-text;
436
+ @alert-success-border: @state-success-border;
437
+
438
+ @alert-danger-bg: @state-danger-bg;
439
+ @alert-danger-text: @state-danger-text;
440
+ @alert-danger-border: @state-danger-border;
441
+
442
+ @alert-info-bg: @state-info-bg;
443
+ @alert-info-text: @state-info-text;
444
+ @alert-info-border: @state-info-border;
445
+
446
+
447
+ // Progress bars
448
+ // -------------------------
449
+ @progress-bg: #f5f5f5;
450
+ @progress-bar-color: #fff;
451
+
452
+ @progress-bar-bg: @brand-primary;
453
+ @progress-bar-success-bg: @brand-success;
454
+ @progress-bar-warning-bg: @brand-warning;
455
+ @progress-bar-danger-bg: @brand-danger;
456
+ @progress-bar-info-bg: @brand-info;
457
+
458
+
459
+ // List group
460
+ // -------------------------
461
+ @list-group-bg: #fff;
462
+ @list-group-border: #ddd;
463
+ @list-group-border-radius: @border-radius-base;
464
+
465
+ @list-group-hover-bg: #f5f5f5;
466
+ @list-group-active-color: #fff;
467
+ @list-group-active-bg: @component-active-bg;
468
+ @list-group-active-border: @list-group-active-bg;
469
+
470
+ @list-group-link-color: #555;
471
+ @list-group-link-heading-color: #333;
472
+
473
+
474
+ // Panels
475
+ // -------------------------
476
+ @panel-bg: #fff;
477
+ @panel-border: #ddd;
478
+ @panel-border-radius: @border-radius-base;
479
+ @panel-heading-bg: #f5f5f5;
480
+ @panel-footer-bg: #f5f5f5;
481
+
482
+ @panel-primary-text: #fff;
483
+ @panel-primary-border: @brand-primary;
484
+ @panel-primary-heading-bg: @brand-primary;
485
+
486
+ @panel-success-text: @state-success-text;
487
+ @panel-success-border: @state-success-border;
488
+ @panel-success-heading-bg: @state-success-bg;
489
+
490
+ @panel-warning-text: @state-warning-text;
491
+ @panel-warning-border: @state-warning-border;
492
+ @panel-warning-heading-bg: @state-warning-bg;
493
+
494
+ @panel-danger-text: @state-danger-text;
495
+ @panel-danger-border: @state-danger-border;
496
+ @panel-danger-heading-bg: @state-danger-bg;
497
+
498
+ @panel-info-text: @state-info-text;
499
+ @panel-info-border: @state-info-border;
500
+ @panel-info-heading-bg: @state-info-bg;
501
+
502
+
503
+ // Thumbnails
504
+ // -------------------------
505
+ @thumbnail-padding: 4px;
506
+ @thumbnail-bg: @body-bg;
507
+ @thumbnail-border: #ddd;
508
+ @thumbnail-border-radius: @border-radius-base;
509
+
510
+ @thumbnail-caption-color: @text-color;
511
+ @thumbnail-caption-padding: 9px;
512
+
513
+
514
+ // Wells
515
+ // -------------------------
516
+ @well-bg: #f5f5f5;
517
+
518
+
519
+ // Accordion
520
+ // -------------------------
521
+ @accordion-border-color: #e5e5e5;
522
+
523
+
524
+ // Badges
525
+ // -------------------------
526
+ @badge-color: #fff;
527
+ @badge-link-hover-color: #fff;
528
+ @badge-bg: @gray-light;
529
+
530
+ @badge-active-color: @link-color;
531
+ @badge-active-bg: #fff;
532
+
533
+ @badge-font-weight: bold;
534
+ @badge-line-height: 1;
535
+ @badge-border-radius: 10px;
536
+
537
+
538
+ // Breadcrumbs
539
+ // -------------------------
540
+ @breadcrumb-bg: #f5f5f5;
541
+ @breadcrumb-color: #ccc;
542
+ @breadcrumb-active-color: @gray-light;
543
+
544
+
545
+ // Carousel
546
+ // ------------------------
547
+
548
+ @carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
549
+
550
+ @carousel-control-color: #fff;
551
+ @carousel-control-width: 15%;
552
+ @carousel-control-opacity: .5;
553
+ @carousel-control-font-size: 20px;
554
+
555
+ @carousel-indicator-active-bg: #fff;
556
+ @carousel-indicator-border-color: #fff;
557
+
558
+ @carousel-caption-color: #fff;
559
+
560
+
561
+ // Close
562
+ // ------------------------
563
+ @close-color: #000;
564
+ @close-font-weight: bold;
565
+ @close-text-shadow: 0 1px 0 #fff;
566
+
567
+
568
+ // Code
569
+ // ------------------------
570
+ @code-color: #c7254e;
571
+ @code-bg: #f9f2f4;
572
+
573
+ @pre-bg: #f5f5f5;
574
+ @pre-color: @gray-dark;
575
+ @pre-border-color: #ccc;
576
+ @pre-scrollable-max-height: 340px;
577
+
578
+ // Type
579
+ // ------------------------
580
+ @text-muted: @gray-light;
581
+ @abbr-border-color: @gray-light;
582
+ @headings-small-color: @gray-light;
583
+ @blockquote-small-color: @gray-light;
584
+ @blockquote-border-color: @gray-lighter;
585
+ @page-header-border-color: @gray-lighter;
586
+
587
+ // Miscellaneous
588
+ // -------------------------
589
+
590
+ // Hr border color
591
+ @hr-border: @gray-lighter;
592
+
593
+ // Horizontal forms & lists
594
+ @component-offset-horizontal: 180px;
595
+
596
+
597
+ // Container sizes
598
+ // --------------------------------------------------
599
+
600
+ // Small screen / tablet
601
+ @container-tablet: 720px;
602
+
603
+ // Medium screen / desktop
604
+ @container-desktop: 940px;
605
+
606
+ // Large screen / wide desktop
607
+ @container-large-desktop: 1140px;