campfire_logic 1.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. data/Capfile +4 -0
  2. data/Gemfile +29 -0
  3. data/Gemfile.local +27 -0
  4. data/README.rdoc +17 -0
  5. data/Rakefile +43 -0
  6. data/VERSION +1 -0
  7. data/app/controllers/application_controller.rb +5 -0
  8. data/app/controllers/directory_controller.rb +65 -0
  9. data/app/controllers/locations_controller.rb +65 -0
  10. data/app/controllers/services_controller.rb +46 -0
  11. data/app/helpers/application_helper.rb +27 -0
  12. data/app/models/google_maps_geocoder.rb +108 -0
  13. data/app/models/locale.rb +204 -0
  14. data/app/models/location.rb +216 -0
  15. data/app/models/location_import.rb +48 -0
  16. data/app/models/service.rb +27 -0
  17. data/app/models/zip_code.rb +48 -0
  18. data/app/models/zip_code_import.rb +19 -0
  19. data/app/views/directory/_search_form.html.erb +4 -0
  20. data/app/views/directory/_show_children.html.erb +29 -0
  21. data/app/views/directory/_show_location.html.erb +14 -0
  22. data/app/views/directory/search.html.erb +31 -0
  23. data/app/views/directory/show.html.erb +32 -0
  24. data/app/views/layouts/application.html.erb +49 -0
  25. data/app/views/locations/_form.html.erb +69 -0
  26. data/app/views/locations/edit.html.erb +3 -0
  27. data/app/views/locations/export.erb +4 -0
  28. data/app/views/locations/import.html.erb +13 -0
  29. data/app/views/locations/index.html.erb +37 -0
  30. data/app/views/locations/new.html.erb +3 -0
  31. data/app/views/locations/show.html.erb +70 -0
  32. data/app/views/services/_form.html.erb +29 -0
  33. data/app/views/services/edit.html.erb +3 -0
  34. data/app/views/services/index.html.erb +25 -0
  35. data/app/views/services/new.html.erb +3 -0
  36. data/app/views/services/show.html.erb +15 -0
  37. data/app/views/shared/_location.html.erb +18 -0
  38. data/app/views/shared/_map.html.erb +2 -0
  39. data/app/views/shared/_nav_tabs.html.erb +5 -0
  40. data/autotest/discover.rb +1 -0
  41. data/campfire_logic.gemspec +208 -0
  42. data/config/application.rb +44 -0
  43. data/config/boot.rb +13 -0
  44. data/config/cucumber.yml +10 -0
  45. data/config/deploy.rb +40 -0
  46. data/config/environment.rb +6 -0
  47. data/config/environments/development.rb +28 -0
  48. data/config/environments/production.rb +49 -0
  49. data/config/environments/test.rb +35 -0
  50. data/config/initializers/campfire_logic.rb +3 -0
  51. data/config/initializers/metric_fu.rb +9 -0
  52. data/config/initializers/secret_token.rb +7 -0
  53. data/config/initializers/session_store.rb +8 -0
  54. data/config/locales/en.yml +5 -0
  55. data/config/mongoid.yml +25 -0
  56. data/config/routes.rb +96 -0
  57. data/config.ru +4 -0
  58. data/db/seeds.rb +5 -0
  59. data/db/zip_codes.txt +42742 -0
  60. data/doc/google_maps_response.rb +56 -0
  61. data/features/admin_manages_locations.feature +10 -0
  62. data/features/customer_browses_directory.feature +25 -0
  63. data/features/customer_searches_directory.feature +29 -0
  64. data/features/step_definitions/directory_steps.rb +22 -0
  65. data/features/step_definitions/location_steps.rb +10 -0
  66. data/features/step_definitions/web_steps.rb +211 -0
  67. data/features/support/env.rb +31 -0
  68. data/features/support/paths.rb +33 -0
  69. data/features/support/selectors.rb +39 -0
  70. data/init.rb +1 -0
  71. data/lib/campfire_logic/engine.rb +7 -0
  72. data/lib/campfire_logic/railtie.rb +10 -0
  73. data/lib/campfire_logic.rb +31 -0
  74. data/lib/tasks/campfire_logic.rake +7 -0
  75. data/lib/tasks/cucumber.rake +71 -0
  76. data/public/404.html +26 -0
  77. data/public/422.html +26 -0
  78. data/public/500.html +26 -0
  79. data/public/favicon.ico +0 -0
  80. data/public/images/icons/collapsed.gif +0 -0
  81. data/public/images/icons/delete.png +0 -0
  82. data/public/images/icons/drag.png +0 -0
  83. data/public/images/icons/edit.png +0 -0
  84. data/public/images/icons/expanded.gif +0 -0
  85. data/public/images/icons/help_icon.png +0 -0
  86. data/public/images/icons/link_icon.png +0 -0
  87. data/public/images/icons/move.png +0 -0
  88. data/public/images/icons/move_white.png +0 -0
  89. data/public/images/icons/note.png +0 -0
  90. data/public/images/icons/note_white.png +0 -0
  91. data/public/images/icons/notification_icon_sprite.png +0 -0
  92. data/public/images/icons/spinner.gif +0 -0
  93. data/public/images/icons/view.png +0 -0
  94. data/public/images/icons/warning.png +0 -0
  95. data/public/images/icons/warning_2.png +0 -0
  96. data/public/images/icons/warning_box.png +0 -0
  97. data/public/images/icons/warning_icon.png +0 -0
  98. data/public/images/icons/warning_white.png +0 -0
  99. data/public/images/layout/arrow_asc.png +0 -0
  100. data/public/images/layout/arrow_desc.png +0 -0
  101. data/public/images/layout/black_bar.png +0 -0
  102. data/public/images/layout/branding.png +0 -0
  103. data/public/images/layout/button_bg.png +0 -0
  104. data/public/images/layout/content_left_bg.png +0 -0
  105. data/public/images/layout/content_right_bg.png +0 -0
  106. data/public/images/layout/footer_bg.png +0 -0
  107. data/public/images/layout/h2_bg.png +0 -0
  108. data/public/images/layout/h2_bg_for_table.png +0 -0
  109. data/public/images/layout/header_bg_grey.png +0 -0
  110. data/public/images/layout/header_bg_purple.png +0 -0
  111. data/public/images/layout/legend_bg.png +0 -0
  112. data/public/images/layout/text_field_bg.jpg +0 -0
  113. data/public/images/layout/text_field_error_bg.png +0 -0
  114. data/public/images/layout/th_bg.png +0 -0
  115. data/public/images/layout/th_bg_selected.png +0 -0
  116. data/public/images/rails.png +0 -0
  117. data/public/index.html +9 -0
  118. data/public/javascripts/application.js +2 -0
  119. data/public/javascripts/controls.js +965 -0
  120. data/public/javascripts/dragdrop.js +974 -0
  121. data/public/javascripts/effects.js +1123 -0
  122. data/public/javascripts/prototype.js +6001 -0
  123. data/public/javascripts/rails.js +175 -0
  124. data/public/robots.txt +6 -0
  125. data/public/sample-locations.xls +1 -0
  126. data/public/stylesheets/.gitkeep +0 -0
  127. data/public/stylesheets/application.css +682 -0
  128. data/public/stylesheets/core.css +1147 -0
  129. data/public/stylesheets/core_ie.css +52 -0
  130. data/public/stylesheets/csshover3.htc +14 -0
  131. data/script/cucumber +10 -0
  132. data/script/rails +6 -0
  133. data/spec/controllers/directory_controller_spec.rb +11 -0
  134. data/spec/controllers/services_controller_spec.rb +62 -0
  135. data/spec/models/google_maps_geocoder_spec.rb +62 -0
  136. data/spec/models/locale_spec.rb +64 -0
  137. data/spec/models/location_import_spec.rb +41 -0
  138. data/spec/models/location_spec.rb +195 -0
  139. data/spec/rcov.opts +2 -0
  140. data/spec/spec_helper.rb +12 -0
  141. data/spec/test-locations.xls +1 -0
  142. metadata +361 -0
