anjlab-bootstrap-rails 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,224 @@
1
+ /* Variables.less
2
+ * Snippets of reusable CSS to develop faster and keep code readable
3
+ * ----------------------------------------------------------------- */
4
+
5
+
6
+ // Clearfix for clearing floats like a boss h5bp.com/q
7
+ @mixin clearfix {
8
+ zoom: 1;
9
+ &:before,
10
+ &:after {
11
+ display: table;
12
+ content: "";
13
+ zoom: 1;
14
+ *display: inline;
15
+ }
16
+ &:after {
17
+ clear: both;
18
+ }
19
+ }
20
+
21
+ .clearfix {
22
+ @include clearfix;
23
+ }
24
+
25
+ // Center-align a block level element
26
+ @mixin center-block {
27
+ display: block;
28
+ margin-left: auto;
29
+ margin-right: auto;
30
+ }
31
+
32
+ .center-block {
33
+ @include center-block;
34
+ }
35
+
36
+ // Sizing shortcuts
37
+ @mixin size($height: 5px, $width: 5px) {
38
+ height: $height;
39
+ width: $width;
40
+ }
41
+ @mixin square($size: $px) {
42
+ @include size($size, $size);
43
+ }
44
+
45
+ // Input placeholder text
46
+ @mixin placeholder($color: $grayLight) {
47
+ :-moz-placeholder {
48
+ color: $color;
49
+ }
50
+ ::-webkit-input-placeholder {
51
+ color: $color;
52
+ }
53
+ }
54
+
55
+ // Font Stacks
56
+ @mixin font-shorthand($weight: normal, $size: 14px, $lineHeight: 20px) {
57
+ font-size: $size;
58
+ font-weight: $weight;
59
+ line-height: $lineHeight;
60
+ }
61
+ @mixin font-sans-serif($weight: normal, $size: 14px, $lineHeight: 20px) {
62
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
63
+ font-size: $size;
64
+ font-weight: $weight;
65
+ line-height: $lineHeight;
66
+ }
67
+ @mixin font-serif($weight: normal, $size: 14px, $lineHeight: 20px) {
68
+ font-family: "Georgia", Times New Roman, Times, serif;
69
+ font-size: $size;
70
+ font-weight: $weight;
71
+ line-height: $lineHeight;
72
+ }
73
+ @mixin font-monospace($weight: normal, $size: 12px, $lineHeight: 20px) {
74
+ font-family: "Monaco", Courier New, monospace;
75
+ font-size: $size;
76
+ font-weight: $weight;
77
+ line-height: $lineHeight;
78
+ }
79
+
80
+ // Grid System
81
+ @mixin fixed-container {
82
+ width: $siteWidth;
83
+ margin-left: auto;
84
+ margin-right: auto;
85
+ @include clearfix;
86
+ }
87
+
88
+ .fixed-container {
89
+ @include fixed-container;
90
+ }
91
+
92
+ @mixin columns($columnSpan: 1) {
93
+ width: ($gridColumnWidth * $columnSpan) + ($gridGutterWidth * ($columnSpan - 1));
94
+ }
95
+ @mixin offset($columnOffset: 1) {
96
+ margin-left: ($gridColumnWidth * $columnOffset) + ($gridGutterWidth * ($columnOffset - 1)) + $extraSpace;
97
+ }
98
+ // Necessary grid styles for every column to make them appear next to each other horizontally
99
+ @mixin gridColumn() {
100
+ display: inline;
101
+ float: left;
102
+ margin-left: $gridGutterWidth;
103
+ }
104
+ // makeColumn can be used to mark any element (e.g., .content-primary) as a column without changing markup to .span something
105
+ @mixin makeColumn($columnSpan: 1) {
106
+ @include gridColumn;
107
+ @include columns($columnSpan);
108
+ }
109
+
110
+ // Border Radius
111
+ @mixin border-radius($radius: 5px) {
112
+ -webkit-border-radius: $radius;
113
+ -moz-border-radius: $radius;
114
+ border-radius: $radius;
115
+ }
116
+
117
+ // Drop shadows
118
+ @mixin box-shadow($shadow: 0 1px 3px rgba(0,0,0,.25)) {
119
+ -webkit-box-shadow: $shadow;
120
+ -moz-box-shadow: $shadow;
121
+ box-shadow: $shadow;
122
+ }
123
+
124
+ // Transitions
125
+ @mixin transition($transition) {
126
+ -webkit-transition: $transition;
127
+ -moz-transition: $transition;
128
+ -ms-transition: $transition;
129
+ -o-transition: $transition;
130
+ transition: $transition;
131
+ }
132
+
133
+ // Background clipping
134
+ @mixin background-clip($clip) {
135
+ -webkit-background-clip: $clip;
136
+ -moz-background-clip: $clip;
137
+ background-clip: $clip;
138
+ }
139
+
140
+ // CSS3 Content Columns
141
+ @mixin content-columns($columnCount, $columnGap: 20px) {
142
+ -webkit-column-count: $columnCount;
143
+ -moz-column-count: $columnCount;
144
+ column-count: $columnCount;
145
+ -webkit-column-gap: $columnGap;
146
+ -moz-column-gap: $columnGap;
147
+ column-gap: $columnGap;
148
+ }
149
+
150
+ // Add an alphatransparency value to any background or border color (via Elyse Holladay)
151
+ @mixin translucent-background($color: $white, $alpha: 1) {
152
+ background-color: hsla(hue($color), saturation($color), lightness($color), $alpha);
153
+ }
154
+ @mixin translucent-border($color: $white, $alpha: 1) {
155
+ border-color: hsla(hue($color), saturation($color), lightness($color), $alpha);
156
+ background-clip: padding-box;
157
+ }
158
+
159
+ // Gradients
160
+ @mixin gradient-horizontal ($startColor: #555, $endColor: #333) {
161
+ background-color: $endColor;
162
+ background-repeat: repeat-x;
163
+ background-image: -khtml-gradient(linear, left top, right top, from($startColor), to($endColor)); // Konqueror
164
+ background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
165
+ background-image: -ms-linear-gradient(left, $startColor, $endColor); // IE10
166
+ background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, $startColor), color-stop(100%, $endColor)); // Safari 4+, Chrome 2+
167
+ background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
168
+ background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
169
+ background-image: linear-gradient(left, $startColor, $endColor); // Le standard
170
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=1); // IE9 and down
171
+ }
172
+ @mixin gradient-vertical ($startColor: #555, $endColor: #333) {
173
+ background-color: $endColor;
174
+ background-repeat: repeat-x;
175
+ background-image: -khtml-gradient(linear, left top, left bottom, from($startColor), to($endColor)); // Konqueror
176
+ background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+
177
+ background-image: -ms-linear-gradient(top, $startColor, $endColor); // IE10
178
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $startColor), color-stop(100%, $endColor)); // Safari 4+, Chrome 2+
179
+ background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+
180
+ background-image: -o-linear-gradient(top, $startColor, $endColor); // Opera 11.10
181
+ background-image: linear-gradient(top, $startColor, $endColor); // The standard
182
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=0); // IE9 and down
183
+ }
184
+ @mixin gradient-directional ($startColor: #555, $endColor: #333, $deg: 45deg) {
185
+ background-color: $endColor;
186
+ background-repeat: repeat-x;
187
+ background-image: -moz-linear-gradient($deg, $startColor, $endColor); // FF 3.6+
188
+ background-image: -ms-linear-gradient($deg, $startColor, $endColor); // IE10
189
+ background-image: -webkit-linear-gradient($deg, $startColor, $endColor); // Safari 5.1+, Chrome 10+
190
+ background-image: -o-linear-gradient($deg, $startColor, $endColor); // Opera 11.10
191
+ background-image: linear-gradient($deg, $startColor, $endColor); // The standard
192
+ }
193
+ @mixin gradient-vertical-three-colors($startColor: #00b3ee, $midColor: #7a43b6, $colorStop: 50%, $endColor: #c3325f) {
194
+ background-color: $endColor;
195
+ background-repeat: no-repeat;
196
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), color-stop($colorStop, $midColor), to($endColor));
197
+ background-image: -webkit-linear-gradient($startColor, $midColor $colorStop, $endColor);
198
+ background-image: -moz-linear-gradient(top, $startColor, $midColor $colorStop, $endColor);
199
+ background-image: -ms-linear-gradient($startColor, $midColor $colorStop, $endColor);
200
+ background-image: -o-linear-gradient($startColor, $midColor $colorStop, $endColor);
201
+ background-image: linear-gradient($startColor, $midColor $colorStop, $endColor);
202
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
203
+ }
204
+
205
+ // Gradient Bar Colors for buttons and allerts
206
+ @mixin gradient-bar($primaryColor, $secondaryColor) {
207
+ @include gradient-vertical($primaryColor, $secondaryColor);
208
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
209
+ border-color: $secondaryColor $secondaryColor darken($secondaryColor, 15%);
210
+ border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fade-in(rgba(0,0,0,.1), 0.15);
211
+ }
212
+
213
+ // Reset filters for IE
214
+ @mixin reset-filter() {
215
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
216
+ }
217
+
218
+ // Opacity
219
+ @mixin opacity($opacity: 100) {
220
+ filter: alpha(opacity=#{$opacity});
221
+ -khtml-opacity: $opacity / 100;
222
+ -moz-opacity: $opacity / 100;
223
+ opacity: $opacity / 100;
224
+ }
@@ -0,0 +1,1002 @@
1
+ /* Patterns.less
2
+ * Repeatable UI elements outside the base styles provided from the scaffolding
3
+ * ---------------------------------------------------------------------------- */
4
+
5
+
6
+ // TOPBAR
7
+ // ------
8
+
9
+ // Topbar for Branding and Nav
10
+ .topbar {
11
+ height: 40px;
12
+ position: fixed;
13
+ top: 0;
14
+ left: 0;
15
+ right: 0;
16
+ z-index: 10000;
17
+ overflow: visible;
18
+
19
+ // Links get text shadow
20
+ a {
21
+ color: $grayLight;
22
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
23
+ }
24
+
25
+ // Hover and active states
26
+ // h3 for backwards compatibility
27
+ h3 a:hover,
28
+ .brand a:hover,
29
+ ul .active > a {
30
+ background-color: #333;
31
+ background-color: rgba(255,255,255,.05);
32
+ color: $white;
33
+ text-decoration: none;
34
+ }
35
+
36
+ // Website name
37
+ // h3 left for backwards compatibility
38
+ h3 {
39
+ position: relative;
40
+ }
41
+ h3 a,
42
+ .brand {
43
+ float: left;
44
+ display: block;
45
+ padding: 8px 20px 12px;
46
+ margin-left: -20px; // negative indent to left-align the text down the page
47
+ color: $white;
48
+ font-size: 20px;
49
+ font-weight: 200;
50
+ line-height: 1;
51
+ }
52
+
53
+ // Plain text in topbar
54
+ p {
55
+ margin: 0;
56
+ line-height: 40px;
57
+ a:hover {
58
+ background-color: transparent;
59
+ color: $white;
60
+ }
61
+ }
62
+
63
+ // Search Form
64
+ form {
65
+ float: left;
66
+ margin: 5px 0 0 0;
67
+ position: relative;
68
+ @include opacity(100);
69
+ }
70
+ // Todo: remove from v2.0 when ready, added for legacy
71
+ form.pull-right {
72
+ float: right;
73
+ }
74
+ input {
75
+ background-color: #444;
76
+ background-color: rgba(255,255,255,.3);
77
+ @include font-sans-serif(13px, normal, 1);
78
+ padding: 4px 9px;
79
+ color: $white;
80
+ color: rgba(255,255,255,.75);
81
+ border: 1px solid #111;
82
+ @include border-radius(4px);
83
+ $shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.25);
84
+ @include box-shadow($shadow);
85
+ @include transition(none);
86
+
87
+ // Placeholder text gets special styles; can't be bundled together though for some reason
88
+ &:-moz-placeholder {
89
+ color: $grayLighter;
90
+ }
91
+ &::-webkit-input-placeholder {
92
+ color: $grayLighter;
93
+ }
94
+ // Hover states
95
+ &:hover {
96
+ background-color: $grayLight;
97
+ background-color: rgba(255,255,255,.5);
98
+ color: $white;
99
+ }
100
+ // Focus states (we use .focused since IE8 and down doesn't support :focus)
101
+ &:focus,
102
+ &.focused {
103
+ outline: 0;
104
+ background-color: $white;
105
+ color: $grayDark;
106
+ text-shadow: 0 1px 0 #fff;
107
+ border: 0;
108
+ padding: 5px 10px;
109
+ @include box-shadow(0 0 3px rgba(0,0,0,.15));
110
+ }
111
+ }
112
+ }
113
+
114
+ // gradient is applied to it's own element because overflow visible is not honored by ie when filter is present
115
+ // For backwards compatibility, include .topbar .fill
116
+ .topbar-inner,
117
+ .topbar .fill {
118
+ background-color: #222;
119
+ @include gradient-vertical(#333, #222);
120
+ $shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1);
121
+ @include box-shadow($shadow);
122
+ }
123
+
124
+ // NAVIGATION
125
+ // ----------
126
+
127
+ // Topbar Nav
128
+ // ul.nav for all topbar based navigation to avoid inheritance issues and over-specificity
129
+ // For backwards compatibility, leave in .topbar div > ul
130
+ .topbar div > ul,
131
+ .nav {
132
+ display: block;
133
+ float: left;
134
+ margin: 0 10px 0 0;
135
+ position: relative;
136
+ left: 0;
137
+ > li {
138
+ display: block;
139
+ float: left;
140
+ }
141
+ a {
142
+ display: block;
143
+ float: none;
144
+ padding: 10px 10px 11px;
145
+ line-height: 19px;
146
+ text-decoration: none;
147
+ &:hover {
148
+ color: $white;
149
+ text-decoration: none;
150
+ }
151
+ }
152
+ .active > a {
153
+ background-color: #222;
154
+ background-color: rgba(0,0,0,.5);
155
+ }
156
+
157
+ // Secondary (floated right) nav in topbar
158
+ &.secondary-nav {
159
+ float: right;
160
+ margin-left: 10px;
161
+ margin-right: 0;
162
+ // backwards compatibility
163
+ .menu-dropdown,
164
+ .dropdown-menu {
165
+ right: 0;
166
+ border: 0;
167
+ }
168
+ }
169
+ // Dropdowns within the .nav
170
+ // a.menu:hover and li.open .menu for backwards compatibility
171
+ a.menu:hover,
172
+ li.open .menu,
173
+ .dropdown-toggle:hover,
174
+ .dropdown.open .dropdown-toggle {
175
+ background: #444;
176
+ background: rgba(255,255,255,.05);
177
+ }
178
+ // .menu-dropdown for backwards compatibility
179
+ .menu-dropdown,
180
+ .dropdown-menu {
181
+ background-color: #333;
182
+ // a.menu for backwards compatibility
183
+ a.menu,
184
+ .dropdown-toggle {
185
+ color: $white;
186
+ &.open {
187
+ background: #444;
188
+ background: rgba(255,255,255,.05);
189
+ }
190
+ }
191
+ li a {
192
+ color: #999;
193
+ text-shadow: 0 1px 0 rgba(0,0,0,.5);
194
+ &:hover {
195
+ @include gradient-vertical(#292929,#191919);
196
+ color: $white;
197
+ }
198
+ }
199
+ .active a {
200
+ color: $white;
201
+ }
202
+ .divider {
203
+ background-color: #222;
204
+ border-color: #444;
205
+ }
206
+ }
207
+ }
208
+
209
+ // For backwards compatibility with new dropdowns, redeclare dropdown link padding
210
+ .topbar ul .menu-dropdown li a,
211
+ .topbar ul .dropdown-menu li a {
212
+ padding: 4px 15px;
213
+ }
214
+
215
+ // Dropdown Menus
216
+ // Use the .menu class on any <li> element within the topbar or ul.tabs and you'll get some superfancy dropdowns
217
+ // li.menu for backwards compatibility
218
+ li.menu,
219
+ .dropdown {
220
+ position: relative;
221
+ }
222
+ // The link that is clicked to toggle the dropdown
223
+ // a.menu for backwards compatibility
224
+ a.menu:after,
225
+ .dropdown-toggle:after {
226
+ width: 0;
227
+ height: 0;
228
+ display: inline-block;
229
+ content: "&darr;";
230
+ text-indent: -99999px;
231
+ vertical-align: top;
232
+ margin-top: 8px;
233
+ margin-left: 4px;
234
+ border-left: 4px solid transparent;
235
+ border-right: 4px solid transparent;
236
+ border-top: 4px solid $white;
237
+ @include opacity(50);
238
+ }
239
+ // The dropdown menu (ul)
240
+ // .menu-dropdown for backwards compatibility
241
+ .menu-dropdown,
242
+ .dropdown-menu {
243
+ background-color: $white;
244
+ float: left;
245
+ display: none; // None by default, but block on "open" of the menu
246
+ position: absolute;
247
+ top: 40px;
248
+ z-index: 900;
249
+ min-width: 160px;
250
+ max-width: 220px;
251
+ _width: 160px;
252
+ margin-left: 0; // override default ul styles
253
+ margin-right: 0;
254
+ padding: 6px 0;
255
+ zoom: 1; // do we need this?
256
+ border-color: #999;
257
+ border-color: rgba(0,0,0,.2);
258
+ border-style: solid;
259
+ border-width: 0 1px 1px;
260
+ @include border-radius(0 0 6px 6px);
261
+ @include box-shadow(0 2px 4px rgba(0,0,0,.2));
262
+ @include background-clip(padding-box);
263
+
264
+ // Unfloat any li's to make them stack
265
+ li {
266
+ float: none;
267
+ display: block;
268
+ background-color: none;
269
+ }
270
+ // Dividers (basically an hr) within the dropdown
271
+ .divider {
272
+ height: 1px;
273
+ margin: 5px 0;
274
+ overflow: hidden;
275
+ background-color: #eee;
276
+ border-bottom: 1px solid $white;
277
+ }
278
+ }
279
+
280
+ .topbar .dropdown-menu, .dropdown-menu {
281
+ // Links within the dropdown menu
282
+ a {
283
+ display: block;
284
+ padding: 4px 15px;
285
+ clear: both;
286
+ font-weight: normal;
287
+ line-height: 18px;
288
+ color: $gray;
289
+ text-shadow: 0 1px 0 $white;
290
+ // Hover state
291
+ &:hover {
292
+ @include gradient-vertical(#eeeeee, #dddddd);
293
+ color: $grayDark;
294
+ text-decoration: none;
295
+ $shadow: inset 0 1px 0 rgba(0,0,0,.025), inset 0 -1px rgba(0,0,0,.025);
296
+ @include box-shadow($shadow);
297
+ }
298
+ }
299
+ }
300
+
301
+ // Open state for the dropdown
302
+ // .open for backwards compatibility
303
+ .open,
304
+ .dropdown.open {
305
+ // .menu for backwards compatibility
306
+ .menu,
307
+ .dropdown-toggle {
308
+ color: $white;
309
+ background: #ccc;
310
+ background: rgba(0,0,0,.3);
311
+ }
312
+ // .menu-dropdown for backwards compatibility
313
+ .menu-dropdown,
314
+ .dropdown-menu {
315
+ display: block;
316
+ }
317
+ }
318
+
319
+
320
+ // Tabs and Pills
321
+ .tabs,
322
+ .pills {
323
+ margin: 0 0 20px;
324
+ padding: 0;
325
+ list-style: none;
326
+ @include clearfix;
327
+ > li {
328
+ float: left;
329
+ > a {
330
+ display: block;
331
+ }
332
+ }
333
+ }
334
+
335
+ // Basic Tabs
336
+ .tabs {
337
+ float: left;
338
+ width: 100%;
339
+ border-bottom: 1px solid #ddd;
340
+ > li {
341
+ position: relative; // For the dropdowns mostly
342
+ top: 1px;
343
+ > a {
344
+ padding: 0 15px;
345
+ margin-right: 2px;
346
+ line-height: $baseline * 2;
347
+ border: 1px solid transparent;
348
+ @include border-radius(4px 4px 0 0);
349
+ &:hover {
350
+ text-decoration: none;
351
+ background-color: #eee;
352
+ border-color: #eee #eee #ddd;
353
+ }
354
+ }
355
+ &.active > a {
356
+ color: $gray;
357
+ background-color: $white;
358
+ border: 1px solid #ddd;
359
+ border-bottom-color: transparent;
360
+ }
361
+ }
362
+ // first one for backwards compatibility
363
+ .menu-dropdown,
364
+ .dropdown-menu {
365
+ top: 35px;
366
+ border-width: 1px;
367
+ @include border-radius(0 6px 6px 6px);
368
+ }
369
+ // first one for backwards compatibility
370
+ a.menu:after,
371
+ .dropdown-toggle:after {
372
+ border-top-color: #999;
373
+ margin-top: 15px;
374
+ margin-left: 5px;
375
+ }
376
+ // first one for backwards compatibility
377
+ li.open.menu .menu,
378
+ .open.dropdown .dropdown-toggle {
379
+ border-color: #999;
380
+ }
381
+ // first one for backwards compatibility
382
+ li.open a.menu:after,
383
+ .dropdown.open .dropdown-toggle:after {
384
+ border-top-color: #555;
385
+ }
386
+ }
387
+ .tab-content {
388
+ clear: both;
389
+ }
390
+
391
+ // Basic pill nav
392
+ .pills {
393
+ a {
394
+ margin: 5px 3px 5px 0;
395
+ padding: 0 15px;
396
+ text-shadow: 0 1px 1px $white;
397
+ line-height: 30px;
398
+ @include border-radius(15px);
399
+ &:hover {
400
+ background: $linkColorHover;
401
+ color: $white;
402
+ text-decoration: none;
403
+ text-shadow: 0 1px 1px rgba(0,0,0,.25);
404
+ }
405
+ }
406
+ .active a {
407
+ background: $linkColor;
408
+ color: $white;
409
+ text-shadow: 0 1px 1px rgba(0,0,0,.25);
410
+ }
411
+ }
412
+
413
+ .tab-content > *,
414
+ .pill-content > * {
415
+ display: none;
416
+ }
417
+
418
+ .tab-content > .active,
419
+ .pill-content > .active {
420
+ display:block;
421
+ }
422
+
423
+
424
+ // BREADCRUMBS
425
+ // -----------
426
+
427
+ .breadcrumb {
428
+ margin: 0 0 $baseline;
429
+ padding: 7px 14px;
430
+ @include gradient-vertical(#ffffff, #f5f5f5);
431
+ border: 1px solid #ddd;
432
+ @include border-radius(3px);
433
+ @include box-shadow(inset 0 1px 0 $white);
434
+ li {
435
+ display: inline;
436
+ text-shadow: 0 1px 0 $white;
437
+ }
438
+ .divider {
439
+ padding: 0 5px;
440
+ color: $grayLight;
441
+ }
442
+ a {
443
+ }
444
+ .active a {
445
+ color: $grayDark;
446
+ }
447
+ }
448
+
449
+
450
+ // PAGE HEADERS
451
+ // ------------
452
+
453
+ .hero-unit {
454
+ background-color: #f5f5f5;
455
+ margin-bottom: 30px;
456
+ padding: 60px;
457
+ @include border-radius(6px);
458
+ h1 {
459
+ margin-bottom: 0;
460
+ font-size: 60px;
461
+ line-height: 1;
462
+ letter-spacing: -1px;
463
+ }
464
+ p {
465
+ font-size: 18px;
466
+ font-weight: 200;
467
+ line-height: $baseline * 1.5;
468
+ }
469
+ }
470
+ footer {
471
+ margin-top: $baseline - 1;
472
+ padding-top: $baseline - 1;
473
+ border-top: 1px solid #eee;
474
+ }
475
+
476
+
477
+ // PAGE HEADERS
478
+ // ------------
479
+
480
+ .page-header {
481
+ margin-bottom: $baseline - 1;
482
+ border-bottom: 1px solid #ddd;
483
+ @include box-shadow(0 1px 0 rgba(255,255,255,.5));
484
+ h1 {
485
+ margin-bottom: ($baseline / 2) - 1px;
486
+ }
487
+ }
488
+
489
+
490
+ // BUTTON STYLES
491
+ // -------------
492
+
493
+ // Shared colors for buttons and alerts
494
+ .btn,
495
+ .alert-message {
496
+ // Set text color
497
+ &.danger,
498
+ &.danger:hover,
499
+ &.error,
500
+ &.error:hover,
501
+ &.success,
502
+ &.success:hover,
503
+ &.info,
504
+ &.info:hover {
505
+ color: $white
506
+ }
507
+ // Danger and error appear as red
508
+ &.danger,
509
+ &.error {
510
+ @include gradient-bar(#ee5f5b, #c43c35);
511
+ }
512
+ // Success appears as green
513
+ &.success {
514
+ @include gradient-bar(#62c462, #57a957);
515
+ }
516
+ // Info appears as a neutral blue
517
+ &.info {
518
+ @include gradient-bar(#5bc0de, #339bb9);
519
+ }
520
+ }
521
+
522
+ // Base .btn styles
523
+ .btn {
524
+ // Button Base
525
+ cursor: pointer;
526
+ display: inline-block;
527
+ @include gradient-vertical-three-colors(#ffffff, #ffffff, 25%, darken(#ffffff, 10%)); // Don't use .gradientbar() here since it does a three-color gradient
528
+ padding: 5px 14px 6px;
529
+ text-shadow: 0 1px 1px rgba(255,255,255,.75);
530
+ color: #333;
531
+ font-size: $basefont;
532
+ line-height: normal;
533
+ border: 1px solid #ccc;
534
+ border-bottom-color: #bbb;
535
+ @include border-radius(4px);
536
+ $shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
537
+ @include box-shadow($shadow);
538
+
539
+ &:hover {
540
+ background-position: 0 -15px;
541
+ color: #333;
542
+ text-decoration: none;
543
+ }
544
+
545
+ // Focus state for keyboard and accessibility
546
+ &:focus {
547
+ outline: 1px dotted #666;
548
+ }
549
+
550
+ // Primary Button Type
551
+ &.primary {
552
+ color:$white;
553
+ @include gradient-bar($blue, $blueDark)
554
+ }
555
+
556
+ // Transitions
557
+ @include transition(.1s linear all);
558
+
559
+ // Active and Disabled states
560
+ &:active {
561
+ $shadow: inset 0 2px 4px rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.05);
562
+ @include box-shadow($shadow);
563
+ }
564
+ &.disabled {
565
+ cursor: default;
566
+ background-image: none;
567
+ @include reset-filter;
568
+ @include opacity(65);
569
+ @include box-shadow(none);
570
+ }
571
+ &[disabled] {
572
+ // disabled pseudo can't be included with .disabled
573
+ // def because IE8 and below will drop it ;_;
574
+ cursor: default;
575
+ background-image: none;
576
+ @include reset-filter;
577
+ @include opacity(65);
578
+ @include box-shadow(none);
579
+ }
580
+
581
+ // Button Sizes
582
+ &.large {
583
+ font-size: $basefont + 2px;
584
+ line-height: normal;
585
+ padding: 9px 14px 9px;
586
+ @include border-radius(6px);
587
+ }
588
+ &.small {
589
+ padding: 7px 9px 7px;
590
+ font-size: $basefont - 2px;
591
+ }
592
+ }
593
+ // Super jank hack for removing border-radius from IE9 so we can keep filter gradients on alerts and buttons
594
+ :root .alert-message,
595
+ :root .btn {
596
+ border-radius: 0 \0;
597
+ }
598
+
599
+ // Help Firefox not be a jerk about adding extra padding to buttons
600
+ button.btn,
601
+ input[type=submit].btn {
602
+ &::-moz-focus-inner {
603
+ padding: 0;
604
+ border: 0;
605
+ }
606
+ }
607
+
608
+
609
+ // CLOSE ICONS
610
+ // -----------
611
+ .close {
612
+ float: right;
613
+ color: $black;
614
+ font-size: 20px;
615
+ font-weight: bold;
616
+ line-height: $baseline * .75;
617
+ text-shadow: 0 1px 0 rgba(255,255,255,1);
618
+ @include opacity(20);
619
+ &:hover {
620
+ color: $black;
621
+ text-decoration: none;
622
+ @include opacity(40);
623
+ }
624
+ }
625
+
626
+
627
+ // ERROR STYLES
628
+ // ------------
629
+
630
+ // Base alert styles
631
+ .alert-message {
632
+ position: relative;
633
+ padding: 7px 15px;
634
+ margin-bottom: $baseline;
635
+ color: $grayDark;
636
+ @include gradient-bar(#fceec1, #eedc94); // warning by default
637
+ text-shadow: 0 1px 0 rgba(255,255,255,.5);
638
+ border-width: 1px;
639
+ border-style: solid;
640
+ @include border-radius(4px);
641
+ @include box-shadow(inset 0 1px 0 rgba(255,255,255,.25));
642
+
643
+ // Adjust close icon
644
+ .close {
645
+ *margin-top: 3px; /* IE7 spacing */
646
+ }
647
+
648
+ // Remove extra margin from content
649
+ h5 {
650
+ line-height: $baseline;
651
+ }
652
+ p {
653
+ margin-bottom: 0;
654
+ }
655
+ div {
656
+ margin-top: 5px;
657
+ margin-bottom: 2px;
658
+ line-height: 28px;
659
+ }
660
+ .btn {
661
+ // Provide actions with buttons
662
+ @include box-shadow(0 1px 0 rgba(255,255,255,.25));
663
+ }
664
+
665
+ &.block-message {
666
+ background-image: none;
667
+ background-color: lighten(#fceec1, 5%);
668
+ @include reset-filter;
669
+ padding: 14px;
670
+ border-color: #fceec1;
671
+ @include box-shadow(none);
672
+ ul, p {
673
+ margin-right: 30px;
674
+ }
675
+ ul {
676
+ margin-bottom: 0;
677
+ }
678
+ li {
679
+ color: $grayDark;
680
+ }
681
+ .alert-actions {
682
+ margin-top: 5px;
683
+ }
684
+ &.error,
685
+ &.success,
686
+ &.info {
687
+ color: $grayDark;
688
+ text-shadow: 0 1px 0 rgba(255,255,255,.5);
689
+ }
690
+ &.error {
691
+ background-color: lighten(#f56a66, 25%);
692
+ border-color: lighten(#f56a66, 20%);
693
+ }
694
+ &.success {
695
+ background-color: lighten(#62c462, 30%);
696
+ border-color: lighten(#62c462, 25%);
697
+ }
698
+ &.info {
699
+ background-color: lighten(#6bd0ee, 25%);
700
+ border-color: lighten(#6bd0ee, 20%);
701
+ }
702
+ }
703
+ }
704
+
705
+
706
+ // PAGINATION
707
+ // ----------
708
+
709
+ .pagination {
710
+ height: $baseline * 2;
711
+ margin: $baseline 0;
712
+ ul {
713
+ float: left;
714
+ margin: 0;
715
+ border: 1px solid #ddd;
716
+ border: 1px solid rgba(0,0,0,.15);
717
+ @include border-radius(3px);
718
+ @include box-shadow(0 1px 2px rgba(0,0,0,.05));
719
+ }
720
+ li {
721
+ display: inline;
722
+ }
723
+ a {
724
+ float: left;
725
+ padding: 0 14px;
726
+ line-height: ($baseline * 2) - 2;
727
+ border-right: 1px solid;
728
+ border-right-color: #ddd;
729
+ border-right-color: rgba(0,0,0,.15);
730
+ *border-right-color: #ddd; /* IE6-7 */
731
+ text-decoration: none;
732
+ }
733
+ a:hover,
734
+ &.active a {
735
+ background-color: lighten($blue, 45%);
736
+ }
737
+ &.disabled a,
738
+ &.disabled a:hover {
739
+ background-color: transparent;
740
+ color: $grayLight;
741
+ }
742
+ &.next a {
743
+ border: 0;
744
+ }
745
+ }
746
+
747
+
748
+ // WELLS
749
+ // -----
750
+
751
+ .well {
752
+ background-color: #f5f5f5;
753
+ margin-bottom: 20px;
754
+ padding: 19px;
755
+ min-height: 20px;
756
+ border: 1px solid #eee;
757
+ border: 1px solid rgba(0,0,0,.05);
758
+ @include border-radius(4px);
759
+ @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
760
+ blockquote {
761
+ border-color: #ddd;
762
+ border-color: rgba(0,0,0,.15);
763
+ }
764
+ }
765
+
766
+
767
+ // MODALS
768
+ // ------
769
+
770
+ .modal-backdrop {
771
+ background-color: $black;
772
+ position: fixed;
773
+ top: 0;
774
+ left: 0;
775
+ right: 0;
776
+ bottom: 0;
777
+ z-index: 10000;
778
+ // Fade for backdrop
779
+ &.fade { opacity: 0; }
780
+ }
781
+
782
+ .modal-backdrop, .modal-backdrop.fade.in {
783
+ @include opacity(80);
784
+ }
785
+
786
+ .modal {
787
+ position: fixed;
788
+ top: 50%;
789
+ left: 50%;
790
+ z-index: 11000;
791
+ width: 560px;
792
+ margin: -250px 0 0 -250px;
793
+ background-color: $white;
794
+ border: 1px solid #999;
795
+ border: 1px solid rgba(0,0,0,.3);
796
+ *border: 1px solid #999; /* IE6-7 */
797
+ @include border-radius(6px);
798
+ @include box-shadow(0 3px 7px rgba(0,0,0,0.3));
799
+ @include background-clip(padding-box);
800
+ .close { margin-top: 7px; }
801
+ &.fade {
802
+ @include transition((opacity .3s linear, top .3s ease-out));
803
+ top: -25%;
804
+ }
805
+ &.fade.in { top: 50%; }
806
+ }
807
+ .modal-header {
808
+ border-bottom: 1px solid #eee;
809
+ padding: 5px 15px;
810
+ }
811
+ .modal-body {
812
+ padding: 15px;
813
+ }
814
+ .modal-footer {
815
+ background-color: #f5f5f5;
816
+ padding: 14px 15px 15px;
817
+ border-top: 1px solid #ddd;
818
+ @include border-radius(0 0 6px 6px);
819
+ @include box-shadow(inset 0 1px 0 $white);
820
+ @include clearfix;
821
+ margin-bottom: 0;
822
+ .btn {
823
+ float: right;
824
+ margin-left: 5px;
825
+ }
826
+ }
827
+
828
+
829
+ // POPOVER ARROWS
830
+ // --------------
831
+
832
+ @mixin popover-arrow-above($arrowWidth: 5px) {
833
+ bottom: 0;
834
+ left: 50%;
835
+ margin-left: -$arrowWidth;
836
+ border-left: $arrowWidth solid transparent;
837
+ border-right: $arrowWidth solid transparent;
838
+ border-top: $arrowWidth solid $black;
839
+ }
840
+ @mixin popover-arrow-left($arrowWidth: 5px) {
841
+ top: 50%;
842
+ right: 0;
843
+ margin-top: -$arrowWidth;
844
+ border-top: $arrowWidth solid transparent;
845
+ border-bottom: $arrowWidth solid transparent;
846
+ border-left: $arrowWidth solid $black;
847
+ }
848
+ @mixin popover-arrow-below($arrowWidth: 5px) {
849
+ top: 0;
850
+ left: 50%;
851
+ margin-left: -$arrowWidth;
852
+ border-left: $arrowWidth solid transparent;
853
+ border-right: $arrowWidth solid transparent;
854
+ border-bottom: $arrowWidth solid $black;
855
+ }
856
+ @mixin popover-arrow-right($arrowWidth: 5px) {
857
+ top: 50%;
858
+ left: 0;
859
+ margin-top: -$arrowWidth;
860
+ border-top: $arrowWidth solid transparent;
861
+ border-bottom: $arrowWidth solid transparent;
862
+ border-right: $arrowWidth solid $black;
863
+ }
864
+
865
+ // TWIPSY
866
+ // ------
867
+
868
+ .twipsy {
869
+ display: block;
870
+ position: absolute;
871
+ visibility: visible;
872
+ padding: 5px;
873
+ font-size: 11px;
874
+ z-index: 1000;
875
+ @include opacity(80);
876
+ &.fade.in {
877
+ @include opacity(80);
878
+ }
879
+ &.above .twipsy-arrow { @include popover-arrow-above; }
880
+ &.left .twipsy-arrow { @include popover-arrow-left; }
881
+ &.below .twipsy-arrow { @include popover-arrow-below; }
882
+ &.right .twipsy-arrow { @include popover-arrow-right; }
883
+ }
884
+ .twipsy-inner {
885
+ padding: 3px 8px;
886
+ background-color: $black;
887
+ color: white;
888
+ text-align: center;
889
+ max-width: 200px;
890
+ text-decoration: none;
891
+ @include border-radius(4px);
892
+ }
893
+ .twipsy-arrow {
894
+ position: absolute;
895
+ width: 0;
896
+ height: 0;
897
+ }
898
+
899
+
900
+ // POPOVERS
901
+ // --------
902
+
903
+ .popover {
904
+ position: absolute;
905
+ top: 0;
906
+ left: 0;
907
+ z-index: 1000;
908
+ padding: 5px;
909
+ display: none;
910
+ &.above .arrow { @include popover-arrow-above; }
911
+ &.right .arrow { @include popover-arrow-right; }
912
+ &.below .arrow { @include popover-arrow-below; }
913
+ &.left .arrow { @include popover-arrow-left; }
914
+ .arrow {
915
+ position: absolute;
916
+ width: 0;
917
+ height: 0;
918
+ }
919
+ .inner {
920
+ background-color: $black;
921
+ background-color: rgba(0,0,0,.8);
922
+ padding: 3px;
923
+ overflow: hidden;
924
+ width: 280px;
925
+ @include border-radius(6px);
926
+ @include box-shadow(0 3px 7px rgba(0,0,0,0.3));
927
+ }
928
+ .title {
929
+ background-color: #f5f5f5;
930
+ padding: 9px 15px;
931
+ line-height: 1;
932
+ @include border-radius(3px 3px 0 0);
933
+ border-bottom:1px solid #eee;
934
+ }
935
+ .content {
936
+ background-color: $white;
937
+ padding: 14px;
938
+ @include border-radius(0 0 3px 3px);
939
+ @include background-clip(padding-box);
940
+ p, ul, ol {
941
+ margin-bottom: 0;
942
+ }
943
+ }
944
+ }
945
+
946
+
947
+ // PATTERN ANIMATIONS
948
+ // ------------------
949
+
950
+ .fade {
951
+ @include transition(opacity .15s linear);
952
+ opacity: 0;
953
+ &.in {
954
+ opacity: 1;
955
+ }
956
+ }
957
+
958
+
959
+ // LABELS
960
+ // ------
961
+
962
+ .label {
963
+ padding: 1px 3px 2px;
964
+ background-color: $grayLight;
965
+ font-size: $basefont * .75;
966
+ font-weight: bold;
967
+ color: $white;
968
+ text-transform: uppercase;
969
+ @include border-radius(3px);
970
+ &.important { background-color: #c43c35; }
971
+ &.warning { background-color: $orange; }
972
+ &.success { background-color: $green; }
973
+ &.notice { background-color: lighten($blue, 25%); }
974
+ }
975
+
976
+
977
+ // MEDIA GRIDS
978
+ // -----------
979
+
980
+ .media-grid {
981
+ margin-left: -20px;
982
+ margin-bottom: 0;
983
+ @include clearfix;
984
+ li {
985
+ display: inline;
986
+ }
987
+ a {
988
+ float: left;
989
+ padding: 4px;
990
+ margin: 0 0 20px 20px;
991
+ border: 1px solid #ddd;
992
+ @include border-radius(4px);
993
+ @include box-shadow(0 1px 1px rgba(0,0,0,.075));
994
+ img {
995
+ display: block;
996
+ }
997
+ &:hover {
998
+ border-color: $linkColor;
999
+ @include box-shadow(0 1px 4px rgba(0,105,214,.25));
1000
+ }
1001
+ }
1002
+ }