bootstrap-on-rails 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +4 -0
  3. data/README.md +34 -0
  4. data/Rakefile +1 -0
  5. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  6. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +228 -0
  7. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  8. data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  9. data/app/assets/javascripts/bootstrap/affix.js +126 -0
  10. data/app/assets/javascripts/bootstrap/alert.js +98 -0
  11. data/app/assets/javascripts/bootstrap/button.js +109 -0
  12. data/app/assets/javascripts/bootstrap/carousel.js +217 -0
  13. data/app/assets/javascripts/bootstrap/collapse.js +179 -0
  14. data/app/assets/javascripts/bootstrap/dropdown.js +154 -0
  15. data/app/assets/javascripts/bootstrap/modal.js +246 -0
  16. data/app/assets/javascripts/bootstrap/popover.js +117 -0
  17. data/app/assets/javascripts/bootstrap/scrollspy.js +158 -0
  18. data/app/assets/javascripts/bootstrap/tab.js +135 -0
  19. data/app/assets/javascripts/bootstrap/tooltip.js +386 -0
  20. data/app/assets/javascripts/bootstrap/transition.js +56 -0
  21. data/app/assets/stylesheets/bootstrap/alerts.less +67 -0
  22. data/app/assets/stylesheets/bootstrap/badges.less +51 -0
  23. data/app/assets/stylesheets/bootstrap/bootstrap.less +58 -0
  24. data/app/assets/stylesheets/bootstrap/breadcrumbs.less +23 -0
  25. data/app/assets/stylesheets/bootstrap/button-groups.less +248 -0
  26. data/app/assets/stylesheets/bootstrap/buttons.less +160 -0
  27. data/app/assets/stylesheets/bootstrap/carousel.less +209 -0
  28. data/app/assets/stylesheets/bootstrap/close.less +33 -0
  29. data/app/assets/stylesheets/bootstrap/code.less +56 -0
  30. data/app/assets/stylesheets/bootstrap/component-animations.less +29 -0
  31. data/app/assets/stylesheets/bootstrap/dropdowns.less +193 -0
  32. data/app/assets/stylesheets/bootstrap/forms.less +362 -0
  33. data/app/assets/stylesheets/bootstrap/glyphicons.less +236 -0
  34. data/app/assets/stylesheets/bootstrap/grid.less +346 -0
  35. data/app/assets/stylesheets/bootstrap/input-groups.less +127 -0
  36. data/app/assets/stylesheets/bootstrap/jumbotron.less +40 -0
  37. data/app/assets/stylesheets/bootstrap/labels.less +58 -0
  38. data/app/assets/stylesheets/bootstrap/list-group.less +88 -0
  39. data/app/assets/stylesheets/bootstrap/media.less +56 -0
  40. data/app/assets/stylesheets/bootstrap/mixins.less +744 -0
  41. data/app/assets/stylesheets/bootstrap/modals.less +141 -0
  42. data/app/assets/stylesheets/bootstrap/navbar.less +621 -0
  43. data/app/assets/stylesheets/bootstrap/navs.less +229 -0
  44. data/app/assets/stylesheets/bootstrap/normalize.less +396 -0
  45. data/app/assets/stylesheets/bootstrap/pager.less +55 -0
  46. data/app/assets/stylesheets/bootstrap/pagination.less +85 -0
  47. data/app/assets/stylesheets/bootstrap/panels.less +148 -0
  48. data/app/assets/stylesheets/bootstrap/popovers.less +133 -0
  49. data/app/assets/stylesheets/bootstrap/print.less +100 -0
  50. data/app/assets/stylesheets/bootstrap/progress-bars.less +95 -0
  51. data/app/assets/stylesheets/bootstrap/responsive-utilities.less +220 -0
  52. data/app/assets/stylesheets/bootstrap/scaffolding.less +130 -0
  53. data/app/assets/stylesheets/bootstrap/tables.less +238 -0
  54. data/app/assets/stylesheets/bootstrap/theme.less +241 -0
  55. data/app/assets/stylesheets/bootstrap/thumbnails.less +31 -0
  56. data/app/assets/stylesheets/bootstrap/tooltip.less +95 -0
  57. data/app/assets/stylesheets/bootstrap/type.less +242 -0
  58. data/app/assets/stylesheets/bootstrap/utilities.less +42 -0
  59. data/app/assets/stylesheets/bootstrap/variables.less +635 -0
  60. data/app/assets/stylesheets/bootstrap/wells.less +29 -0
  61. data/bootstrap-on-rails.gemspec +25 -0
  62. data/lib/bootstrap-on-rails.rb +6 -0
  63. data/lib/bootstrap-on-rails/engine.rb +4 -0
  64. data/lib/bootstrap-on-rails/version.rb +3 -0
  65. data/test/test_helper.rb +2 -0
  66. metadata +112 -0