@@ -0,0 +1,1147 @@
1
+ /* @group Normalization */
2
+
3
+ body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td {
4
+ margin: 0;
5
+ padding: 0;
6
+ }
7
+
8
+ h1, h2, h3, h4, h5, h6 {
9
+ font-size: 100%;
10
+ margin: .67em 0;
11
+ }
12
+
13
+ ul {
14
+ list-style: disc;
15
+ margin-top: 1em;
16
+ }
17
+
18
+ ol li, ul li {
19
+ font-size: .9em;
20
+ margin-bottom: 1em;
21
+ margin-left: 2em;
22
+ }
23
+
24
+ address, caption, cite, code, dfn, em, strong, th, var {
25
+ font-style: normal;
26
+ font-weight: normal;
27
+ }
28
+
29
+ table {
30
+ border-collapse: collapse;
31
+ border-spacing: 0;
32
+ }
33
+
34
+ table td {
35
+ vertical-align: top;
36
+ padding: .5em;
37
+ }
38
+
39
+ fieldset, img {
40
+ border: 0;
41
+ }
42
+
43
+ caption, th {
44
+ text-align: left;
45
+ }
46
+
47
+ q:before, q:after {
48
+ content: '';
49
+ }
50
+
51
+
52
+ /* @end */
53
+
54
+ /* @group Layout */
55
+
56
+ html {
57
+ text-align: center;
58
+ }
59
+
60
+ body {
61
+ position: relative;
62
+ width: 900px;
63
+ margin: 0 auto;
64
+ background-color: #dddddd;
65
+ }
66
+
67
+ div#header {
68
+ position: absolute;
69
+ top: 0em;
70
+ left: 0em;
71
+ min-height: 7em;
72
+ background-color: #765e9a;
73
+ width: 900px;
74
+ padding: 0em;
75
+ background: #333333 url(/images/layout/header_bg_grey.png) no-repeat;
76
+ border-bottom: 1px solid #999999;
77
+ margin-top: 10px;
78
+ }
79
+
80
+ div#branding {
81
+ position: absolute;
82
+ top: 15%;
83
+ width: 30em;
84
+ }
85
+
86
+ div#breadcrumbs {
87
+ margin: 0 0 1.5em 0;
88
+ position: relative;
89
+ z-index: 1;
90
+ }
91
+
92
+ div#metanav {
93
+ position: absolute;
94
+ top: 0px;
95
+ right: 72px;
96
+ margin: 15px 0px 25% 0px;
97
+ height: 50%;
98
+ width: 120px;
99
+ color: #ffffff;
100
+ }
101
+
102
+ div#content {
103
+ position: relative;
104
+ margin-top: 0em;
105
+ width: 900px;
106
+ height: 100%;
107
+ padding: 0em;
108
+ }
109
+
110
+ div#content_main {
111
+ position: absolute;
112
+ top: 9em;
113
+ left: 0em;
114
+ min-height: 450px;
115
+ width: 874px;
116
+ padding: 0em;
117
+ padding-bottom: 0px;
118
+ margin-top: 11px;
119
+ border-right: 1px solid #666666;
120
+ border-left: 1px solid #666666;
121
+ border-bottom: 1px solid #666666;
122
+ }
123
+
124
+ div#footer {
125
+ clear: both;
126
+ position: absolute;
127
+ margin: 1em -1.2em 1em -1.2em;
128
+ z-index: 100;
129
+ bottom: -43px;
130
+ margin-left: -13px;
131
+ width: 890px;
132
+ background: url(/images/layout/footer_bg.png) no-repeat 0 bottom;
133
+ }
134
+
135
+ div#navigation {
136
+ position: absolute;
137
+ top: 7em;
138
+ text-align: left;
139
+ height: 2em;
140
+ background-color: #99cc00;
141
+ margin-top: 10px;
142
+ border: 1px solid #666666;
143
+ width: 898px;
144
+ padding: 0em;
145
+ /*
146
+ background: url(/images/layout/navigation_bg.png) repeat-x;
147
+ */
148
+ }
149
+
150
+ div.subcolumn {
151
+ float: left;
152
+ width: 45%;
153
+ margin: 0em 5% 0em 0em;
154
+ }
155
+
156
+
157
+ /* @end */
158
+
159
+ /* @group General Typography */
160
+
161
+ a:link {
162
+ color: #756b7f;
163
+ }
164
+
165
+ a:hover {
166
+ color: #665577;
167
+ }
168
+
169
+ a:active {
170
+ color: #665577;
171
+ }
172
+
173
+ a:visited {
174
+ color: #756b7f;
175
+ }
176
+
177
+ .align_left {
178
+ text-align: left !important;
179
+ }
180
+
181
+ .align_right {
182
+ text-align: right !important;
183
+ }
184
+
185
+ body {
186
+ font-family: Verdana, Arial, Sans-Serif;
187
+ font-size: .8em;
188
+ text-align: left;
189
+ }
190
+
191
+ h1 {
192
+ font-size: 1.5em;
193
+ font-weight: bold;
194
+ padding: 0em;
195
+ color: #666666;
196
+ margin: 0em 0em 0em 0em;
197
+ }
198
+
199
+ h2 {
200
+ color: #333333;
201
+ font-weight: bold;
202
+ font-size: 1.1em;
203
+ margin: 1.5em 0em .5em 0em;
204
+ }
205
+
206
+ h2 a:link {
207
+ color: #333333;
208
+ }
209
+
210
+ h2 a:hover {
211
+ color: #333333;
212
+ }
213
+
214
+ h2 a:active {
215
+ color: #333333;
216
+ }
217
+
218
+ h2 a:visited {
219
+ color: #333333;
220
+ }
221
+
222
+ h3 {
223
+ color: #333333;
224
+ font-weight: bold;
225
+ font-size: 1em;
226
+ margin: 1.5em 0em .5em 0em;
227
+ }
228
+
229
+ p {
230
+ margin-bottom: 1.5em;
231
+ }
232
+
233
+
234
+ dt {
235
+ font-weight: bold;
236
+ margin: .5em 0em .5em 1em;
237
+ }
238
+
239
+ dd {
240
+ display: block;
241
+ margin: .5em 0em .5em 1em;
242
+ }
243
+
244
+ em {
245
+ font-weight: bold;
246
+ }
247
+
248
+ .indented {
249
+ margin-left: 2em;
250
+ }
251
+
252
+ td.indented {
253
+ padding-left: 2em !important;
254
+ }
255
+
256
+ ul.indented li {
257
+ margin-left: 1em;
258
+ }
259
+
260
+ ul.bulleted {
261
+ list-style-type: disc;
262
+ }
263
+
264
+ .inactive {
265
+ color: #aaaaaa;
266
+ font-style: italic;
267
+ }
268
+
269
+ .inactive a:link, .inactive a:hover, .inactive a:visited {
270
+ color: #aaaaaa !important;
271
+ font-style: italic;
272
+ text-decoration: none;
273
+ }
274
+
275
+ pre {
276
+ font-family: Verdana, Arial, Sans-Serif;
277
+ font-size: .9em;
278
+ text-align: left;
279
+ }
280
+
281
+ .two_column{
282
+ float: left;
283
+ width: 40%;
284
+ margin-right: 1em;
285
+ }
286
+
287
+ .three_column{
288
+ float: left;
289
+ width: 30%;
290
+ margin-right: 1em;
291
+ }
292
+
293
+ .four_column{
294
+ float: left;
295
+ width: 20%;
296
+ margin-right: 1em;
297
+ }
298
+
299
+ div.column_left {
300
+ float: left;
301
+ width: 350px;
302
+ margin-right: 5%;
303
+ }
304
+
305
+ div.column_right {
306
+ float: left;
307
+ width: 400px;
308
+ }
309
+
310
+ /* @end */
311
+
312
+ /* @group Component Typography */
313
+
314
+ div#branding {
315
+ padding: .75em 0em 0em 4.25em;
316
+ text-align: left;
317
+ font-size: 1.2em;
318
+ font-weight: bold;
319
+ color: #ffffff;
320
+ line-height: 1.5em;
321
+
322
+ }
323
+
324
+ div#breadcrumbs {
325
+ color: #999999;
326
+ font-family: Arial, sans-serif;
327
+ font-size: .9em;
328
+ }
329
+
330
+ div#breadcrumbs a:link {
331
+ color: #999999;
332
+ text-decoration: none;
333
+ }
334
+
335
+ div#breadcrumbs a:active {
336
+ color: #999999;
337
+ text-decoration: underline;
338
+ }
339
+
340
+ div#breadcrumbs a:hover {
341
+ color: #999999;
342
+ text-decoration: underline;
343
+ }
344
+
345
+ div#breadcrumbs a:visited {
346
+ color: #999999;
347
+ text-decoration: none;
348
+ }
349
+
350
+ div#content_main {
351
+ padding: 1em 1em;
352
+ background-color: #ffffff;
353
+ }
354
+
355
+ .graph {
356
+ border: 1px solid #999999;
357
+ }
358
+
359
+ div#metanav {
360
+ padding: 0em;
361
+ text-align: left;
362
+ font-size: .8em;
363
+ }
364
+
365
+ div#metanav p {
366
+ margin: 0em 0em .5em 0em;
367
+ }
368
+
369
+ div#metanav ul li {
370
+ margin-left: 1.5em;
371
+ list-style-type: square;
372
+ }
373
+
374
+ div#metanav ul li a:link {
375
+ color: #ffffff;
376
+ text-decoration: none;
377
+ }
378
+
379
+ div#metanav ul li a:visited {
380
+ color: #ffffff;
381
+ text-decoration: none;
382
+ }
383
+
384
+ div#metanav ul li a:active {
385
+ color: #ffffff;
386
+ text-decoration: underline;
387
+ }
388
+
389
+ div#metanav ul li a:hover {
390
+ color: #ffffff;
391
+ text-decoration: underline;
392
+ }
393
+
394
+ div#navigation {
395
+ padding: 0em;
396
+ }
397
+
398
+ div#navigation ul {
399
+ text-transform: uppercase;
400
+ }
401
+
402
+ div#navigation ul li {
403
+ display: block;
404
+ float: left;
405
+ color: #000000;
406
+ text-transform: uppercase;
407
+ font-size: .8em;
408
+ font-weight: bold;
409
+ background-color: #9c0;
410
+ background: none;
411
+ margin: 0em;
412
+ padding: .6em 1em .4em 1em;
413
+ height: 1.5em;
414
+ border-right: 1px solid #666666;
415
+ }
416
+
417
+ div#navigation ul :first-child {
418
+ border-left: none;
419
+ }
420
+
421
+ div#navigation ul li.here {
422
+ background-color: #aae10c;
423
+ background: url(/images/layout/navigation_bg_on.png) repeat-x;
424
+ }
425
+
426
+ div#navigation ul li:hover {
427
+ color: #ffffff !important;
428
+ background: #88aa33;
429
+ cursor: pointer;
430
+ }
431
+
432
+ div#navigation ul li:hover a:link {
433
+ color: #ffffff !important;
434
+ background: #88aa33;
435
+ cursor: pointer;
436
+ }
437
+
438
+ div#navigation ul li a:link {
439
+ color: #333333;
440
+ font-weight: normal;
441
+ text-decoration: none;
442
+ }
443
+
444
+ div#navigation ul li a:hover {
445
+ color: #ffffff;
446
+ font-weight: normal;
447
+ text-decoration: none;
448
+ }
449
+
450
+ div#navigation ul li a:visited {
451
+ color: #333333;
452
+ font-weight: normal;
453
+ text-decoration: none;
454
+ }
455
+
456
+ div#content_main ul {
457
+ margin-left: 1.5em;
458
+ list-style-type: disc;
459
+ margin-bottom: 1.5em;
460
+ }
461
+
462
+ div#footer {
463
+ border-top: 1px solid #999999;
464
+ font-size: .8em;
465
+ line-height: 150%;
466
+ padding: 1em 0em 1em 1em;
467
+ }
468
+
469
+ div#footer a:link {
470
+ color: #ffffff;
471
+ }
472
+
473
+ div#footer a:visited {
474
+ color: #ffffff;
475
+ }
476
+
477
+ table.results {
478
+ width: 100%;
479
+ margin-top: 0px;
480
+ margin-bottom: .5em;
481
+ padding: 0px;
482
+ border-collapse: collapse;
483
+ border: 1px solid #888888;
484
+ }
485
+
486
+ table.results thead tr {
487
+ border: 1px solid #888888;
488
+ }
489
+
490
+ table.results tr.odd {
491
+ background-color: #eeeeee;
492
+ }
493
+
494
+ table.results tr.even {
495
+ background-color: #ffffff;
496
+ }
497
+
498
+ table.results tr.highlight {
499
+ color: #C00;
500
+ }
501
+
502
+ table.results tfoot tr {
503
+ border: 1px solid #888888;
504
+ }
505
+
506
+ table.results th {
507
+ vertical-align: middle;
508
+ text-align: left;
509
+ font-size: .7em;
510
+ background-color: #888888;
511
+ color: #ffffff;
512
+ padding: 3px;
513
+ margin: 0px;
514
+ text-transform: uppercase;
515
+ }
516
+
517
+ table.results th a:link, table.results th a:visited {
518
+ text-decoration: none !important;
519
+ color: #ffffff;
520
+ }
521
+
522
+ table.results th a:hover {
523
+ text-decoration: underline !important;
524
+ color: #ffffff;
525
+ }
526
+
527
+ table th div.sort_link {
528
+ padding-bottom: 1em;
529
+ }
530
+
531
+ table tr th div.sort_link.sort_desc {
532
+ background: url(../images/layout/arrow_desc.png) no-repeat right bottom;
533
+ }
534
+
535
+ table tr th div.sort_link.sort_asc {
536
+ background: url(../images/layout/arrow_asc.png) no-repeat right bottom;
537
+ }
538
+
539
+ table.results tfoot td {
540
+ text-align: left;
541
+ font-size: .7em;
542
+ background-color: #888888;
543
+ color: #ffffff;
544
+ padding: 3px;
545
+ margin: 0px;
546
+ text-transform: uppercase;
547
+ }
548
+
549
+ table.results tfoot td a {
550
+ color: #ffffff !important;
551
+ }
552
+
553
+ table.results td {
554
+ text-align: left;
555
+ font-size: .75em;
556
+ padding: 6px 6px 6px 6px;
557
+ margin: 0px;
558
+ vertical-align: top;
559
+ }
560
+
561
+ /* @end */
562
+
563
+
564
+ /* @group Forms */
565
+
566
+ .button {
567
+ display: block;
568
+ float: left;
569
+ color: #333333;
570
+ text-transform: uppercase;
571
+ font-size: .8em;
572
+ font-weight: normal !important;
573
+ margin: 2em 1.5em 1.5em 0em;
574
+ border: 1px solid #666666;
575
+ padding: .5em;
576
+ cursor: pointer;
577
+ background-color: #9dbd40;
578
+ text-decoration: none !important;
579
+ min-width: 5em;
580
+ text-align: center;
581
+ }
582
+
583
+ .button.inline {
584
+ display: inline;
585
+ float: none;
586
+ margin: 0em 0em 1em 1em;
587
+ }
588
+
589
+ img.inline_icon:hover {
590
+ cursor: pointer;
591
+ }
592
+
593
+ .button a:link {
594
+ color: #333333;
595
+ cursor: pointer;
596
+ }
597
+
598
+ .button a:visited {
599
+ color: #333333;
600
+ cursor: pointer;
601
+ }
602
+
603
+ .button a:visited {
604
+ color: #333333;
605
+ cursor: pointer;
606
+ }
607
+
608
+ .explanation {
609
+ font-size: 10px;
610
+ }
611
+
612
+ .faux_field {
613
+ display: block;
614
+ color: #666666;
615
+ width: 1em;
616
+ padding: .5em;
617
+ border: 1px solid #cccccc;
618
+ background-color: #eeeeee;
619
+ /*width: 21.5em;*/
620
+ width: 35em;
621
+ min-height: 1em;
622
+ margin: .25em 0em 1em 0em;
623
+ font-size: .8em;
624
+ text-align: left;
625
+ overflow: auto;
626
+ }
627
+
628
+ div.fieldWithErrors input {
629
+ background: #ffdddd !important;
630
+ color: #ff0000;
631
+ }
632
+
633
+ .form_container {
634
+ background-color: #eeeeee;
635
+ padding: 1em;
636
+ border: 1px solid #999999;
637
+ margin-top: 1.5em;
638
+ }
639
+
640
+ .form_container p {
641
+ margin-top: 1em;
642
+ }
643
+
644
+ fieldset {
645
+ margin: .5em 0em .5em 0em;
646
+ }
647
+
648
+ fieldset.inline_label {
649
+ margin-bottom: 1.5em;
650
+ }
651
+
652
+ fieldset p {
653
+ color: #333333;
654
+ }
655
+
656
+ .form_column {
657
+ float: left;
658
+ width: 45%;
659
+ margin-right: 5%;
660
+ }
661
+
662
+ .inline_help {
663
+ margin-top: -1em;
664
+ }
665
+
666
+ .inline_help p {
667
+ font-size: 9px;
668
+ color: #666666;
669
+ width: 275px;
670
+ }
671
+
672
+ input[type="text"] {
673
+ color: #666666;
674
+ margin: 0em 0em 1em 0em;
675
+ padding: 3px;
676
+ width: 23.75em;
677
+ background: #ffffff url(/images/layout/text_field_bg.jpg) repeat-x;
678
+ height: auto;
679
+ }
680
+
681
+ input[type="text"].short {
682
+ width: 3em;
683
+ }
684
+
685
+ input[type="password"] {
686
+ color: #666666;
687
+ margin: 0em 0em 1em 0em;
688
+ padding: 3px;
689
+ width: 23.75em;
690
+ background: #ffffff url(/images/layout/text_field_bg.jpg) repeat-x;
691
+ height: auto;
692
+
693
+ }
694
+
695
+ input[type="radio"] {
696
+ margin: .5em;
697
+ }
698
+
699
+ textarea {
700
+ background: #ffffff url(/images/layout/text_field_bg.jpg) repeat-x;
701
+ font-size: 1em;
702
+ }
703
+
704
+ legend {
705
+ padding: .5em;
706
+ background-color: #7e7587;
707
+ color: #ffffff;
708
+ margin-left: -1.4em;
709
+ width: 26.5em;
710
+ font-weight: bold;
711
+ font-size: .8em;
712
+ text-transform: uppercase;
713
+ padding-left: 1em;
714
+ }
715
+
716
+ .help_icon {
717
+ display: block;
718
+ float: left;
719
+ margin-top: -16px;
720
+ margin-left: 290px;
721
+ border-left: 1px solid #444444;
722
+ padding: 3px 6px;
723
+ cursor: pointer;
724
+ }
725
+
726
+ div.popup_help {
727
+ color: #666666;
728
+ width: 98%;
729
+ background: #ffffff;
730
+ padding: 1em;
731
+ border: 1px solid #999999;
732
+ margin: 1em 0em;
733
+ }
734
+
735
+
736
+ label {
737
+ display: block;
738
+ font-weight: bold;
739
+ color: #333333;
740
+ margin: 0em 0em -1em 0em;
741
+ font-size: .8em;
742
+ }
743
+
744
+ label.inline {
745
+ display: inline;
746
+ margin-left: .5em;
747
+ font-size: .8em;
748
+ font-weight: normal;
749
+ }
750
+
751
+ label span.instructions {
752
+ font-weight: normal;
753
+ display: block;
754
+ }
755
+
756
+ select {
757
+ color: #666666;
758
+ margin: 0em 0em 1em 0em;
759
+ }
760
+
761
+ textarea {
762
+ color: #666666;
763
+ padding: .5em;
764
+ margin: 0em 0em 1em 0em;
765
+ height: 10em;
766
+ width: 23.75em;
767
+ font-family: Verdana, Arial, Sans-Serif;
768
+ color: #666666;
769
+ }
770
+
771
+ textarea.long {
772
+ height: 25em;
773
+ }
774
+
775
+ textarea.wide {
776
+ width: 70em;
777
+ }
778
+
779
+ /* @end */
780
+
781
+ /* @group Tables */
782
+
783
+ tr.odd {
784
+ background-color: #eeeeee;
785
+ }
786
+
787
+ tr.even {
788
+ background-color: #FFF;
789
+ }
790
+
791
+ table.results {
792
+ width: 100%;
793
+ margin-top: 1em;
794
+ margin-bottom: 20px;
795
+ padding: 0px;
796
+ border-collapse: collapse;
797
+ border: 1px solid #888888;
798
+ }
799
+
800
+ table.results thead tr {
801
+ border: 1px solid #888888;
802
+ }
803
+
804
+ table.results tfoot tr {
805
+ border: 1px solid #888888;
806
+ }
807
+
808
+ /* FIXME: this is a duplicate definition with slightly different values -RM */
809
+ table.results th {
810
+ vertical-align: middle;
811
+ text-align: left;
812
+ font-size: .75em;
813
+ background-color: #888888;
814
+ color: #ffffff;
815
+ padding: 1em .5em 1em .5em;
816
+ margin: 0px;
817
+ text-transform: uppercase;
818
+ }
819
+
820
+ table.results tfoot td {
821
+ text-align: left;
822
+ font-size: .7em;
823
+ background-color: #888888;
824
+ color: #ffffff;
825
+ padding: 3px;
826
+ margin: 0px;
827
+ text-transform: uppercase;
828
+ }
829
+
830
+ table.results tfoot td a {
831
+ color: #ffffff !important;
832
+ }
833
+
834
+ table.results td {
835
+ text-align: left;
836
+ font-size: .9em !important;
837
+ padding: 6px 6px 6px 6px;
838
+ height: auto !important;
839
+ margin: 0px;
840
+ vertical-align: top;
841
+ }
842
+
843
+ table.results td.crud_links {
844
+ text-align: right;
845
+ }
846
+
847
+ table.standard {
848
+ width: 100%;
849
+ text-align: left;
850
+ margin-top: 1em;
851
+ margin-bottom: 20px;
852
+ border: 1px solid #999999;
853
+ }
854
+
855
+ table.standard th {
856
+ text-align: left;
857
+ border: 1px solid #7e7587;
858
+ background-color: #7e7587;
859
+ color: #ffffff;
860
+ font-weight: bold;
861
+ text-transform: uppercase;
862
+ font-size: .8em;
863
+ padding: 1em .5em 1em .5em;
864
+ }
865
+
866
+ table.standard th a {
867
+ text-decoration: none !important;
868
+ }
869
+
870
+ table.standard th a.arrow-desc:after{
871
+ content: "\25BC";
872
+ margin-left: 1em;
873
+ }
874
+
875
+ table.standard th a.arrow-asc:after {
876
+ content: "\25B2";
877
+ margin-left: 1em;
878
+ }
879
+
880
+ table.standard td.crud_links {
881
+ text-align: right;
882
+ }
883
+
884
+ table.standard td.nowrap {
885
+ white-space: nowrap;
886
+ }
887
+
888
+ table.standard tr.muted th {
889
+ border: 1px solid #999999;
890
+ background-color: #999999;
891
+ }
892
+
893
+ table.standard tr.summary {
894
+ background-color: #cccccc;
895
+ border-top: 1px solid #999999;
896
+ }
897
+
898
+ table.standard tr.odd {
899
+ background-color: #ffffff;
900
+ }
901
+
902
+ table.standard tr.even {
903
+ background-color: #eeeeee;
904
+ }
905
+
906
+ table.standard tr:hover {
907
+ background-color: #dddddd;
908
+ }
909
+
910
+ table.standard td {
911
+ padding: .5em;
912
+ text-align: left;
913
+ font-size: .9em;
914
+ }
915
+
916
+ table.standard td span.emphasis {
917
+ font-weight: bold;
918
+ }
919
+
920
+ table.standard td.nowrap {
921
+ white-space: nowrap;
922
+ }
923
+
924
+ /* @end */
925
+
926
+ /* @group Show/Hide Controls */
927
+
928
+ .show_link {
929
+ display: block;
930
+ float: left;
931
+ margin-top: 1px;
932
+ margin-right: 4px;
933
+ height: 9px;
934
+ width: 9px;
935
+ background-image: url(../images/icons/collapsed.gif);
936
+ }
937
+
938
+ .show_link:hover {
939
+ cursor: pointer;
940
+ }
941
+
942
+ .hide_link {
943
+ display: block;
944
+ float: left;
945
+ margin-top: 1px;
946
+ margin-right: 4px;
947
+ height: 9px;
948
+ width: 9px;
949
+ background-image: url(../images/icons/expanded.gif);
950
+ }
951
+
952
+ .hide_link:hover {
953
+ cursor: pointer;
954
+ }
955
+
956
+ h2 .hide_link{
957
+ margin-top: 1px;
958
+ margin-left: -18px;
959
+ /*float: right;
960
+ margin-top: 1px;
961
+ margin-right: 15px;*/
962
+ }
963
+
964
+ h2 .show_link {
965
+ margin-top: 1px;
966
+ margin-left: -18px;
967
+ }
968
+
969
+ legend .show_link {
970
+ float: right;
971
+ margin-top: 0px;
972
+ margin-right: 25px;
973
+ }
974
+
975
+ legend .hide_link {
976
+ float: right;
977
+ margin-top: 0px;
978
+ margin-right: 25px;
979
+ }
980
+
981
+ .faux_legend .show_link {
982
+ float: right;
983
+ margin-top: 0px;
984
+ margin-right: 25px;
985
+ }
986
+
987
+ .faux_legend .hide_link {
988
+ float: right;
989
+ margin-top: 0px;
990
+ margin-right: 25px;
991
+ }
992
+
993
+ /* @end */
994
+
995
+ /* @group Rails-Specific */
996
+
997
+ div#washout {
998
+ position: absolute;
999
+ top: 0em;
1000
+ left: 0em;
1001
+ background-color: #ffffff;
1002
+ opacity: .9;
1003
+ width: 100%;
1004
+ height: 200%;
1005
+ z-index: 999;
1006
+ }
1007
+
1008
+ div.flash_notice_static {
1009
+ padding: 2em;
1010
+ border: 1px solid #999999;
1011
+ background-color: #eeeeee;
1012
+ color: #000000;
1013
+ font-weight: bold;
1014
+ }
1015
+
1016
+ div.flash_notice {
1017
+ position: absolute;
1018
+ top: 10em;
1019
+ width: 50%;
1020
+ margin-left: 25%;
1021
+ z-index: 1000;
1022
+ padding: 2em;
1023
+ border: 1px solid #999999;
1024
+ background-color: #eeeeee;
1025
+ color: #000000;
1026
+ font-weight: bold;
1027
+ }
1028
+
1029
+ div.flash_error {
1030
+ color: #990000;
1031
+ font-weight: bold;
1032
+ margin-bottom: 1.5em;
1033
+ }
1034
+
1035
+ .field_with_errors select {
1036
+ border: 1px solid #990000;
1037
+ }
1038
+
1039
+ .field_with_errors input {
1040
+ border: 1px solid #990000;
1041
+ background-image: url(/images/layout/text_field_error_bg.png);
1042
+ }
1043
+
1044
+ #error_explanation {
1045
+ background: #eeeeee;
1046
+ padding: 1em;
1047
+ border: 1px solid #990000;
1048
+ }
1049
+
1050
+ #error_explanation h2 {
1051
+ background: none;
1052
+ color: #990000;
1053
+ padding: 0px !important;
1054
+ margin: 0px;
1055
+ }
1056
+
1057
+ #error_explanation ul {
1058
+ width: 25%;
1059
+ float: left;
1060
+ margin-left: 1em;
1061
+ }
1062
+
1063
+ #error_explanation ul li {
1064
+ list-style: disc;
1065
+ margin-left: 1em;
1066
+ }
1067
+
1068
+ img.crud_icon {
1069
+ margin-left: 7px;
1070
+ }
1071
+
1072
+ .crud_link {
1073
+ margin-left: .5em;
1074
+ }
1075
+
1076
+ /* @end */
1077
+
1078
+ /* @group Pagination */
1079
+
1080
+ .pagination {
1081
+ font-size: 10px;
1082
+ padding: 3px;
1083
+ margin: 10px;
1084
+ text-align: right;
1085
+ white-space: nowrap;
1086
+ }
1087
+
1088
+ .pagination_label {
1089
+ float: left;
1090
+ width: 30%;
1091
+ font-size: 10px;
1092
+ padding-top: 1em;
1093
+ }
1094
+
1095
+ .pagination_controls {
1096
+ float: right;
1097
+ width: 60%;
1098
+ }
1099
+
1100
+ .pagination a {
1101
+ padding: 2px 5px 2px 5px;
1102
+ margin: 2px;
1103
+ border: 1px solid #999999;
1104
+ color: #666666;
1105
+ }
1106
+
1107
+ .pagination a:hover, .pagination a:active {
1108
+ border: 1px solid #999999;
1109
+ background-color: #eeeeee;
1110
+ color: #000;
1111
+ }
1112
+
1113
+ .pagination span.current {
1114
+ padding: 2px 5px 2px 5px;
1115
+ margin: 2px;
1116
+ border: 1px solid #999999;
1117
+ font-weight: bold;
1118
+ background-color: #eeeeee;
1119
+ color: #000000;
1120
+ }
1121
+
1122
+ .pagination span.disabled {
1123
+ padding: 2px 5px 2px 5px;
1124
+ margin: 2px;
1125
+ border: 1px solid #999999;
1126
+ color: #cccccc;
1127
+ }
1128
+
1129
+ /* @end */
1130
+
1131
+ /* @group Workarounds */
1132
+
1133
+ .clearfix:after {
1134
+ content: ".";
1135
+ display: block;
1136
+ height: 0;
1137
+ clear: both;
1138
+ visibility: hidden;
1139
+ }
1140
+
1141
+ /* Hides from IE-mac \*/
1142
+ * html .clearfix {height: 1%;}
1143
+ /* End hide from IE-mac */
1144
+
1145
+ #preload { height: 0; overflow: hidden; }
1146
+
1147
+ /* @end */