frontend 0.0.1
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.
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Rakefile +1 -0
- data/Readme.md +45 -0
- data/frontend.gemspec +23 -0
- data/lib/frontend.rb +6 -0
- data/lib/frontend/version.rb +3 -0
- data/vendor/assets/javascripts/frontend.js.coffee +5 -0
- data/vendor/assets/javascripts/vendor/backbone.localStorage.js +1 -0
- data/vendor/assets/javascripts/vendor/backrub.js.coffee +523 -0
- data/vendor/assets/javascripts/vendor/handlebars.js +1493 -0
- data/vendor/assets/javascripts/vendor/relational.js +1108 -0
- data/vendor/assets/stylesheets/bootstrap.css.scss +2 -0
- data/vendor/assets/stylesheets/bootstrap/bootstrap.scss +25 -0
- data/vendor/assets/stylesheets/bootstrap/forms.css.scss +368 -0
- data/vendor/assets/stylesheets/bootstrap/patterns.scss +769 -0
- data/vendor/assets/stylesheets/bootstrap/preboot.css.scss +275 -0
- data/vendor/assets/stylesheets/bootstrap/reset.scss +146 -0
- data/vendor/assets/stylesheets/bootstrap/scaffolding.scss +204 -0
- data/vendor/assets/stylesheets/bootstrap/tables.scss +148 -0
- data/vendor/assets/stylesheets/bootstrap/type.scss +192 -0
- metadata +90 -0
@@ -0,0 +1,25 @@
|
|
1
|
+
/*!
|
2
|
+
* Bootstrap v1.1.1
|
3
|
+
*
|
4
|
+
* Copyright 2011 Twitter, Inc
|
5
|
+
* Licensed under the Apache License v2.0
|
6
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
*
|
8
|
+
* Designed and built with all the love in the world @twitter by @mdo and @fat.
|
9
|
+
*
|
10
|
+
* Converted to Sass by @johnwlong.
|
11
|
+
*
|
12
|
+
* Date: @DATE
|
13
|
+
*/
|
14
|
+
|
15
|
+
// CSS Reset
|
16
|
+
@import "reset";
|
17
|
+
|
18
|
+
// Core
|
19
|
+
@import "scaffolding";
|
20
|
+
|
21
|
+
// Styled patterns and elements
|
22
|
+
@import "type";
|
23
|
+
@import "forms";
|
24
|
+
@import "tables";
|
25
|
+
@import "patterns";
|
@@ -0,0 +1,368 @@
|
|
1
|
+
/* Forms.scss
|
2
|
+
* Base styles for various input types, form layouts, and states
|
3
|
+
* ------------------------------------------------------------- */
|
4
|
+
|
5
|
+
// FORM STYLES
|
6
|
+
// -----------
|
7
|
+
|
8
|
+
form {
|
9
|
+
margin-bottom: $baseline;
|
10
|
+
}
|
11
|
+
|
12
|
+
// Groups of fields with labels on top (legends)
|
13
|
+
fieldset {
|
14
|
+
margin-bottom: $baseline;
|
15
|
+
padding-top: $baseline;
|
16
|
+
legend {
|
17
|
+
display: block;
|
18
|
+
margin-left: 150px;
|
19
|
+
font-size: 20px;
|
20
|
+
line-height: 1;
|
21
|
+
*margin: 0 0 5px 145px; /* IE6-7 */
|
22
|
+
*line-height: 1.5; /* IE6-7 */
|
23
|
+
color: $grayDark;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
// Parent element that clears floats and wraps labels and fields together
|
28
|
+
.clearfix {
|
29
|
+
margin-bottom: $baseline;
|
30
|
+
}
|
31
|
+
|
32
|
+
// Set font for forms
|
33
|
+
label,
|
34
|
+
input,
|
35
|
+
select,
|
36
|
+
textarea {
|
37
|
+
@include sans-serif-font(normal,13px,normal);
|
38
|
+
}
|
39
|
+
|
40
|
+
// Float labels left
|
41
|
+
label {
|
42
|
+
padding-top: 6px;
|
43
|
+
font-size: 13px;
|
44
|
+
line-height: 18px;
|
45
|
+
float: left;
|
46
|
+
width: 130px;
|
47
|
+
text-align: right;
|
48
|
+
color: $grayDark;
|
49
|
+
}
|
50
|
+
|
51
|
+
// Shift over the inside div to align all label's relevant content
|
52
|
+
div.input {
|
53
|
+
margin-left: 150px;
|
54
|
+
}
|
55
|
+
|
56
|
+
// Checkboxs and radio buttons
|
57
|
+
input[type=checkbox],
|
58
|
+
input[type=radio] {
|
59
|
+
cursor: pointer;
|
60
|
+
}
|
61
|
+
|
62
|
+
// Inputs, Textareas, Selects
|
63
|
+
input[type=text],
|
64
|
+
input[type=password],
|
65
|
+
textarea,
|
66
|
+
select,
|
67
|
+
.uneditable-input {
|
68
|
+
display: inline-block;
|
69
|
+
width: 210px;
|
70
|
+
padding: 4px;
|
71
|
+
font-size: 13px;
|
72
|
+
line-height: $baseline;
|
73
|
+
height: $baseline;
|
74
|
+
color: $gray;
|
75
|
+
border: 1px solid #ccc;
|
76
|
+
@include border-radius(3px);
|
77
|
+
}
|
78
|
+
select,
|
79
|
+
input[type=file] {
|
80
|
+
height: $baseline * 1.5;
|
81
|
+
line-height: $baseline * 1.5;
|
82
|
+
}
|
83
|
+
textarea {
|
84
|
+
height: auto;
|
85
|
+
}
|
86
|
+
.uneditable-input {
|
87
|
+
background-color: #eee;
|
88
|
+
display: block;
|
89
|
+
border-color: #ccc;
|
90
|
+
@include box-shadow(inset 0 1px 2px rgba(0,0,0,.075));
|
91
|
+
}
|
92
|
+
|
93
|
+
// Placeholder text gets special styles; can't be bundled together though for some reason
|
94
|
+
:-moz-placeholder {
|
95
|
+
color: $grayLight;
|
96
|
+
}
|
97
|
+
::-webkit-input-placeholder {
|
98
|
+
color: $grayLight;
|
99
|
+
}
|
100
|
+
|
101
|
+
// Focus states
|
102
|
+
input[type=text],
|
103
|
+
input[type=password],
|
104
|
+
select, textarea {
|
105
|
+
$transition: border linear .2s, box-shadow linear .2s;
|
106
|
+
@include transition($transition);
|
107
|
+
@include box-shadow(inset 0 1px 3px rgba(0,0,0,.1));
|
108
|
+
}
|
109
|
+
input[type=text]:focus,
|
110
|
+
input[type=password]:focus,
|
111
|
+
textarea:focus {
|
112
|
+
outline: none;
|
113
|
+
border-color: rgba(82,168,236,.8);
|
114
|
+
$shadow: inset 0 1px 3px rgba(0,0,0,.1), 0 0 8px rgba(82,168,236,.6);
|
115
|
+
@include box-shadow($shadow);
|
116
|
+
}
|
117
|
+
|
118
|
+
// Error styles
|
119
|
+
form div.error {
|
120
|
+
background: lighten($red, 57%);
|
121
|
+
padding: 10px 0;
|
122
|
+
margin: -10px 0 10px;
|
123
|
+
@include border-radius(4px);
|
124
|
+
$error-text: desaturate(lighten($red, 25%), 25%);
|
125
|
+
> label,
|
126
|
+
span.help-inline,
|
127
|
+
span.help-block {
|
128
|
+
color: $red;
|
129
|
+
}
|
130
|
+
input[type=text],
|
131
|
+
input[type=password],
|
132
|
+
textarea {
|
133
|
+
border-color: $error-text;
|
134
|
+
@include box-shadow(0 0 3px rgba(171,41,32,.25));
|
135
|
+
&:focus {
|
136
|
+
border-color: darken($error-text, 10%);
|
137
|
+
@include box-shadow(0 0 6px rgba(171,41,32,.5));
|
138
|
+
}
|
139
|
+
}
|
140
|
+
.input-prepend,
|
141
|
+
.input-append {
|
142
|
+
span.add-on {
|
143
|
+
background: lighten($red, 50%);
|
144
|
+
border-color: $error-text;
|
145
|
+
color: darken($error-text, 10%);
|
146
|
+
}
|
147
|
+
}
|
148
|
+
}
|
149
|
+
|
150
|
+
// Form element sizes
|
151
|
+
.input-mini, input.mini, textarea.mini, select.mini {
|
152
|
+
width: 60px;
|
153
|
+
}
|
154
|
+
.input-small, input.small, textarea.small, select.small {
|
155
|
+
width: 90px;
|
156
|
+
}
|
157
|
+
.input-medium, input.medium, textarea.medium, select.medium {
|
158
|
+
width: 150px;
|
159
|
+
}
|
160
|
+
.input-large, input.large, textarea.large, select.large {
|
161
|
+
width: 210px;
|
162
|
+
}
|
163
|
+
.input-xlarge, input.xlarge, textarea.xlarge, select.xlarge {
|
164
|
+
width: 270px;
|
165
|
+
}
|
166
|
+
.input-xxlarge, input.xxlarge, textarea.xxlarge, select.xxlarge {
|
167
|
+
width: 530px;
|
168
|
+
}
|
169
|
+
textarea.xxlarge {
|
170
|
+
overflow-y: scroll;
|
171
|
+
}
|
172
|
+
|
173
|
+
// Turn off focus for disabled (read-only) form elements
|
174
|
+
input[readonly]:focus,
|
175
|
+
textarea[readonly]:focus,
|
176
|
+
input.disabled {
|
177
|
+
background: #f5f5f5;
|
178
|
+
border-color: #ddd;
|
179
|
+
@include box-shadow(none);
|
180
|
+
}
|
181
|
+
|
182
|
+
// Actions (the buttons)
|
183
|
+
.actions {
|
184
|
+
background: #f5f5f5;
|
185
|
+
margin-top: $baseline;
|
186
|
+
margin-bottom: $baseline;
|
187
|
+
padding: ($baseline - 1) 20px $baseline 150px;
|
188
|
+
border-top: 1px solid #ddd;
|
189
|
+
@include border-radius(0 0 3px 3px);
|
190
|
+
.secondary-action {
|
191
|
+
float: right;
|
192
|
+
a {
|
193
|
+
line-height: 30px;
|
194
|
+
&:hover {
|
195
|
+
text-decoration: underline;
|
196
|
+
}
|
197
|
+
}
|
198
|
+
}
|
199
|
+
}
|
200
|
+
|
201
|
+
// Help Text
|
202
|
+
.help-inline,
|
203
|
+
.help-block {
|
204
|
+
font-size: 12px;
|
205
|
+
line-height: $baseline;
|
206
|
+
color: $grayLight;
|
207
|
+
}
|
208
|
+
.help-inline {
|
209
|
+
padding-left: 5px;
|
210
|
+
*position: relative; /* IE6-7 */
|
211
|
+
*top: -5px; /* IE6-7 */
|
212
|
+
}
|
213
|
+
|
214
|
+
// Big blocks of help text
|
215
|
+
.help-block {
|
216
|
+
display: block;
|
217
|
+
max-width: 600px;
|
218
|
+
}
|
219
|
+
|
220
|
+
// Inline Fields (input fields that appear as inline objects
|
221
|
+
.inline-inputs {
|
222
|
+
color: $gray;
|
223
|
+
span, input[type=text] {
|
224
|
+
display: inline-block;
|
225
|
+
}
|
226
|
+
input.mini {
|
227
|
+
width: 60px;
|
228
|
+
}
|
229
|
+
input.small {
|
230
|
+
width: 90px;
|
231
|
+
}
|
232
|
+
span {
|
233
|
+
padding: 0 2px 0 1px;
|
234
|
+
}
|
235
|
+
}
|
236
|
+
|
237
|
+
// Allow us to put symbols and text within the input field for a cleaner look
|
238
|
+
.input-prepend,
|
239
|
+
.input-append {
|
240
|
+
input[type=text],
|
241
|
+
input[type=password] {
|
242
|
+
@include border-radius(0 3px 3px 0);
|
243
|
+
}
|
244
|
+
.add-on {
|
245
|
+
background: #f5f5f5;
|
246
|
+
float: left;
|
247
|
+
display: block;
|
248
|
+
width: auto;
|
249
|
+
min-width: 16px;
|
250
|
+
padding: 4px 4px 4px 5px;
|
251
|
+
color: $grayLight;
|
252
|
+
font-weight: normal;
|
253
|
+
line-height: 18px;
|
254
|
+
height: 18px;
|
255
|
+
text-align: center;
|
256
|
+
text-shadow: 0 1px 0 #fff;
|
257
|
+
border: 1px solid #ccc;
|
258
|
+
border-right-width: 0;
|
259
|
+
@include border-radius(3px 0 0 3px);
|
260
|
+
}
|
261
|
+
.active {
|
262
|
+
background: lighten($green, 30);
|
263
|
+
border-color: $green;
|
264
|
+
}
|
265
|
+
}
|
266
|
+
.input-prepend {
|
267
|
+
.add-on {
|
268
|
+
*margin-top: 1px; /* IE6-7 */
|
269
|
+
}
|
270
|
+
}
|
271
|
+
.input-append {
|
272
|
+
input[type=text],
|
273
|
+
input[type=password] {
|
274
|
+
float: left;
|
275
|
+
@include border-radius(3px 0 0 3px);
|
276
|
+
}
|
277
|
+
.add-on {
|
278
|
+
@include border-radius(0 3px 3px 0);
|
279
|
+
border-right-width: 1px;
|
280
|
+
border-left-width: 0;
|
281
|
+
}
|
282
|
+
}
|
283
|
+
|
284
|
+
// Stacked options for forms (radio buttons or checkboxes)
|
285
|
+
.inputs-list {
|
286
|
+
margin: 0 0 5px;
|
287
|
+
width: 100%;
|
288
|
+
li {
|
289
|
+
display: block;
|
290
|
+
padding: 0;
|
291
|
+
width: 100%;
|
292
|
+
label {
|
293
|
+
display: block;
|
294
|
+
float: none;
|
295
|
+
width: auto;
|
296
|
+
padding: 0;
|
297
|
+
line-height: $baseline;
|
298
|
+
text-align: left;
|
299
|
+
white-space: normal;
|
300
|
+
strong {
|
301
|
+
color: $gray;
|
302
|
+
}
|
303
|
+
small {
|
304
|
+
font-size: 12px;
|
305
|
+
font-weight: normal;
|
306
|
+
}
|
307
|
+
}
|
308
|
+
ul.inputs-list {
|
309
|
+
margin-left: 25px;
|
310
|
+
margin-bottom: 10px;
|
311
|
+
padding-top: 0;
|
312
|
+
}
|
313
|
+
&:first-child {
|
314
|
+
padding-top: 5px;
|
315
|
+
}
|
316
|
+
}
|
317
|
+
input[type=radio],
|
318
|
+
input[type=checkbox] {
|
319
|
+
margin-bottom: 0;
|
320
|
+
}
|
321
|
+
}
|
322
|
+
|
323
|
+
// Stacked forms
|
324
|
+
.form-stacked {
|
325
|
+
padding-left: 20px;
|
326
|
+
fieldset {
|
327
|
+
padding-top: $baseline / 2;
|
328
|
+
}
|
329
|
+
legend {
|
330
|
+
margin-left: 0;
|
331
|
+
}
|
332
|
+
label {
|
333
|
+
display: block;
|
334
|
+
float: none;
|
335
|
+
width: auto;
|
336
|
+
font-weight: bold;
|
337
|
+
text-align: left;
|
338
|
+
line-height: 20px;
|
339
|
+
padding-top: 0;
|
340
|
+
}
|
341
|
+
.clearfix {
|
342
|
+
margin-bottom: $baseline / 2;
|
343
|
+
div.input {
|
344
|
+
margin-left: 0;
|
345
|
+
}
|
346
|
+
}
|
347
|
+
.inputs-list {
|
348
|
+
margin-bottom: 0;
|
349
|
+
li {
|
350
|
+
padding-top: 0;
|
351
|
+
label {
|
352
|
+
font-weight: normal;
|
353
|
+
padding-top: 0;
|
354
|
+
}
|
355
|
+
}
|
356
|
+
}
|
357
|
+
div.error {
|
358
|
+
padding-top: 10px;
|
359
|
+
padding-bottom: 10px;
|
360
|
+
padding-left: 10px;
|
361
|
+
margin-top: 0;
|
362
|
+
margin-left: -10px;
|
363
|
+
}
|
364
|
+
.actions {
|
365
|
+
margin-left: -20px;
|
366
|
+
padding-left: 20px;
|
367
|
+
}
|
368
|
+
}
|
@@ -0,0 +1,769 @@
|
|
1
|
+
|
2
|
+
/* Patterns.scss
|
3
|
+
* Repeatable UI elements outside the base styles provided from the scaffolding
|
4
|
+
* ---------------------------------------------------------------------------- */
|
5
|
+
|
6
|
+
|
7
|
+
// TOPBAR
|
8
|
+
// ------
|
9
|
+
|
10
|
+
// Topbar for Branding and Nav
|
11
|
+
.topbar {
|
12
|
+
height: 40px;
|
13
|
+
position: fixed;
|
14
|
+
top: 0;
|
15
|
+
left: 0;
|
16
|
+
right: 0;
|
17
|
+
z-index: 10000;
|
18
|
+
overflow: visible;
|
19
|
+
|
20
|
+
// gradient is applied to it's own element because overflow visible is not honored by ie when filter is present
|
21
|
+
.fill {
|
22
|
+
background:#222;
|
23
|
+
@include vertical-gradient(#333, #222);
|
24
|
+
$shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1);
|
25
|
+
@include box-shadow($shadow);
|
26
|
+
}
|
27
|
+
|
28
|
+
// Links get text shadow
|
29
|
+
a {
|
30
|
+
color: $grayLight;
|
31
|
+
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
32
|
+
}
|
33
|
+
|
34
|
+
// Hover and active states
|
35
|
+
a:hover,
|
36
|
+
ul li.active a {
|
37
|
+
background-color: #333;
|
38
|
+
background-color: rgba(255,255,255,.05);
|
39
|
+
color: $white;
|
40
|
+
text-decoration: none;
|
41
|
+
}
|
42
|
+
|
43
|
+
// Website name
|
44
|
+
h3 {
|
45
|
+
position:relative;
|
46
|
+
a {
|
47
|
+
float: left;
|
48
|
+
display: block;
|
49
|
+
padding: 8px 20px 12px;
|
50
|
+
margin-left: -20px; // negative indent to left-align the text down the page
|
51
|
+
color: $white;
|
52
|
+
font-size: 20px;
|
53
|
+
font-weight: 200;
|
54
|
+
line-height: 1;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
// Search Form
|
59
|
+
form {
|
60
|
+
float: left;
|
61
|
+
margin: 5px 0 0 0;
|
62
|
+
position: relative;
|
63
|
+
@include opacity(100);
|
64
|
+
input {
|
65
|
+
background-color: #444;
|
66
|
+
background-color: rgba(255,255,255,.3);
|
67
|
+
@include sans-serif-font(13px, normal, 1);
|
68
|
+
width: 220px;
|
69
|
+
padding: 4px 9px;
|
70
|
+
color: #fff;
|
71
|
+
color: rgba(255,255,255,.75);
|
72
|
+
border: 1px solid #111;
|
73
|
+
@include border-radius(4px);
|
74
|
+
$shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.25);
|
75
|
+
@include box-shadow($shadow);
|
76
|
+
@include transition(none);
|
77
|
+
|
78
|
+
// Placeholder text gets special styles; can't be bundled together though for some reason
|
79
|
+
&:-moz-placeholder {
|
80
|
+
color: $grayLighter;
|
81
|
+
}
|
82
|
+
&::-webkit-input-placeholder {
|
83
|
+
color: $grayLighter;
|
84
|
+
}
|
85
|
+
// Hover states
|
86
|
+
&:hover {
|
87
|
+
background-color: $grayLight;
|
88
|
+
background-color: rgba(255,255,255,.5);
|
89
|
+
color: #fff;
|
90
|
+
}
|
91
|
+
// Focus states (we use .focused since IE8 and down doesn't support :focus)
|
92
|
+
&:focus,
|
93
|
+
&.focused {
|
94
|
+
outline: none;
|
95
|
+
background-color: #fff;
|
96
|
+
color: $grayDark;
|
97
|
+
text-shadow: 0 1px 0 #fff;
|
98
|
+
border: 0;
|
99
|
+
padding: 5px 10px;
|
100
|
+
@include box-shadow(0 0 3px rgba(0,0,0,.15));
|
101
|
+
}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
// Navigation
|
106
|
+
ul {
|
107
|
+
display: block;
|
108
|
+
float: left;
|
109
|
+
margin: 0 10px 0 0;
|
110
|
+
position: relative;
|
111
|
+
&.secondary-nav {
|
112
|
+
float: right;
|
113
|
+
margin-left: 10px;
|
114
|
+
margin-right: 0;
|
115
|
+
}
|
116
|
+
li {
|
117
|
+
display: block;
|
118
|
+
float: left;
|
119
|
+
font-size: 13px;
|
120
|
+
a {
|
121
|
+
display: block;
|
122
|
+
float: none;
|
123
|
+
padding: 10px 10px 11px;
|
124
|
+
line-height: 19px;
|
125
|
+
text-decoration: none;
|
126
|
+
&:hover {
|
127
|
+
color: #fff;
|
128
|
+
text-decoration: none;
|
129
|
+
}
|
130
|
+
}
|
131
|
+
&.active a {
|
132
|
+
background-color: #222;
|
133
|
+
background-color: rgba(0,0,0,.5);
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
// Dropdowns
|
138
|
+
&.primary-nav li ul {
|
139
|
+
left: 0;
|
140
|
+
}
|
141
|
+
&.secondary-nav li ul {
|
142
|
+
right: 0;
|
143
|
+
}
|
144
|
+
li.menu {
|
145
|
+
position: relative;
|
146
|
+
a.menu {
|
147
|
+
&:after {
|
148
|
+
width: 0px;
|
149
|
+
height: 0px;
|
150
|
+
display: inline-block;
|
151
|
+
content: "↓";
|
152
|
+
text-indent: -99999px;
|
153
|
+
vertical-align: top;
|
154
|
+
margin-top: 8px;
|
155
|
+
margin-left: 4px;
|
156
|
+
border-left: 4px solid transparent;
|
157
|
+
border-right: 4px solid transparent;
|
158
|
+
border-top: 4px solid #fff;
|
159
|
+
@include opacity(50);
|
160
|
+
}
|
161
|
+
}
|
162
|
+
&.open {
|
163
|
+
a.menu,
|
164
|
+
a:hover {
|
165
|
+
background-color: #444;
|
166
|
+
background-color: rgba(255,255,255,.1);
|
167
|
+
*background-color: #444; /* IE6-7 */
|
168
|
+
color: #fff;
|
169
|
+
}
|
170
|
+
ul {
|
171
|
+
display: block;
|
172
|
+
li {
|
173
|
+
a {
|
174
|
+
background-color: transparent;
|
175
|
+
font-weight: normal;
|
176
|
+
&:hover {
|
177
|
+
background-color: rgba(255,255,255,.1);
|
178
|
+
*background-color: #444; /* IE6-7 */
|
179
|
+
color: #fff;
|
180
|
+
}
|
181
|
+
}
|
182
|
+
&.active a {
|
183
|
+
background-color: rgba(255,255,255,.1);
|
184
|
+
font-weight: bold;
|
185
|
+
}
|
186
|
+
}
|
187
|
+
}
|
188
|
+
}
|
189
|
+
}
|
190
|
+
li ul {
|
191
|
+
background-color: #333;
|
192
|
+
float: left;
|
193
|
+
display: none;
|
194
|
+
position: absolute;
|
195
|
+
top: 40px;
|
196
|
+
min-width: 160px;
|
197
|
+
max-width: 220px;
|
198
|
+
_width: 160px;
|
199
|
+
margin-left: 0;
|
200
|
+
margin-right: 0;
|
201
|
+
padding: 0;
|
202
|
+
text-align: left;
|
203
|
+
border: 0;
|
204
|
+
zoom: 1;
|
205
|
+
@include border-radius(0 0 5px 5px);
|
206
|
+
@include box-shadow(0 1px 2px rgba(0,0,0,0.6));
|
207
|
+
li {
|
208
|
+
float: none;
|
209
|
+
clear: both;
|
210
|
+
display: block;
|
211
|
+
background: none;
|
212
|
+
font-size: 12px;
|
213
|
+
a {
|
214
|
+
display: block;
|
215
|
+
padding: 6px 15px;
|
216
|
+
clear: both;
|
217
|
+
font-weight: normal;
|
218
|
+
line-height: 19px;
|
219
|
+
color: #bbb;
|
220
|
+
&:hover {
|
221
|
+
background-color: #333;
|
222
|
+
background-color: rgba(255,255,255,.25);
|
223
|
+
color: #fff;
|
224
|
+
}
|
225
|
+
}
|
226
|
+
|
227
|
+
// Dividers (basically an hr)
|
228
|
+
&.divider {
|
229
|
+
height: 1px;
|
230
|
+
overflow: hidden;
|
231
|
+
background: #222;
|
232
|
+
background: rgba(0,0,0,.2);
|
233
|
+
border-bottom: 1px solid rgba(255,255,255,.1);
|
234
|
+
margin: 5px 0;
|
235
|
+
}
|
236
|
+
|
237
|
+
// Section separaters
|
238
|
+
span {
|
239
|
+
clear: both;
|
240
|
+
display: block;
|
241
|
+
background: rgba(0,0,0,.2);
|
242
|
+
padding: 6px 15px;
|
243
|
+
cursor: default;
|
244
|
+
color: $gray;
|
245
|
+
border-top: 1px solid rgba(0,0,0,.2);
|
246
|
+
}
|
247
|
+
}
|
248
|
+
}
|
249
|
+
}
|
250
|
+
}
|
251
|
+
|
252
|
+
|
253
|
+
// PAGE HEADERS
|
254
|
+
// ------------
|
255
|
+
|
256
|
+
.hero-unit {
|
257
|
+
background-color: #f5f5f5;
|
258
|
+
margin-top: 60px;
|
259
|
+
margin-bottom: 30px;
|
260
|
+
padding: 60px;
|
261
|
+
@include border-radius(6px);
|
262
|
+
h1 {
|
263
|
+
margin-bottom: 0;
|
264
|
+
font-size: 60px;
|
265
|
+
line-height: 1;
|
266
|
+
letter-spacing: -1px;
|
267
|
+
}
|
268
|
+
p {
|
269
|
+
font-size: 18px;
|
270
|
+
font-weight: 200;
|
271
|
+
line-height: $baseline * 1.5;
|
272
|
+
}
|
273
|
+
}
|
274
|
+
footer {
|
275
|
+
margin-top: $baseline - 1;
|
276
|
+
padding-top: $baseline - 1;
|
277
|
+
border-top: 1px solid #eee;
|
278
|
+
}
|
279
|
+
|
280
|
+
// PAGE HEADERS
|
281
|
+
// ------------
|
282
|
+
|
283
|
+
.page-header {
|
284
|
+
margin-bottom: $baseline - 1;
|
285
|
+
border-bottom: 1px solid #ddd;
|
286
|
+
@include box-shadow(0 1px 0 rgba(255,255,255,.5));
|
287
|
+
h1 {
|
288
|
+
margin-bottom: ($baseline / 2) - 1px;
|
289
|
+
}
|
290
|
+
}
|
291
|
+
|
292
|
+
// BUTTON STYLES
|
293
|
+
// -------------
|
294
|
+
|
295
|
+
@mixin btnColor($primaryColor, $secondaryColor) {
|
296
|
+
@include vertical-gradient($primaryColor, $secondaryColor);
|
297
|
+
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
298
|
+
border-color: $secondaryColor $secondaryColor darken($secondaryColor, 15%);
|
299
|
+
border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fade-in(rgba(0,0,0,.1), .15);
|
300
|
+
}
|
301
|
+
|
302
|
+
|
303
|
+
// Base .btn styles
|
304
|
+
.btn {
|
305
|
+
// Button Base
|
306
|
+
cursor: pointer;
|
307
|
+
display: inline-block;
|
308
|
+
@include vertical-three-colors-gradient(#fff, #fff, 0.25, darken(#fff, 10%));
|
309
|
+
padding: 5px 14px 6px;
|
310
|
+
text-shadow: 0 1px 1px rgba(255,255,255,.75);
|
311
|
+
color: #333;
|
312
|
+
font-size: 13px;
|
313
|
+
line-height: normal;
|
314
|
+
border: 1px solid #ccc;
|
315
|
+
border-bottom-color: #bbb;
|
316
|
+
@include border-radius(4px);
|
317
|
+
$shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
|
318
|
+
@include box-shadow($shadow);
|
319
|
+
|
320
|
+
&:hover {
|
321
|
+
background-position: 0 -15px;
|
322
|
+
color: #333;
|
323
|
+
text-decoration: none;
|
324
|
+
}
|
325
|
+
|
326
|
+
// Primary Button Type
|
327
|
+
&.primary {
|
328
|
+
color:#fff;
|
329
|
+
@include btnColor($blue, $blueDark);
|
330
|
+
}
|
331
|
+
|
332
|
+
// Transitions
|
333
|
+
@include transition(.1s linear all);
|
334
|
+
|
335
|
+
// Active and Disabled states
|
336
|
+
&.disabled {
|
337
|
+
cursor: default;
|
338
|
+
background-image: none;
|
339
|
+
@include opacity(65);
|
340
|
+
}
|
341
|
+
|
342
|
+
&:disabled {
|
343
|
+
// disabled pseudo can't be included with .disabled
|
344
|
+
// def because IE8 and below will drop it ;_;
|
345
|
+
cursor: default;
|
346
|
+
background-image: none;
|
347
|
+
@include opacity(65);
|
348
|
+
}
|
349
|
+
|
350
|
+
&:active {
|
351
|
+
$shadow: inset 0 3px 7px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.05);
|
352
|
+
@include box-shadow($shadow);
|
353
|
+
}
|
354
|
+
|
355
|
+
// Button Sizes
|
356
|
+
&.large {
|
357
|
+
font-size: 16px;
|
358
|
+
line-height: normal;
|
359
|
+
padding: 9px 14px 9px;
|
360
|
+
@include border-radius(6px);
|
361
|
+
}
|
362
|
+
|
363
|
+
&.small {
|
364
|
+
padding: 7px 9px 7px;
|
365
|
+
font-size: 11px;
|
366
|
+
}
|
367
|
+
|
368
|
+
}
|
369
|
+
|
370
|
+
// Help Firefox not be a jerk about adding extra padding to buttons
|
371
|
+
button.btn,
|
372
|
+
input[type=submit].btn {
|
373
|
+
&::-moz-focus-inner {
|
374
|
+
padding: 0;
|
375
|
+
border: 0;
|
376
|
+
}
|
377
|
+
}
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
// ERROR STYLES
|
382
|
+
// ------------
|
383
|
+
|
384
|
+
// Base alert styles
|
385
|
+
.alert-message {
|
386
|
+
@include btnColor(#fceec1, #eedc94);
|
387
|
+
margin-bottom: $baseline;
|
388
|
+
padding: 7px 14px;
|
389
|
+
color: $grayDark;
|
390
|
+
text-shadow: 0 1px 0 rgba(255,255,255,.5);
|
391
|
+
border-width: 1px;
|
392
|
+
border-style: solid;
|
393
|
+
@include border-radius(4px);
|
394
|
+
@include box-shadow(inset 0 1px 0 rgba(255,255,255,.25));
|
395
|
+
|
396
|
+
// Remove extra margin from content
|
397
|
+
h5 {
|
398
|
+
line-height: $baseline;
|
399
|
+
}
|
400
|
+
p {
|
401
|
+
margin-bottom: 0;
|
402
|
+
}
|
403
|
+
div {
|
404
|
+
margin-top: 5px;
|
405
|
+
margin-bottom: 2px;
|
406
|
+
line-height: 28px;
|
407
|
+
}
|
408
|
+
.btn {
|
409
|
+
// Provide actions with buttons
|
410
|
+
@include box-shadow(0 1px 0 rgba(255,255,255,.25));
|
411
|
+
}
|
412
|
+
.close {
|
413
|
+
float: right;
|
414
|
+
margin-top: -2px;
|
415
|
+
color: $black;
|
416
|
+
font-size: 20px;
|
417
|
+
font-weight: bold;
|
418
|
+
text-shadow: 0 1px 0 rgba(255,255,255,1);
|
419
|
+
@include opacity(20);
|
420
|
+
&:hover {
|
421
|
+
color: $black;
|
422
|
+
text-decoration: none;
|
423
|
+
@include opacity(40);
|
424
|
+
}
|
425
|
+
}
|
426
|
+
|
427
|
+
&.block-message {
|
428
|
+
background-image: none;
|
429
|
+
background-color: lighten(#fceec1, 5%);
|
430
|
+
padding: 14px;
|
431
|
+
border-color: #fceec1;
|
432
|
+
@include box-shadow(none);
|
433
|
+
|
434
|
+
p {
|
435
|
+
margin-right: 30px;
|
436
|
+
}
|
437
|
+
.alert-actions {
|
438
|
+
margin-top: 5px;
|
439
|
+
}
|
440
|
+
&.error,
|
441
|
+
&.success,
|
442
|
+
&.info {
|
443
|
+
color: $grayDark;
|
444
|
+
text-shadow: 0 1px 0 rgba(255,255,255,.5);
|
445
|
+
}
|
446
|
+
&.error {
|
447
|
+
background-color: lighten(#f56a66, 25%);
|
448
|
+
border-color: lighten(#f56a66, 20%);
|
449
|
+
}
|
450
|
+
&.success {
|
451
|
+
background-color: lighten(#62c462, 30%);
|
452
|
+
border-color: lighten(#62c462, 25%);
|
453
|
+
}
|
454
|
+
&.info {
|
455
|
+
background-color: lighten(#6bd0ee, 25%);
|
456
|
+
border-color: lighten(#6bd0ee, 20%);
|
457
|
+
}
|
458
|
+
}
|
459
|
+
}
|
460
|
+
|
461
|
+
// NAVIGATION
|
462
|
+
// ----------
|
463
|
+
|
464
|
+
// Common tab and pill styles
|
465
|
+
.tabs,
|
466
|
+
.pills {
|
467
|
+
margin: 0 0 20px;
|
468
|
+
padding: 0;
|
469
|
+
@include clearfix();
|
470
|
+
li {
|
471
|
+
display: inline;
|
472
|
+
a {
|
473
|
+
float: left;
|
474
|
+
width: auto;
|
475
|
+
}
|
476
|
+
}
|
477
|
+
}
|
478
|
+
|
479
|
+
// Basic Tabs
|
480
|
+
.tabs {
|
481
|
+
width: 100%;
|
482
|
+
border-bottom: 1px solid $grayLight;
|
483
|
+
li {
|
484
|
+
a {
|
485
|
+
margin-bottom: -1px;
|
486
|
+
margin-right: 2px;
|
487
|
+
padding: 0 15px;
|
488
|
+
line-height: ($baseline * 2) - 1;
|
489
|
+
@include border-radius(3px 3px 0 0);
|
490
|
+
&:hover {
|
491
|
+
background-color: $grayLighter;
|
492
|
+
border-bottom: 1px solid $grayLight;
|
493
|
+
}
|
494
|
+
}
|
495
|
+
&.active a {
|
496
|
+
background-color: #fff;
|
497
|
+
padding: 0 14px;
|
498
|
+
border: 1px solid #ccc;
|
499
|
+
border-bottom: 0;
|
500
|
+
color: $gray;
|
501
|
+
}
|
502
|
+
}
|
503
|
+
}
|
504
|
+
|
505
|
+
// Basic pill nav
|
506
|
+
.pills {
|
507
|
+
li {
|
508
|
+
a {
|
509
|
+
margin: 5px 3px 5px 0;
|
510
|
+
padding: 0 15px;
|
511
|
+
text-shadow: 0 1px 1px #fff;
|
512
|
+
line-height: 30px;
|
513
|
+
@include border-radius(15px);
|
514
|
+
&:hover {
|
515
|
+
background: $linkColorHover;
|
516
|
+
color: #fff;
|
517
|
+
text-decoration: none;
|
518
|
+
text-shadow: 0 1px 1px rgba(0,0,0,.25);
|
519
|
+
}
|
520
|
+
}
|
521
|
+
&.active a {
|
522
|
+
background: $linkColor;
|
523
|
+
color: #fff;
|
524
|
+
text-shadow: 0 1px 1px rgba(0,0,0,.25);
|
525
|
+
}
|
526
|
+
}
|
527
|
+
}
|
528
|
+
|
529
|
+
|
530
|
+
// PAGINATION
|
531
|
+
// ----------
|
532
|
+
|
533
|
+
.pagination {
|
534
|
+
height: $baseline * 2;
|
535
|
+
margin: $baseline 0;
|
536
|
+
ul {
|
537
|
+
float: left;
|
538
|
+
margin: 0;
|
539
|
+
border: 1px solid #ddd;
|
540
|
+
border: 1px solid rgba(0,0,0,.15);
|
541
|
+
@include border-radius(3px);
|
542
|
+
@include box-shadow(0 1px 2px rgba(0,0,0,.05));
|
543
|
+
li {
|
544
|
+
display: inline;
|
545
|
+
a {
|
546
|
+
float: left;
|
547
|
+
padding: 0 14px;
|
548
|
+
line-height: ($baseline * 2) - 2;
|
549
|
+
border-right: 1px solid;
|
550
|
+
border-right-color: #ddd;
|
551
|
+
border-right-color: rgba(0,0,0,.15);
|
552
|
+
*border-right-color: #ddd; /* IE6-7 */
|
553
|
+
text-decoration: none;
|
554
|
+
}
|
555
|
+
a:hover,
|
556
|
+
&.active a {
|
557
|
+
background-color: lighten($blue, 45%);
|
558
|
+
}
|
559
|
+
&.disabled a,
|
560
|
+
&.disabled a:hover {
|
561
|
+
background-color: transparent;
|
562
|
+
color: $grayLight;
|
563
|
+
}
|
564
|
+
&.next a {
|
565
|
+
border: 0;
|
566
|
+
}
|
567
|
+
}
|
568
|
+
}
|
569
|
+
}
|
570
|
+
|
571
|
+
|
572
|
+
// WELLS
|
573
|
+
// -----
|
574
|
+
|
575
|
+
.well {
|
576
|
+
background-color: #f5f5f5;
|
577
|
+
margin-bottom: 20px;
|
578
|
+
padding: 19px;
|
579
|
+
min-height: 20px;
|
580
|
+
border: 1px solid #eee;
|
581
|
+
border: 1px solid rgba(0,0,0,.05);
|
582
|
+
@include border-radius(4px);
|
583
|
+
@include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
|
584
|
+
}
|
585
|
+
|
586
|
+
|
587
|
+
// MODALS
|
588
|
+
// ------
|
589
|
+
|
590
|
+
.modal-backdrop {
|
591
|
+
background-color: rgba(0,0,0,.5);
|
592
|
+
position: fixed;
|
593
|
+
top: 0;
|
594
|
+
left: 0;
|
595
|
+
right: 0;
|
596
|
+
bottom: 0;
|
597
|
+
z-index: 1000;
|
598
|
+
}
|
599
|
+
.modal {
|
600
|
+
position: fixed;
|
601
|
+
top: 50%;
|
602
|
+
left: 50%;
|
603
|
+
z-index: 2000;
|
604
|
+
width: 560px;
|
605
|
+
margin: -280px 0 0 -250px;
|
606
|
+
background-color: $white;
|
607
|
+
border: 1px solid #999;
|
608
|
+
border: 1px solid rgba(0,0,0,.3);
|
609
|
+
*border: 1px solid #999; /* IE6-7 */
|
610
|
+
@include border-radius(6px);
|
611
|
+
@include box-shadow(0 3px 7px rgba(0,0,0,0.3));
|
612
|
+
@include background-clip(padding-box);
|
613
|
+
.modal-header {
|
614
|
+
border-bottom: 1px solid #eee;
|
615
|
+
padding: 5px 20px;
|
616
|
+
.close {
|
617
|
+
position: absolute;
|
618
|
+
right: 10px;
|
619
|
+
top: 10px;
|
620
|
+
color: #999;
|
621
|
+
line-height:10px;
|
622
|
+
font-size: 18px;
|
623
|
+
}
|
624
|
+
}
|
625
|
+
.modal-body {
|
626
|
+
padding: 20px;
|
627
|
+
}
|
628
|
+
.modal-footer {
|
629
|
+
background-color: #f5f5f5;
|
630
|
+
padding: 14px 20px 15px;
|
631
|
+
border-top: 1px solid #ddd;
|
632
|
+
@include border-radius(0 0 6px 6px);
|
633
|
+
@include box-shadow(inset 0 1px 0 #fff);
|
634
|
+
@include clearfix();
|
635
|
+
margin-bottom: 0;
|
636
|
+
.btn {
|
637
|
+
float: right;
|
638
|
+
margin-left: 10px;
|
639
|
+
}
|
640
|
+
}
|
641
|
+
}
|
642
|
+
|
643
|
+
|
644
|
+
// POPOVER ARROWS
|
645
|
+
// --------------
|
646
|
+
|
647
|
+
@mixin popover-arrow-above($arrowWidth: 5px) {
|
648
|
+
bottom: 0;
|
649
|
+
left: 50%;
|
650
|
+
margin-left: -$arrowWidth;
|
651
|
+
border-left: $arrowWidth solid transparent;
|
652
|
+
border-right: $arrowWidth solid transparent;
|
653
|
+
border-top: $arrowWidth solid #000;
|
654
|
+
}
|
655
|
+
|
656
|
+
@mixin popover-arrow-left($arrowWidth: 5px) {
|
657
|
+
top: 50%;
|
658
|
+
right: 0;
|
659
|
+
margin-top: -$arrowWidth;
|
660
|
+
border-top: $arrowWidth solid transparent;
|
661
|
+
border-bottom: $arrowWidth solid transparent;
|
662
|
+
border-left: $arrowWidth solid #000;
|
663
|
+
}
|
664
|
+
|
665
|
+
@mixin popover-arrow-below($arrowWidth: 5px) {
|
666
|
+
top: 0;
|
667
|
+
left: 50%;
|
668
|
+
margin-left: -$arrowWidth;
|
669
|
+
border-left: $arrowWidth solid transparent;
|
670
|
+
border-right: $arrowWidth solid transparent;
|
671
|
+
border-bottom: $arrowWidth solid #000;
|
672
|
+
}
|
673
|
+
|
674
|
+
@mixin popover-arrow-right($arrowWidth: 5px) {
|
675
|
+
top: 50%;
|
676
|
+
left: 0;
|
677
|
+
margin-top: -$arrowWidth;
|
678
|
+
border-top: $arrowWidth solid transparent;
|
679
|
+
border-bottom: $arrowWidth solid transparent;
|
680
|
+
border-right: $arrowWidth solid #000;
|
681
|
+
}
|
682
|
+
|
683
|
+
|
684
|
+
// TWIPSY
|
685
|
+
// ------
|
686
|
+
|
687
|
+
.twipsy {
|
688
|
+
display: block;
|
689
|
+
position: absolute;
|
690
|
+
visibility: visible;
|
691
|
+
padding: 5px;
|
692
|
+
font-size: 11px;
|
693
|
+
z-index: 1000;
|
694
|
+
@include opacity(80);
|
695
|
+
&.above .twipsy-arrow { @include popover-arrow-above(); }
|
696
|
+
&.left .twipsy-arrow { @include popover-arrow-left(); }
|
697
|
+
&.below .twipsy-arrow { @include popover-arrow-below(); }
|
698
|
+
&.right .twipsy-arrow { @include popover-arrow-right(); }
|
699
|
+
.twipsy-inner {
|
700
|
+
padding: 3px 8px;
|
701
|
+
background-color: #000;
|
702
|
+
color: white;
|
703
|
+
text-align: center;
|
704
|
+
max-width: 200px;
|
705
|
+
text-decoration: none;
|
706
|
+
@include border-radius(4px);
|
707
|
+
}
|
708
|
+
.twipsy-arrow {
|
709
|
+
position: absolute;
|
710
|
+
width: 0;
|
711
|
+
height: 0;
|
712
|
+
}
|
713
|
+
}
|
714
|
+
|
715
|
+
|
716
|
+
// Background clipping
|
717
|
+
@mixin background-clip($clip) {
|
718
|
+
-webkit-background-clip: $clip;
|
719
|
+
-moz-background-clip: $clip;
|
720
|
+
background-clip: $clip;
|
721
|
+
}
|
722
|
+
|
723
|
+
|
724
|
+
// POPOVERS
|
725
|
+
// --------
|
726
|
+
|
727
|
+
.popover {
|
728
|
+
position: absolute;
|
729
|
+
top: 0;
|
730
|
+
left: 0;
|
731
|
+
z-index: 1000;
|
732
|
+
padding: 5px;
|
733
|
+
display: none;
|
734
|
+
&.above .arrow { @include popover-arrow-above(); }
|
735
|
+
&.right .arrow { @include popover-arrow-right(); }
|
736
|
+
&.below .arrow { @include popover-arrow-below(); }
|
737
|
+
&.left .arrow { @include popover-arrow-left(); }
|
738
|
+
.arrow {
|
739
|
+
position: absolute;
|
740
|
+
width: 0;
|
741
|
+
height: 0;
|
742
|
+
}
|
743
|
+
.inner {
|
744
|
+
background-color: #333;
|
745
|
+
background-color: rgba(0,0,0,.8);
|
746
|
+
*background-color: #333; /* IE 6-7 */
|
747
|
+
padding: 3px;
|
748
|
+
overflow: hidden;
|
749
|
+
width: 280px;
|
750
|
+
@include border-radius(6px);
|
751
|
+
@include box-shadow(0 3px 7px rgba(0,0,0,0.3));
|
752
|
+
}
|
753
|
+
.title {
|
754
|
+
background-color: #f5f5f5;
|
755
|
+
padding: 9px 15px;
|
756
|
+
line-height: 1;
|
757
|
+
@include border-radius(3px 3px 0 0);
|
758
|
+
border-bottom:1px solid #eee;
|
759
|
+
}
|
760
|
+
.content {
|
761
|
+
background-color: $white;
|
762
|
+
padding: 14px;
|
763
|
+
@include border-radius(0 0 3px 3px);
|
764
|
+
@include background-clip(padding-box);
|
765
|
+
p, ul, ol {
|
766
|
+
margin-bottom: 0;
|
767
|
+
}
|
768
|
+
}
|
769
|
+
}
|