@@ -0,0 +1,241 @@
1
+
2
+ //
3
+ // Load core variables and mixins
4
+ // --------------------------------------------------
5
+
6
+ @import "variables.less";
7
+ @import "mixins.less";
8
+
9
+
10
+
11
+ //
12
+ // Buttons
13
+ // --------------------------------------------------
14
+
15
+ // Common styles
16
+ .btn-default,
17
+ .btn-primary,
18
+ .btn-success,
19
+ .btn-info,
20
+ .btn-warning,
21
+ .btn-danger {
22
+ text-shadow: 0 -1px 0 rgba(0,0,0,.2);
23
+ @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
24
+ .box-shadow(@shadow);
25
+
26
+ // Reset the shadow
27
+ &:active,
28
+ &.active {
29
+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
30
+ }
31
+ }
32
+
33
+ // Mixin for generating new styles
34
+ .btn-styles(@btn-color: #555;) {
35
+ #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));
36
+ background-repeat: repeat-x;
37
+ border-color: darken(@btn-color, 14%);
38
+
39
+ &:hover,
40
+ &:focus {
41
+ background-color: darken(@btn-color, 12%);
42
+ background-position: 0 -15px;
43
+ }
44
+
45
+ &:active,
46
+ &.active {
47
+ background-color: darken(@btn-color, 12%);
48
+ border-color: darken(@btn-color, 14%);
49
+ }
50
+ }
51
+
52
+ // Common styles
53
+ .btn {
54
+ // Remove the gradient for the pressed/active state
55
+ &:active,
56
+ &.active {
57
+ background-image: none;
58
+ }
59
+ }
60
+
61
+ // Apply the mixin to the buttons
62
+ .btn-default { .btn-styles(@btn-default-bg;); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
63
+ .btn-primary { .btn-styles(@btn-primary-bg); }
64
+ .btn-success { .btn-styles(@btn-success-bg); }
65
+ .btn-warning { .btn-styles(@btn-warning-bg); }
66
+ .btn-danger { .btn-styles(@btn-danger-bg); }
67
+ .btn-info { .btn-styles(@btn-info-bg); }
68
+
69
+
70
+
71
+ //
72
+ // Images
73
+ // --------------------------------------------------
74
+
75
+ .thumbnail,
76
+ .img-thumbnail {
77
+ .box-shadow(0 1px 2px rgba(0,0,0,.075));
78
+ }
79
+
80
+
81
+
82
+ //
83
+ // Dropdowns
84
+ // --------------------------------------------------
85
+
86
+ .dropdown-menu > li > a:hover,
87
+ .dropdown-menu > li > a:focus,
88
+ .dropdown-menu > .active > a,
89
+ .dropdown-menu > .active > a:hover,
90
+ .dropdown-menu > .active > a:focus {
91
+ #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));
92
+ background-color: darken(@dropdown-link-hover-bg, 5%);
93
+ }
94
+
95
+
96
+
97
+ //
98
+ // Navbar
99
+ // --------------------------------------------------
100
+
101
+ // Default navbar
102
+ .navbar-default {
103
+ #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg;);
104
+ border-radius: @navbar-border-radius;
105
+ @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
106
+ .box-shadow(@shadow);
107
+
108
+ .navbar-nav > .active > a {
109
+ #gradient > .vertical(@start-color: darken(@navbar-default-bg, 5%); @end-color: darken(@navbar-default-bg, 2%););
110
+ .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));
111
+ }
112
+ }
113
+ .navbar-brand,
114
+ .navbar-nav > li > a {
115
+ text-shadow: 0 1px 0 rgba(255,255,255,.25);
116
+ }
117
+
118
+ // Inverted navbar
119
+ .navbar-inverse {
120
+ #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg;);
121
+
122
+ .navbar-nav > .active > a {
123
+ #gradient > .vertical(@start-color: @navbar-inverse-bg; @end-color: lighten(@navbar-inverse-bg, 2.5%););
124
+ .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));
125
+ }
126
+
127
+ .navbar-brand,
128
+ .navbar-nav > li > a {
129
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
130
+ }
131
+ }
132
+
133
+ // Undo rounded corners in static and fixed navbars
134
+ .navbar-static-top,
135
+ .navbar-fixed-top,
136
+ .navbar-fixed-bottom {
137
+ border-radius: 0;
138
+ }
139
+
140
+
141
+
142
+ //
143
+ // Alerts
144
+ // --------------------------------------------------
145
+
146
+ // Common styles
147
+ .alert {
148
+ text-shadow: 0 1px 0 rgba(255,255,255,.2);
149
+ @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);
150
+ .box-shadow(@shadow);
151
+ }
152
+
153
+ // Mixin for generating new styles
154
+ .alert-styles(@color) {
155
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));
156
+ border-color: darken(@color, 15%);
157
+ }
158
+
159
+ // Apply the mixin to the alerts
160
+ .alert-success { .alert-styles(@alert-success-bg); }
161
+ .alert-info { .alert-styles(@alert-info-bg); }
162
+ .alert-warning { .alert-styles(@alert-warning-bg); }
163
+ .alert-danger { .alert-styles(@alert-danger-bg); }
164
+
165
+
166
+
167
+ //
168
+ // Progress bars
169
+ // --------------------------------------------------
170
+
171
+ // Give the progress background some depth
172
+ .progress {
173
+ #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg;)
174
+ }
175
+
176
+ // Mixin for generating new styles
177
+ .progress-bar-styles(@color) {
178
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));
179
+ }
180
+
181
+ // Apply the mixin to the progress bars
182
+ .progress-bar { .progress-bar-styles(@progress-bar-bg); }
183
+ .progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }
184
+ .progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }
185
+ .progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }
186
+ .progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }
187
+
188
+
189
+
190
+ //
191
+ // List groups
192
+ // --------------------------------------------------
193
+
194
+ .list-group {
195
+ border-radius: @border-radius-base;
196
+ .box-shadow(0 1px 2px rgba(0,0,0,.075));
197
+ }
198
+ .list-group-item.active,
199
+ .list-group-item.active:hover,
200
+ .list-group-item.active:focus {
201
+ text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);
202
+ #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));
203
+ border-color: darken(@list-group-active-border, 7.5%);
204
+ }
205
+
206
+
207
+
208
+ //
209
+ // Panels
210
+ // --------------------------------------------------
211
+
212
+ // Common styles
213
+ .panel {
214
+ .box-shadow(0 1px 2px rgba(0,0,0,.05));
215
+ }
216
+
217
+ // Mixin for generating new styles
218
+ .panel-heading-styles(@color) {
219
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));
220
+ }
221
+
222
+ // Apply the mixin to the panel headings only
223
+ .panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }
224
+ .panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }
225
+ .panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }
226
+ .panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }
227
+ .panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }
228
+ .panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }
229
+
230
+
231
+
232
+ //
233
+ // Wells
234
+ // --------------------------------------------------
235
+
236
+ .well {
237
+ #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg;);
238
+ border-color: darken(@well-bg, 10%);
239
+ @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
240
+ .box-shadow(@shadow);
241
+ }
@@ -0,0 +1,31 @@
1
+ //
2
+ // Thumbnails
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Mixin and adjust the regular image class
7
+ .thumbnail {
8
+ .img-thumbnail();
9
+ display: block; // Override the inline-block from `.img-thumbnail`
10
+
11
+ > img {
12
+ .img-responsive();
13
+ }
14
+ }
15
+
16
+
17
+ // Add a hover state for linked versions only
18
+ a.thumbnail:hover,
19
+ a.thumbnail:focus {
20
+ border-color: @link-color;
21
+ }
22
+
23
+ // Images and captions
24
+ .thumbnail > img {
25
+ margin-left: auto;
26
+ margin-right: auto;
27
+ }
28
+ .thumbnail .caption {
29
+ padding: @thumbnail-caption-padding;
30
+ color: @thumbnail-caption-color;
31
+ }
@@ -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,242 @@
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
+
56
+ small {
57
+ font-weight: normal;
58
+ line-height: 1;
59
+ color: @headings-small-color;
60
+ }
61
+ }
62
+
63
+ h1,
64
+ h2,
65
+ h3 {
66
+ margin-top: @line-height-computed;
67
+ margin-bottom: (@line-height-computed / 2);
68
+
69
+ small {
70
+ font-size: 65%;
71
+ }
72
+ }
73
+ h4,
74
+ h5,
75
+ h6 {
76
+ margin-top: (@line-height-computed / 2);
77
+ margin-bottom: (@line-height-computed / 2);
78
+
79
+ small {
80
+ font-size: 75%;
81
+ }
82
+ }
83
+
84
+ h1, .h1 { font-size: @font-size-h1; }
85
+ h2, .h2 { font-size: @font-size-h2; }
86
+ h3, .h3 { font-size: @font-size-h3; }
87
+ h4, .h4 { font-size: @font-size-h4; }
88
+ h5, .h5 { font-size: @font-size-h5; }
89
+ h6, .h6 { font-size: @font-size-h6; }
90
+
91
+
92
+ // Page header
93
+ // -------------------------
94
+
95
+ .page-header {
96
+ padding-bottom: ((@line-height-computed / 2) - 1);
97
+ margin: (@line-height-computed * 2) 0 @line-height-computed;
98
+ border-bottom: 1px solid @page-header-border-color;
99
+ }
100
+
101
+
102
+
103
+ // Lists
104
+ // --------------------------------------------------
105
+
106
+ // Unordered and Ordered lists
107
+ ul,
108
+ ol {
109
+ margin-top: 0;
110
+ margin-bottom: (@line-height-computed / 2);
111
+ ul,
112
+ ol{
113
+ margin-bottom: 0;
114
+ }
115
+ }
116
+
117
+ // List options
118
+
119
+ // Unstyled keeps list items block level, just removes default browser padding and list-style
120
+ .list-unstyled {
121
+ padding-left: 0;
122
+ list-style: none;
123
+ }
124
+ // Inline turns list items into inline-block
125
+ .list-inline {
126
+ .list-unstyled();
127
+ > li {
128
+ display: inline-block;
129
+ padding-left: 5px;
130
+ padding-right: 5px;
131
+ }
132
+ }
133
+
134
+ // Description Lists
135
+ dl {
136
+ margin-bottom: @line-height-computed;
137
+ }
138
+ dt,
139
+ dd {
140
+ line-height: @line-height-base;
141
+ }
142
+ dt {
143
+ font-weight: bold;
144
+ }
145
+ dd {
146
+ margin-left: 0; // Undo browser default
147
+ }
148
+
149
+ // Horizontal description lists
150
+ //
151
+ // Defaults to being stacked without any of the below styles applied, until the
152
+ // grid breakpoint is reached (default of ~768px).
153
+
154
+ @media (min-width: @grid-float-breakpoint) {
155
+ .dl-horizontal {
156
+ dt {
157
+ float: left;
158
+ width: (@component-offset-horizontal - 20);
159
+ clear: left;
160
+ text-align: right;
161
+ .text-overflow();
162
+ }
163
+ dd {
164
+ margin-left: @component-offset-horizontal;
165
+ .clearfix(); // Clear the floated `dt` if an empty `dd` is present
166
+ }
167
+ }
168
+ }
169
+
170
+ // MISC
171
+ // ----
172
+
173
+ // Abbreviations and acronyms
174
+ abbr[title],
175
+ // Added data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257
176
+ abbr[data-original-title] {
177
+ cursor: help;
178
+ border-bottom: 1px dotted @abbr-border-color;
179
+ }
180
+ abbr.initialism {
181
+ font-size: 90%;
182
+ text-transform: uppercase;
183
+ }
184
+
185
+ // Blockquotes
186
+ blockquote {
187
+ padding: (@line-height-computed / 2) @line-height-computed;
188
+ margin: 0 0 @line-height-computed;
189
+ border-left: 5px solid @blockquote-border-color;
190
+ p {
191
+ font-size: (@font-size-base * 1.25);
192
+ font-weight: 300;
193
+ line-height: 1.25;
194
+ }
195
+ p:last-child {
196
+ margin-bottom: 0;
197
+ }
198
+ small {
199
+ display: block;
200
+ line-height: @line-height-base;
201
+ color: @blockquote-small-color;
202
+ &:before {
203
+ content: '\2014 \00A0';// EM DASH, NBSP
204
+ }
205
+ }
206
+
207
+ // Float right with text-align: right
208
+ &.pull-right {
209
+ padding-right: 15px;
210
+ padding-left: 0;
211
+ border-right: 5px solid @blockquote-border-color;
212
+ border-left: 0;
213
+ p,
214
+ small {
215
+ text-align: right;
216
+ }
217
+ small {
218
+ &:before {
219
+ content: '';
220
+ }
221
+ &:after {
222
+ content: '\00A0 \2014';// NBSP, EM DASH
223
+ }
224
+ }
225
+ }
226
+ }
227
+
228
+ // Quotes
229
+ q:before,
230
+ q:after,
231
+ blockquote:before,
232
+ blockquote:after {
233
+ content: "";
234
+ }
235
+
236
+ // Addresses
237
+ address {
238
+ display: block;
239
+ margin-bottom: @line-height-computed;
240
+ font-style: normal;
241
+ line-height: @line-height-base;
242
+ }