brighter_planet_layout-ruby19 0.2.37

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.
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
+ }