brighter_planet_layout-ruby19 0.2.37

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/.document +5 -0
  2. data/.gitattributes +2 -0
  3. data/.gitignore +21 -0
  4. data/LICENSE +20 -0
  5. data/README.rdoc +12 -0
  6. data/Rakefile +55 -0
  7. data/VERSION +1 -0
  8. data/app/helpers/brighter_planet_helper.rb +23 -0
  9. data/app/views/layouts/_elsewhere.html.erb +21 -0
  10. data/app/views/layouts/_footer.html.erb +42 -0
  11. data/app/views/layouts/_google_analytics.html.erb +13 -0
  12. data/app/views/layouts/_header.html.erb +25 -0
  13. data/app/views/layouts/brighter_planet.html.erb +33 -0
  14. data/brighter_planet_layout.gemspec +98 -0
  15. data/lib/brighter_planet_layout.rb +111 -0
  16. data/lib/brighter_planet_layout/rails.rb +11 -0
  17. data/lib/brighter_planet_layout/railtie.rb +21 -0
  18. data/lib/brighter_planet_layout/rake_tasks.rb +5 -0
  19. data/public/401.html +15 -0
  20. data/public/403.html +29 -0
  21. data/public/403.xml +2 -0
  22. data/public/404.html +29 -0
  23. data/public/404.json +1 -0
  24. data/public/404.xml +2 -0
  25. data/public/409.html +29 -0
  26. data/public/422.html +29 -0
  27. data/public/500.html +30 -0
  28. data/public/favicon.ico +0 -0
  29. data/public/javascripts/controls.js +965 -0
  30. data/public/javascripts/dragdrop.js +974 -0
  31. data/public/javascripts/effects.js +1123 -0
  32. data/public/javascripts/prototype.js +4874 -0
  33. data/public/javascripts/rails.js +118 -0
  34. data/public/maintenance.html +30 -0
  35. data/public/stylesheets/brighter_planet.css +838 -0
  36. data/public/stylesheets/fonts/DejaVuSansMono-Oblique.eot +0 -0
  37. data/public/stylesheets/fonts/DejaVuSansMono-Oblique.ttf +0 -0
  38. data/public/stylesheets/fonts/DejaVuSansMono.eot +0 -0
  39. data/public/stylesheets/fonts/DejaVuSansMono.ttf +0 -0
  40. data/public/stylesheets/fonts/KievitOT-Bold.otf +0 -0
  41. data/public/stylesheets/fonts/KievitOT-BoldItalic.otf +0 -0
  42. data/public/stylesheets/fonts/KievitOT-Italic.otf +0 -0
  43. data/public/stylesheets/fonts/KievitOT-Regular.otf +0 -0
  44. data/public/stylesheets/fonts/KievitWebPro-Bold.eot +0 -0
  45. data/public/stylesheets/fonts/KievitWebPro-Bold.woff +0 -0
  46. data/public/stylesheets/fonts/KievitWebPro-BoldIta.eot +0 -0
  47. data/public/stylesheets/fonts/KievitWebPro-BoldIta.woff +0 -0
  48. data/public/stylesheets/fonts/KievitWebPro-Ita.eot +0 -0
  49. data/public/stylesheets/fonts/KievitWebPro-Ita.woff +0 -0
  50. data/public/stylesheets/fonts/KievitWebPro.eot +0 -0
  51. data/public/stylesheets/fonts/KievitWebPro.woff +0 -0
  52. data/public/stylesheets/idle.css +63 -0
  53. data/public/stylesheets/images/bg.png +0 -0
  54. data/public/stylesheets/images/cards.png +0 -0
  55. data/public/stylesheets/images/gears.png +0 -0
  56. data/public/stylesheets/images/logo.png +0 -0
  57. data/public/stylesheets/images/meter.png +0 -0
  58. data/public/stylesheets/images/prism.png +0 -0
  59. data/public/stylesheets/images/radiant_earth-small.png +0 -0
  60. data/rails/init.rb +3 -0
  61. data/test/helper.rb +10 -0
  62. data/test/test_brighter_planet_layout.rb +7 -0
  63. metadata +162 -0
@@ -0,0 +1,118 @@
1
+ document.observe("dom:loaded", function() {
2
+ function handleRemote(element) {
3
+ var method, url, params;
4
+
5
+ if (element.tagName.toLowerCase() === 'form') {
6
+ method = element.readAttribute('method') || 'post';
7
+ url = element.readAttribute('action');
8
+ params = element.serialize(true);
9
+ } else {
10
+ method = element.readAttribute('data-method') || 'get';
11
+ url = element.readAttribute('href');
12
+ params = {};
13
+ }
14
+
15
+ var event = element.fire("ajax:before");
16
+ if (event.stopped) return false;
17
+
18
+ new Ajax.Request(url, {
19
+ method: method,
20
+ parameters: params,
21
+ asynchronous: true,
22
+ evalScripts: true,
23
+
24
+ onLoading: function(request) { element.fire("ajax:loading", {request: request}); },
25
+ onLoaded: function(request) { element.fire("ajax:loaded", {request: request}); },
26
+ onInteractive: function(request) { element.fire("ajax:interactive", {request: request}); },
27
+ onComplete: function(request) { element.fire("ajax:complete", {request: request}); },
28
+ onSuccess: function(request) { element.fire("ajax:success", {request: request}); },
29
+ onFailure: function(request) { element.fire("ajax:failure", {request: request}); }
30
+ });
31
+
32
+ element.fire("ajax:after");
33
+ }
34
+
35
+ function handleMethod(element) {
36
+ var method, url, token_name, token;
37
+
38
+ method = element.readAttribute('data-method');
39
+ url = element.readAttribute('href');
40
+ csrf_param = $$('meta[name=csrf-param]').first();
41
+ csrf_token = $$('meta[name=csrf-token]').first();
42
+
43
+ var form = new Element('form', { method: "POST", action: url, style: "display: none;" });
44
+ element.parentNode.appendChild(form);
45
+
46
+ if (method != 'post') {
47
+ var field = new Element('input', { type: 'hidden', name: '_method', value: method });
48
+ form.appendChild(field);
49
+ }
50
+
51
+ if (csrf_param) {
52
+ var param = csrf_param.readAttribute('content');
53
+ var token = csrf_token.readAttribute('content');
54
+ var field = new Element('input', { type: 'hidden', name: param, value: token });
55
+ form.appendChild(field);
56
+ }
57
+
58
+ form.submit();
59
+ }
60
+
61
+ $(document.body).observe("click", function(event) {
62
+ var message = event.findElement().readAttribute('data-confirm');
63
+ if (message && !confirm(message)) {
64
+ event.stop();
65
+ return false;
66
+ }
67
+
68
+ var element = event.findElement("a[data-remote]");
69
+ if (element) {
70
+ handleRemote(element);
71
+ event.stop();
72
+ return true;
73
+ }
74
+
75
+ var element = event.findElement("a[data-method]");
76
+ if (element) {
77
+ handleMethod(element);
78
+ event.stop();
79
+ return true;
80
+ }
81
+ });
82
+
83
+ // TODO: I don't think submit bubbles in IE
84
+ $(document.body).observe("submit", function(event) {
85
+ var element = event.findElement(),
86
+ message = element.readAttribute('data-confirm');
87
+ if (message && !confirm(message)) {
88
+ event.stop();
89
+ return false;
90
+ }
91
+
92
+ var inputs = element.select("input[type=submit][data-disable-with]");
93
+ inputs.each(function(input) {
94
+ input.disabled = true;
95
+ input.writeAttribute('data-original-value', input.value);
96
+ input.value = input.readAttribute('data-disable-with');
97
+ });
98
+
99
+ var element = event.findElement("form[data-remote]");
100
+ if (element) {
101
+ handleRemote(element);
102
+ event.stop();
103
+ }
104
+ });
105
+
106
+ $(document.body).observe("ajax:after", function(event) {
107
+ var element = event.findElement();
108
+
109
+ if (element.tagName.toLowerCase() === 'form') {
110
+ var inputs = element.select("input[type=submit][disabled=true][data-disable-with]");
111
+ inputs.each(function(input) {
112
+ input.value = input.readAttribute('data-original-value');
113
+ input.writeAttribute('data-original-value', null);
114
+ input.disabled = false;
115
+ });
116
+ }
117
+ });
118
+ });
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+
6
+ <head>
7
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
8
+ <title>Site temporarily unavailable</title>
9
+ <style type="text/css">
10
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
11
+ div.dialog {
12
+ width: 25em;
13
+ padding: 0 4em;
14
+ margin: 4em auto 0 auto;
15
+ border: 1px solid #ccc;
16
+ border-right-color: #999;
17
+ border-bottom-color: #999;
18
+ }
19
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
20
+ </style>
21
+ </head>
22
+
23
+ <body>
24
+ <div class="dialog">
25
+ <h1>Site temporarily unavailable</h1>
26
+ <p>The server is undergoing software updates and will be available shortly.</p>
27
+ <!-- <p>You may be able to find more information on <a href="http://numbers.brighterplanet.com">Safety in Numbers</a>, Brighter Planet's blog.</p> -->
28
+ </div>
29
+ </body>
30
+ </html>
@@ -0,0 +1,838 @@
1
+ /*------------*/
2
+
3
+ @font-face {
4
+ font-family: 'Brighter Planet';
5
+ src: url('fonts/KievitWebPro.eot');
6
+ src: local('☺'), url("fonts/KievitWebPro.woff") format("woff"), url("fonts/KievitOT-Regular.otf") format("opentype");
7
+ font-weight: normal;
8
+ font-style: normal;
9
+ }
10
+
11
+ @font-face {
12
+ font-family: 'Brighter Planet';
13
+ src: url('fonts/KievitWebPro-Bold.eot');
14
+ src: local('☺'), url("fonts/KievitWebPro-Bold.woff") format("woff"), url("fonts/KievitOT-Bold.otf") format("opentype");
15
+ font-weight: bold;
16
+ font-style: normal;
17
+ }
18
+
19
+ @font-face {
20
+ font-family: 'Brighter Planet';
21
+ src: url('fonts/KievitWebPro-BoldIta.eot');
22
+ src: local('☺'), url("fonts/KievitWebPro-BoldIta.woff") format("woff"), url("fonts/KievitOT-BoldItalic.otf") format("opentype");
23
+ font-weight: bold;
24
+ font-style: italic;
25
+ }
26
+
27
+ @font-face {
28
+ font-family: 'Brighter Planet';
29
+ src: url('fonts/KievitWebPro-Ita.eot');
30
+ src: local('☺'), url("fonts/KievitWebPro-Ita.woff") format("woff"), url("fonts/KievitOT-Italic.otf") format("opentype");
31
+ font-weight: normal;
32
+ font-style: italic;
33
+ }
34
+
35
+ @font-face {
36
+ font-family: 'DejaVu Mono';
37
+ src: url('fonts/DejaVuSansMono.eot');
38
+ src: local('☺'), url("fonts/DejaVuSansMono.ttf") format("opentype");
39
+ font-weight: normal;
40
+ font-style: normal;
41
+ }
42
+
43
+ @font-face {
44
+ font-family: 'DejaVu Mono';
45
+ src: url('fonts/DejaVuSansMono-Oblique.eot');
46
+ src: local('☺'), url("fonts/DejaVuSansMono-Oblique.ttf") format("opentype");
47
+ font-weight: normal;
48
+ font-style: italic;
49
+ }
50
+
51
+ /* ---------- */
52
+
53
+ body {
54
+ margin: 0;
55
+ font-size: 13px;
56
+ background: #111;
57
+ }
58
+
59
+ body, input, select, button {
60
+ font-family: "Brighter Planet", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif;
61
+ }
62
+
63
+ h1, h2, h3, h4, h5, h6, p, ol, ul, li, dl, dt, dd {
64
+ margin: 0;
65
+ padding: 0;
66
+ }
67
+
68
+ pre, kbd {
69
+ font-family: "DejaVu Mono", monospace;
70
+ }
71
+
72
+ pre {
73
+ display: block;
74
+ line-height: 1.4;
75
+ overflow: auto;
76
+ background: white;
77
+ padding: 10px;
78
+ margin: 10px -15px;
79
+ border-top: 1px solid #ddd;
80
+ -moz-box-shadow: inset 0 5px 5px #eee;
81
+ }
82
+
83
+ a {
84
+ outline: none;
85
+ }
86
+
87
+ a img {
88
+ border: none;
89
+ }
90
+
91
+ .sub {
92
+ font-size: smaller;
93
+ }
94
+
95
+ #header {
96
+ background-image:
97
+ -webkit-gradient(
98
+ linear,
99
+ left top,
100
+ left bottom,
101
+ color-stop(0, rgb(100,100,100)),
102
+ color-stop(0.16, rgb(77,77,77)),
103
+ color-stop(0.75, rgb(48,48,48)),
104
+ color-stop(1, rgb(28,28,28))
105
+ );
106
+ background-image:
107
+ -moz-linear-gradient(
108
+ center top,
109
+ rgb(100,100,100) 0%,
110
+ rgb(77,77,77) 16%,
111
+ rgb(48,48,48) 75%,
112
+ rgb(28,28,28) 100%
113
+ );
114
+ overflow: auto;
115
+ }
116
+
117
+ #header h1 {
118
+ height: 34px;
119
+ float: left;
120
+ width: 129px;
121
+ margin: 13px;
122
+ background: url(images/logo.png) no-repeat
123
+ }
124
+
125
+ #header h1 span {
126
+ display: none;
127
+ }
128
+
129
+ #header ul {
130
+ list-style: none;
131
+ overflow: auto;
132
+ margin: 0 0 0 165px;
133
+ }
134
+
135
+ #header ul li {
136
+ border-left: 1px solid black;
137
+ float: left;
138
+ width: 120px;
139
+ }
140
+
141
+ #header ul li a {
142
+ border-left: 1px solid #555;
143
+ display: block;
144
+ text-align: center;
145
+ text-transform: uppercase;
146
+ text-decoration: none;
147
+ color: silver;
148
+ font-size: 13px;
149
+ line-height: 1;
150
+ text-shadow: -1px -1px 0px black;
151
+ padding: 23.5px 0;
152
+ }
153
+
154
+ #header li:last-child {
155
+ border-right: 1px solid #555;
156
+ }
157
+
158
+ #header li:last-child a {
159
+ border-right: 1px solid black;
160
+ }
161
+
162
+ #header ul li a:hover {
163
+ background: rgba(0,0,0,0.1);
164
+ }
165
+
166
+ #nav {
167
+ background-image:
168
+ -webkit-gradient(
169
+ linear,
170
+ left top,
171
+ left bottom,
172
+ color-stop(0, rgb(0,79,140)),
173
+ color-stop(1, rgb(0,39,69))
174
+ );
175
+ background-image:
176
+ -moz-linear-gradient(
177
+ center top,
178
+ rgb(0,79,140) 0%,
179
+ rgb(0,39,69) 100%
180
+ );
181
+ overflow: auto;
182
+ font-size: 11px;
183
+ }
184
+
185
+ #nav h3 {
186
+ float: left;
187
+ width: 150px;
188
+ text-align: right;
189
+ color: silver;
190
+ text-shadow: -1px -1px 0px black;
191
+ padding: 1px 0 0;
192
+ font-size: 12px;
193
+ visibility: hidden;
194
+ }
195
+
196
+ #nav h3:after {
197
+ content: " →";
198
+ }
199
+
200
+ #nav ul {
201
+ list-style: none;
202
+ overflow: auto;
203
+ margin: 0 0 0 165px;
204
+ }
205
+
206
+ #nav ul li {
207
+ border-left: 1px solid black;
208
+ float: left;
209
+ width: 100px;
210
+ }
211
+
212
+ #nav ul li a {
213
+ border-left: 1px solid #555;
214
+ display: block;
215
+ text-align: center;
216
+ text-transform: uppercase;
217
+ text-decoration: none;
218
+ color: silver;
219
+ line-height: 1;
220
+ text-shadow: -1px -1px 0px black;
221
+ padding: 5px 0;
222
+ }
223
+
224
+ #nav li:last-child {
225
+ border-right: 1px solid #555;
226
+ }
227
+
228
+ #nav li:last-child a {
229
+ border-right: 1px solid black;
230
+ }
231
+
232
+ #nav ul li a:hover {
233
+ background: rgba(0,0,0,0.1);
234
+ }
235
+
236
+ #title {
237
+ background-color: #5FBBFF;
238
+ background-repeat: no-repeat;
239
+ background-position: 20px 20%;
240
+ padding: 20px 0 0 165px;
241
+ height: 70px;
242
+ border-bottom: 1px solid #0070C4;
243
+ -moz-box-shadow: inset 0 10px 10px rgba(0,0,0,0.1);
244
+ -webkit-box-shadow: inset 0 10px 10px rgba(0,0,0,0.1);
245
+ box-shadow: inset 0 10px 10px rgba(0,0,0,0.1);
246
+ }
247
+
248
+ #title h1, #title h2 {
249
+ font-size: 18px;
250
+ text-shadow: 1px 1px 0px rgba(255,255,255,0.5);
251
+ }
252
+
253
+ #title h1 a {
254
+ color: blue;
255
+ }
256
+
257
+ #title h2 a {
258
+ color: inherit;
259
+ }
260
+
261
+ #title h2 {
262
+ color: #333;
263
+ }
264
+
265
+ #content, #flash {
266
+ background: #f1f1f1;
267
+ }
268
+
269
+ #flash {
270
+ padding: 0 0 15px;
271
+ }
272
+
273
+ #content {
274
+ padding: 15px 15px 50px;
275
+ }
276
+
277
+ #content>p {
278
+ margin: 0 15px 10px 150px;
279
+ max-width: 600px;
280
+ }
281
+
282
+ #content h1 {
283
+ font-size: 18px;
284
+ margin: 0 10px 20px 150px;
285
+ text-shadow: 1px 1px 0 white;
286
+ color: #333;
287
+ }
288
+
289
+ #content h2 {
290
+ font-size: 18px;
291
+ margin: 25px 10px 20px 150px;
292
+ text-shadow: 1px 1px 0 white;
293
+ color: gray;
294
+ }
295
+
296
+ #content h3 {
297
+ margin: 30px 15px 0 150px;
298
+ }
299
+
300
+ #content>ul {
301
+ list-style: square;
302
+ margin: 10px 15px 10px 150px;
303
+ padding: 0 0 0 1em
304
+ }
305
+
306
+ #content p.cta {
307
+ border: 1px solid #5FBBFF;
308
+ -moz-border-radius: 3px;
309
+ -webkit-border-radius: 3px;
310
+ border-radius: 3px;
311
+ overflow: auto;
312
+ }
313
+
314
+ p.cta a {
315
+ display: block;
316
+ padding: 10px;
317
+ color: blue;
318
+ }
319
+
320
+ #content form dl dt {
321
+ float: left;
322
+ width: 140px;
323
+ text-align: right;
324
+ margin: 0 10px 0 0;
325
+ padding: 10px 0 0;
326
+ }
327
+
328
+ #content form dl dt .field_with_errors label, #content form dl dt.label .field_with_errors {
329
+ color: #F16262;
330
+ }
331
+
332
+ #content form dl dt label, #content form dl dt.label {
333
+ color: #444;
334
+ text-shadow: 1px 1px 0 white;
335
+ }
336
+
337
+ #content form dl dd {
338
+ margin: 0 15px 10px 150px;
339
+ position: relative;
340
+ }
341
+
342
+ #content form dl dd input[type=text], #content form dl dd input[type=password] {
343
+ font-size: 21px;
344
+ padding: 4px;
345
+ width: 100%;
346
+ max-width: 600px;
347
+ }
348
+
349
+ #content form dl dd select {
350
+ font-size: 21px;
351
+ }
352
+
353
+ #content form p.action {
354
+ margin: 20px 0 0 150px;
355
+ }
356
+
357
+ #content form p.action input[type=submit], #content form p.action button {
358
+ background-image:
359
+ -webkit-gradient(
360
+ linear,
361
+ left top,
362
+ left bottom,
363
+ color-stop(0, rgb(100,100,100)),
364
+ color-stop(0.16, rgb(77,77,77)),
365
+ color-stop(0.75, rgb(48,48,48)),
366
+ color-stop(1, rgb(28,28,28))
367
+ );
368
+ background-image:
369
+ -moz-linear-gradient(
370
+ center top,
371
+ rgb(100,100,100) 0%,
372
+ rgb(77,77,77) 16%,
373
+ rgb(48,48,48) 75%,
374
+ rgb(28,28,28) 100%
375
+ );
376
+ -moz-border-radius: 3px;
377
+ -webkit-border-radius: 3px;
378
+ border: none;
379
+ border-radius: 3px;
380
+ padding: 5px;
381
+ color: #ddd;
382
+ text-decoration: none;
383
+ text-shadow: -1px -1px 0 black;
384
+ text-align: center;
385
+ font-size: 18px;
386
+ }
387
+
388
+ p.new, div.destroy {
389
+ margin: 15px 15px 0 150px;
390
+ }
391
+
392
+ p.new a {
393
+ color: blue;
394
+ text-decoration: none;
395
+ text-transform: uppercase;
396
+ text-shadow: 1px 1px 0 white;
397
+ }
398
+
399
+ p.new a:before {
400
+ content: "✚";
401
+ font-size: 30px;
402
+ margin: 0 5px 0 0;
403
+ vertical-align: -3px;
404
+ }
405
+
406
+ p.new a:hover:before {
407
+ color: #333;
408
+ }
409
+
410
+ div.destroy input[type=submit] {
411
+ background-image:
412
+ -webkit-gradient(
413
+ linear,
414
+ left top,
415
+ left bottom,
416
+ color-stop(0, rgb(255,66,66)),
417
+ color-stop(0.15, rgb(245,19,19)),
418
+ color-stop(0.75, rgb(204,10,10)),
419
+ color-stop(1, rgb(143,6,6))
420
+ );
421
+ background-image:
422
+ -moz-linear-gradient(
423
+ center top,
424
+ rgb(255,66,66) 0%,
425
+ rgb(245,19,19) 15%,
426
+ rgb(204,10,10) 75%,
427
+ rgb(143,6,6) 100%
428
+ );
429
+ -moz-border-radius: 3px;
430
+ -webkit-border-radius: 3px;
431
+ border: none;
432
+ border-radius: 3px;
433
+ padding: 5px;
434
+ color: #ddd;
435
+ text-decoration: none;
436
+ text-shadow: -1px -1px 0 black;
437
+ text-align: center;
438
+ }
439
+
440
+ #content>p.back {
441
+ margin: 10px 15px 10px 150px;
442
+ border-top: 1px solid silver;
443
+ padding: 10px 0 0;
444
+ }
445
+
446
+ p.back:before {
447
+ content: "← "
448
+ }
449
+
450
+ p.back a {
451
+ color: blue;
452
+ }
453
+
454
+ p.flash {
455
+ margin: 0 15px 0 165px;
456
+ padding: 10px;
457
+ position: relative;
458
+ color: white;
459
+ font-size: 15px;
460
+ }
461
+
462
+ p.flash.error {
463
+ background: #F16262;
464
+ border-left: 1px solid #C11A1A;
465
+ border-bottom: 1px solid #C11A1A;
466
+ border-right: 1px solid #C11A1A;
467
+ text-shadow: -1px -1px 0 #C11A1A;
468
+ }
469
+
470
+ p.flash.notice {
471
+ background: silver;
472
+ border-left: 1px solid gray;
473
+ border-bottom: 1px solid gray;
474
+ border-right: 1px solid gray;
475
+ text-shadow: -1px -1px 0 gray;
476
+ }
477
+
478
+ p.flash:before {
479
+ position: absolute;
480
+ left: -35px;
481
+ top: -7px;
482
+ line-height: 45px;
483
+ font-size: 40px;
484
+ text-shadow: 1px 1px 0 silver;
485
+ }
486
+
487
+ p.flash.error:before {
488
+ content: "⚠";
489
+ color: #F16262;
490
+ }
491
+
492
+ #footer #shortcuts {
493
+ background-image:
494
+ -webkit-gradient(
495
+ linear,
496
+ left top,
497
+ left bottom,
498
+ color-stop(0, rgb(77,77,77)),
499
+ color-stop(1, rgb(48,48,48))
500
+ );
501
+ background-image:
502
+ -moz-linear-gradient(
503
+ center top,
504
+ rgb(77,77,77) 0%,
505
+ rgb(48,48,48) 100%
506
+ );
507
+ overflow: auto;
508
+ font-size: 11px;
509
+ }
510
+
511
+ #footer #shortcuts h3 {
512
+ float: left;
513
+ width: 150px;
514
+ text-align: right;
515
+ color: silver;
516
+ text-shadow: -1px -1px 0px black;
517
+ padding: 1px 0 0;
518
+ font-size: 12px;
519
+ }
520
+
521
+ #footer #shortcuts h3:after {
522
+ content: " →";
523
+ }
524
+
525
+ #footer #shortcuts ul {
526
+ list-style: none;
527
+ overflow: auto;
528
+ margin: 0 0 0 165px;
529
+ }
530
+
531
+ #footer #shortcuts ul li {
532
+ border-left: 1px solid black;
533
+ float: left;
534
+ width: 80px;
535
+ }
536
+
537
+ #footer #shortcuts ul li a {
538
+ border-left: 1px solid #555;
539
+ display: block;
540
+ text-align: center;
541
+ text-transform: uppercase;
542
+ text-decoration: none;
543
+ color: silver;
544
+ line-height: 1;
545
+ text-shadow: -1px -1px 0px black;
546
+ padding: 5px 0;
547
+ }
548
+
549
+ #footer #shortcuts li:last-child {
550
+ border-right: 1px solid #555;
551
+ }
552
+
553
+ #footer #shortcuts li:last-child a {
554
+ border-right: 1px solid black;
555
+ }
556
+
557
+ #footer #shortcuts ul li a:hover {
558
+ background: rgba(0,0,0,0.1);
559
+ }
560
+
561
+ #footer #map {
562
+ -moz-box-shadow: inset 0 10px 10px rgba(0,0,0,0.1);
563
+ -webkit-box-shadow: inset 0 10px 10px rgba(0,0,0,0.1);
564
+ box-shadow: inset 0 10px 10px rgba(0,0,0,0.1);
565
+ text-shadow: 1px 1px 0 black;
566
+ overflow: auto;
567
+ padding: 0 0 45px 0;
568
+ }
569
+
570
+ #footer #map #slogan {
571
+ margin: 25px 10px 0 13px;
572
+ width: 147px;
573
+ float: left;
574
+ }
575
+
576
+ #footer #map #slogan h1 {
577
+ font-size: 16px;
578
+ color: #2DB56A;
579
+ font-weight: normal;
580
+ }
581
+
582
+ #footer #map #slogan p.slogan {
583
+ color: silver;
584
+ }
585
+
586
+ #footer #map #slogan p.description {
587
+ font-size: 11px;
588
+ color: gray;
589
+ margin: 5px 0 0;
590
+ }
591
+
592
+ #footer #map #slogan p.description a {
593
+ color: silver;
594
+ }
595
+
596
+ #footer #map #slogan p.terms a {
597
+ font-size: 11px;
598
+ color: gray;
599
+ }
600
+
601
+ #footer #map #middleware, #footer #map #applications {
602
+ margin: 25px 30px 0 0;
603
+ float: left;
604
+ width: 225px;
605
+ }
606
+
607
+ #footer #map #middleware {
608
+ font-size: 11px;
609
+ }
610
+
611
+ #footer #map h3 {
612
+ color: silver;
613
+ text-transform: uppercase;
614
+ font-weight: normal;
615
+ font-size: 11px;
616
+ }
617
+
618
+ #footer #map #middleware p {
619
+ color: gray;
620
+ }
621
+
622
+ #footer #map #middleware p a {
623
+ color: #999;
624
+ }
625
+
626
+ #footer #map #middleware ul.links {
627
+ list-style: none;
628
+ border-top: 1px solid #222;
629
+ padding: 10px 0 0;
630
+ }
631
+
632
+ #footer #map #middleware ul.links li {
633
+ margin: 0 0 7px;
634
+ color: #444;
635
+ }
636
+
637
+ #footer #map #middleware ul.links li:before {
638
+ content: "▶";
639
+ display: block;
640
+ float: left;
641
+ width: 1em;
642
+ background: #555;
643
+ color: #222;
644
+ padding: 0 0 1px 2px;
645
+ line-height: 14px;
646
+ margin: 0 5px 0 0;
647
+ -moz-border-radius: 3px;
648
+ -webkit-border-radius: 3px;
649
+ border-radius: 3px;
650
+ text-shadow: none;
651
+ font-size: 13px;
652
+ -moz-box-shadow: black 1px 1px 0;
653
+ }
654
+
655
+ #footer #map #middleware ul.links li a {
656
+ color: gray;
657
+ display: block;
658
+ }
659
+
660
+ #footer #map #middleware .main {
661
+ padding: 0 0 10px 80px;
662
+ background: url(images/gears.png) no-repeat;
663
+ min-height: 47px;
664
+ border-bottom: 1px solid black;
665
+ }
666
+
667
+ #footer #map #applications {
668
+ margin: 25px 20px 0 0;
669
+ }
670
+
671
+ #footer #map #applications h3 {
672
+ display: none;
673
+ }
674
+
675
+ #footer #map #applications ul {
676
+ background: #080808;
677
+ -moz-border-radius: 5px;
678
+ -webkit-border-radius: 5px;
679
+ border-radius: 5px;
680
+ -moz-box-shadow: -1px -1px 0 black;
681
+ -webkit-box-shadow: -1px -1px 0 black;
682
+ box-shadow: -1px -1px 0 black;
683
+ list-style: none;
684
+ }
685
+
686
+ #footer #map #applications ul li {
687
+ padding: 10px;
688
+ border-bottom: 1px solid #111;
689
+ border-top: 1px solid black;
690
+ color: gray;
691
+ }
692
+
693
+ #footer #map #applications ul li:first-child {
694
+ border-top: none;
695
+ }
696
+
697
+ #footer #map #applications ul li:last-child {
698
+ border-bottom: none;
699
+ }
700
+
701
+ #footer #map #applications ul li.cards {
702
+ padding-top: 70px;
703
+ text-align: center;
704
+ background: url(images/cards.png) no-repeat 50% 4px;
705
+ }
706
+
707
+ #footer #map #applications ul li.profiler {
708
+ font-size: 11px;
709
+ padding-left: 50px;
710
+ background: url(images/meter.png) no-repeat 10px 60%;
711
+ }
712
+
713
+ #footer #map #applications ul li a {
714
+ color: silver;
715
+ }
716
+
717
+ #footer #map #elsewhere {
718
+ float: left;
719
+ width: 300px;
720
+ margin: 25px 0 0;
721
+ color: silver;
722
+ }
723
+
724
+ #footer #map #elsewhere>div {
725
+ position: relative;
726
+ }
727
+
728
+ #footer #map #elsewhere>div:after {
729
+ content: "◣";
730
+ position: absolute;
731
+ bottom: 8px;
732
+ right: 0;
733
+ width: 50px;
734
+ color: #222;
735
+ font-size: 18px;
736
+ }
737
+
738
+ #footer #map #elsewhere #twitter {
739
+ background: url(images/radiant_earth-small.png) no-repeat 100% 100%;
740
+ margin: 0 0 25px;
741
+ }
742
+
743
+ #footer #map #elsewhere #blog {
744
+ background-repeat: no-repeat;
745
+ background-position: 100% 100%;
746
+ }
747
+ #footer #map #elsewhere #blog.derek { background-image: url(http://numbers.brighterplanet.com/stylesheets/images/derek.jpg); }
748
+ #footer #map #elsewhere #blog.andy { background-image: url(http://numbers.brighterplanet.com/stylesheets/images/andy.jpg); }
749
+ #footer #map #elsewhere #blog.ian { background-image: url(http://numbers.brighterplanet.com/stylesheets/images/ian.jpg); }
750
+ #footer #map #elsewhere #blog.matt { background-image: url(http://numbers.brighterplanet.com/stylesheets/images/matt.jpg); }
751
+ #footer #map #elsewhere #blog.patti { background-image: url(http://numbers.brighterplanet.com/stylesheets/images/patti.jpg); }
752
+ #footer #map #elsewhere #blog.robbie { background-image: url(http://numbers.brighterplanet.com/stylesheets/images/robbie.jpg); }
753
+ #footer #map #elsewhere #blog.seamus { background-image: url(http://numbers.brighterplanet.com/stylesheets/images/seamus.jpg); }
754
+
755
+ #footer #map #elsewhere>div p {
756
+ background: #222;
757
+ -moz-box-shadow: -1px -1px 0 black;
758
+ -webkit-box-shadow: -1px -1px 0 black;
759
+ box-shadow: -1px -1px 0 black;
760
+ -moz-border-radius: 5px;
761
+ -webkit-border-radius: 5px;
762
+ border-radius: 5px;
763
+ text-shadow: 1px 1px 0 black;
764
+ }
765
+
766
+ #footer #map #elsewhere p {
767
+ padding: 10px;
768
+ margin: 0 48px 0 0;
769
+ }
770
+
771
+ #footer #map #elsewhere p span {
772
+ color: gray;
773
+ }
774
+
775
+ #footer #map #elsewhere p a {
776
+ color: inherit;
777
+ }
778
+
779
+ ul.pages {
780
+ background: #F1F1F1;
781
+ padding: 15px 15px 10px 165px;
782
+ list-style: none;
783
+ overflow: auto;
784
+ }
785
+
786
+ ul.pages li {
787
+ float: left;
788
+ margin: 0 5px 0 0;
789
+ }
790
+
791
+ ul.pages li:first-child {
792
+ margin-left: -6px;
793
+ }
794
+
795
+ ul.pages li.current {
796
+ background: white;
797
+ -moz-border-radius: 3px;
798
+ -webkit-border-radius: 3px;
799
+ border-radius: 3px;
800
+ font-weight: bold;
801
+ -moz-box-shadow: -1px -1px 0 silver;
802
+ -webkit-box-shadow: -1px -1px 0 silver;
803
+ box-shadow: -1px -1px 0 silver;
804
+ }
805
+
806
+ ul.pages li.current:first-child {
807
+ margin-left: 0;
808
+ }
809
+
810
+ ul.pages li.current, ul.pages li a {
811
+ line-height: 24px;
812
+ padding: 0 6px;
813
+ }
814
+
815
+ ul.pages li a {
816
+ display: block;
817
+ color: blue;
818
+ }
819
+
820
+ ul.pages li a:hover {
821
+ background-image:
822
+ -webkit-gradient(
823
+ linear,
824
+ left top,
825
+ left bottom,
826
+ color-stop(0, rgb(230,230,230)),
827
+ color-stop(1, rgb(200,200,200))
828
+ );
829
+ background-image:
830
+ -moz-linear-gradient(
831
+ center top,
832
+ rgb(230,230,230) 0%,
833
+ rgb(200,200,200) 100%
834
+ );
835
+ -moz-border-radius: 3px;
836
+ -webkit-border-radius: 3px;
837
+ border-radius: 3px;
838
+ }