pcapr-local 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. data/.document +5 -0
  2. data/LICENSE.txt +20 -0
  3. data/README.md +64 -0
  4. data/Rakefile +57 -0
  5. data/VERSION +1 -0
  6. data/bin/pcap2par +49 -0
  7. data/bin/startpcapr +40 -0
  8. data/bin/stoppcapr +33 -0
  9. data/bin/xtractr +5 -0
  10. data/lib/environment.rb +106 -0
  11. data/lib/exe/xtractr +0 -0
  12. data/lib/mu/pcap.rb +110 -0
  13. data/lib/mu/pcap/ethernet.rb +148 -0
  14. data/lib/mu/pcap/header.rb +75 -0
  15. data/lib/mu/pcap/io_pair.rb +67 -0
  16. data/lib/mu/pcap/io_wrapper.rb +76 -0
  17. data/lib/mu/pcap/ip.rb +61 -0
  18. data/lib/mu/pcap/ipv4.rb +257 -0
  19. data/lib/mu/pcap/ipv6.rb +148 -0
  20. data/lib/mu/pcap/packet.rb +104 -0
  21. data/lib/mu/pcap/pkthdr.rb +155 -0
  22. data/lib/mu/pcap/reader.rb +61 -0
  23. data/lib/mu/pcap/reader/http_family.rb +170 -0
  24. data/lib/mu/pcap/sctp.rb +367 -0
  25. data/lib/mu/pcap/sctp/chunk.rb +123 -0
  26. data/lib/mu/pcap/sctp/chunk/data.rb +134 -0
  27. data/lib/mu/pcap/sctp/chunk/init.rb +100 -0
  28. data/lib/mu/pcap/sctp/chunk/init_ack.rb +68 -0
  29. data/lib/mu/pcap/sctp/parameter.rb +110 -0
  30. data/lib/mu/pcap/sctp/parameter/ip_address.rb +48 -0
  31. data/lib/mu/pcap/stream_packetizer.rb +72 -0
  32. data/lib/mu/pcap/tcp.rb +505 -0
  33. data/lib/mu/pcap/udp.rb +69 -0
  34. data/lib/mu/scenario/pcap.rb +164 -0
  35. data/lib/mu/scenario/pcap/fields.rb +50 -0
  36. data/lib/mu/scenario/pcap/rtp.rb +71 -0
  37. data/lib/pcapr_local.rb +159 -0
  38. data/lib/pcapr_local/config.rb +336 -0
  39. data/lib/pcapr_local/db.rb +197 -0
  40. data/lib/pcapr_local/scanner.rb +250 -0
  41. data/lib/pcapr_local/server.rb +178 -0
  42. data/lib/pcapr_local/www/favicon.ico +0 -0
  43. data/lib/pcapr_local/www/favicon.png +0 -0
  44. data/lib/pcapr_local/www/home/index.html +138 -0
  45. data/lib/pcapr_local/www/static/image/16x16/Cancel.png +0 -0
  46. data/lib/pcapr_local/www/static/image/16x16/Cancel.png.1 +0 -0
  47. data/lib/pcapr_local/www/static/image/16x16/Download.png +0 -0
  48. data/lib/pcapr_local/www/static/image/16x16/Folder3.png +0 -0
  49. data/lib/pcapr_local/www/static/image/16x16/Full Size.png +0 -0
  50. data/lib/pcapr_local/www/static/image/16x16/Minus.png +0 -0
  51. data/lib/pcapr_local/www/static/image/16x16/Plus.png +0 -0
  52. data/lib/pcapr_local/www/static/image/16x16/Search.png +0 -0
  53. data/lib/pcapr_local/www/static/image/16x16/User.png +0 -0
  54. data/lib/pcapr_local/www/static/image/48x48/Phone.png +0 -0
  55. data/lib/pcapr_local/www/static/image/48x48/Video.png +0 -0
  56. data/lib/pcapr_local/www/static/image/bar-orange.gif +0 -0
  57. data/lib/pcapr_local/www/static/image/beta.png +0 -0
  58. data/lib/pcapr_local/www/static/image/bg.png +0 -0
  59. data/lib/pcapr_local/www/static/image/blockquote.png +0 -0
  60. data/lib/pcapr_local/www/static/image/body-bg.png +0 -0
  61. data/lib/pcapr_local/www/static/image/body-h3.png +0 -0
  62. data/lib/pcapr_local/www/static/image/body-hl1-bg.png +0 -0
  63. data/lib/pcapr_local/www/static/image/body-hl1-h3.png +0 -0
  64. data/lib/pcapr_local/www/static/image/body-hl1-readmore.png +0 -0
  65. data/lib/pcapr_local/www/static/image/body-hl2-bg.png +0 -0
  66. data/lib/pcapr_local/www/static/image/body-hl2-h3.png +0 -0
  67. data/lib/pcapr_local/www/static/image/body-hl2-readmore.png +0 -0
  68. data/lib/pcapr_local/www/static/image/body-hl3-bg.png +0 -0
  69. data/lib/pcapr_local/www/static/image/body-hl3-h3.png +0 -0
  70. data/lib/pcapr_local/www/static/image/body-hl3-readmore.png +0 -0
  71. data/lib/pcapr_local/www/static/image/body-hl4-bg.png +0 -0
  72. data/lib/pcapr_local/www/static/image/body-hl4-h3.png +0 -0
  73. data/lib/pcapr_local/www/static/image/body-hl4-readmore.png +0 -0
  74. data/lib/pcapr_local/www/static/image/body-hl5-h3.png +0 -0
  75. data/lib/pcapr_local/www/static/image/body-hl6-h3.png +0 -0
  76. data/lib/pcapr_local/www/static/image/body-hl7-h3.png +0 -0
  77. data/lib/pcapr_local/www/static/image/body-hl8-h3.png +0 -0
  78. data/lib/pcapr_local/www/static/image/body-readmore.png +0 -0
  79. data/lib/pcapr_local/www/static/image/bottom-bg.png +0 -0
  80. data/lib/pcapr_local/www/static/image/bottom-l.png +0 -0
  81. data/lib/pcapr_local/www/static/image/bottom-r.png +0 -0
  82. data/lib/pcapr_local/www/static/image/btn-search.png +0 -0
  83. data/lib/pcapr_local/www/static/image/bullet-1.png +0 -0
  84. data/lib/pcapr_local/www/static/image/bullet-2.png +0 -0
  85. data/lib/pcapr_local/www/static/image/bullet-3.png +0 -0
  86. data/lib/pcapr_local/www/static/image/bullet-4.png +0 -0
  87. data/lib/pcapr_local/www/static/image/bullet-5.png +0 -0
  88. data/lib/pcapr_local/www/static/image/bullet-6.png +0 -0
  89. data/lib/pcapr_local/www/static/image/bullet-7.png +0 -0
  90. data/lib/pcapr_local/www/static/image/bullet-hl1.png +0 -0
  91. data/lib/pcapr_local/www/static/image/bullet-hl2.png +0 -0
  92. data/lib/pcapr_local/www/static/image/bullet-hl3.png +0 -0
  93. data/lib/pcapr_local/www/static/image/bullet-hl4.png +0 -0
  94. data/lib/pcapr_local/www/static/image/bullet-pathway.png +0 -0
  95. data/lib/pcapr_local/www/static/image/bullet-section1.png +0 -0
  96. data/lib/pcapr_local/www/static/image/bullet-section2.png +0 -0
  97. data/lib/pcapr_local/www/static/image/collapsed.gif +0 -0
  98. data/lib/pcapr_local/www/static/image/crosslink.png +0 -0
  99. data/lib/pcapr_local/www/static/image/expanded.gif +0 -0
  100. data/lib/pcapr_local/www/static/image/favicon.ico +0 -0
  101. data/lib/pcapr_local/www/static/image/favicon.png +0 -0
  102. data/lib/pcapr_local/www/static/image/icon-author.png +0 -0
  103. data/lib/pcapr_local/www/static/image/icon-created.png +0 -0
  104. data/lib/pcapr_local/www/static/image/p-expand.gif +0 -0
  105. data/lib/pcapr_local/www/static/image/pcapr-logo.png +0 -0
  106. data/lib/pcapr_local/www/static/image/powered-by.png +0 -0
  107. data/lib/pcapr_local/www/static/image/section1-bg.png +0 -0
  108. data/lib/pcapr_local/www/static/image/section1-h3.png +0 -0
  109. data/lib/pcapr_local/www/static/image/section1-readmore.png +0 -0
  110. data/lib/pcapr_local/www/static/image/section2-bg.png +0 -0
  111. data/lib/pcapr_local/www/static/image/section2-h3.png +0 -0
  112. data/lib/pcapr_local/www/static/image/section2-readmore.png +0 -0
  113. data/lib/pcapr_local/www/static/image/status-alert.png +0 -0
  114. data/lib/pcapr_local/www/static/image/status-download.png +0 -0
  115. data/lib/pcapr_local/www/static/image/status-info.png +0 -0
  116. data/lib/pcapr_local/www/static/image/status-note.png +0 -0
  117. data/lib/pcapr_local/www/static/image/tab-round.png +0 -0
  118. data/lib/pcapr_local/www/static/image/throbber.gif +0 -0
  119. data/lib/pcapr_local/www/static/image/user.jpg +0 -0
  120. data/lib/pcapr_local/www/static/script/closet/async.js +421 -0
  121. data/lib/pcapr_local/www/static/script/closet/closet.api.js +241 -0
  122. data/lib/pcapr_local/www/static/script/closet/closet.folders.js +94 -0
  123. data/lib/pcapr_local/www/static/script/closet/closet.js +187 -0
  124. data/lib/pcapr_local/www/static/script/closet/closet.mr.js +219 -0
  125. data/lib/pcapr_local/www/static/script/closet/closet.options.js +359 -0
  126. data/lib/pcapr_local/www/static/script/closet/closet.quantity.js +73 -0
  127. data/lib/pcapr_local/www/static/script/closet/closet.render.js +205 -0
  128. data/lib/pcapr_local/www/static/script/closet/closet.report.js +86 -0
  129. data/lib/pcapr_local/www/static/script/closet/closet.reports.http.js +135 -0
  130. data/lib/pcapr_local/www/static/script/closet/closet.reports.overview.js +163 -0
  131. data/lib/pcapr_local/www/static/script/closet/closet.reports.sip.js +159 -0
  132. data/lib/pcapr_local/www/static/script/closet/closet.reports.tcp.js +72 -0
  133. data/lib/pcapr_local/www/static/script/closet/closet.reports.visualize.js +263 -0
  134. data/lib/pcapr_local/www/static/script/closet/closet.util.js +40 -0
  135. data/lib/pcapr_local/www/static/script/jquery/jquery-1.4.2.min.js +154 -0
  136. data/lib/pcapr_local/www/static/script/jquery/jquery-ui.js +10921 -0
  137. data/lib/pcapr_local/www/static/script/jquery/jquery.flot.js +2123 -0
  138. data/lib/pcapr_local/www/static/script/jquery/jquery.flot.selection.js +184 -0
  139. data/lib/pcapr_local/www/static/script/jquery/jquery.flot.stack.js +184 -0
  140. data/lib/pcapr_local/www/static/script/jquery/jquery.form.js +643 -0
  141. data/lib/pcapr_local/www/static/script/jquery/jquery.jsonp.min.js +3 -0
  142. data/lib/pcapr_local/www/static/script/jquery/jquery.menu.js +142 -0
  143. data/lib/pcapr_local/www/static/script/jquery/jquery.suggest.js +308 -0
  144. data/lib/pcapr_local/www/static/script/jquery/jquery.ui.core.js +203 -0
  145. data/lib/pcapr_local/www/static/script/jquery/jquery.ui.slider.js +629 -0
  146. data/lib/pcapr_local/www/static/script/jquery/jquery.ui.sortable.js +1055 -0
  147. data/lib/pcapr_local/www/static/script/jquery/jquery.ui.widget.js +236 -0
  148. data/lib/pcapr_local/www/static/script/json2.js +481 -0
  149. data/lib/pcapr_local/www/static/script/sammy/plugins/sammy.cache.js +115 -0
  150. data/lib/pcapr_local/www/static/script/sammy/plugins/sammy.template.js +117 -0
  151. data/lib/pcapr_local/www/static/script/sammy/sammy.js +1696 -0
  152. data/lib/pcapr_local/www/static/script/tipsy/jquery.tipsy.js +104 -0
  153. data/lib/pcapr_local/www/static/style/c3p0.css +116 -0
  154. data/lib/pcapr_local/www/static/style/jquery.suggest.css +27 -0
  155. data/lib/pcapr_local/www/static/style/page.css +1113 -0
  156. data/lib/pcapr_local/www/static/style/tipsy.css +7 -0
  157. data/lib/pcapr_local/www/templates/browse.services.template +10 -0
  158. data/lib/pcapr_local/www/templates/browse.template +77 -0
  159. data/lib/pcapr_local/www/templates/flows.template +38 -0
  160. data/lib/pcapr_local/www/templates/pcap.template +63 -0
  161. data/lib/pcapr_local/www/templates/sip.calls.template +35 -0
  162. data/lib/pcapr_local/www/templates/statistics.template +6 -0
  163. data/lib/pcapr_local/xtractr.rb +179 -0
  164. data/lib/pcapr_local/xtractr/instance.rb +172 -0
  165. data/pcapr-local.gemspec +297 -0
  166. data/test/mu/pcap/reader/tc_http_family.rb +251 -0
  167. data/test/mu/pcap/tc_ethernet.rb +71 -0
  168. data/test/mu/pcap/tc_header.rb +56 -0
  169. data/test/mu/pcap/tc_ipv4.rb +103 -0
  170. data/test/mu/pcap/tc_ipv6.rb +83 -0
  171. data/test/mu/pcap/tc_packet.rb +44 -0
  172. data/test/mu/pcap/tc_pair.rb +58 -0
  173. data/test/mu/pcap/tc_pkthdr.rb +33 -0
  174. data/test/mu/pcap/tc_reader.rb +76 -0
  175. data/test/mu/pcap/tc_tcp.rb +426 -0
  176. data/test/mu/pcap/tc_udp.rb +33 -0
  177. data/test/mu/pcap/tc_wrapper.rb +80 -0
  178. data/test/mu/scenario/pcap/tc_fields.rb +67 -0
  179. data/test/mu/scenario/pcap/tc_rtp.rb +135 -0
  180. data/test/mu/scenario/sip_signalled_call_1.pcap +0 -0
  181. data/test/mu/scenario/tc_pcap.rb +190 -0
  182. data/test/mu/scenario/test_data/arp.pcap +0 -0
  183. data/test/mu/scenario/test_data/dns.pcap +0 -0
  184. data/test/mu/scenario/test_data/http-v6.pcap +0 -0
  185. data/test/mu/scenario/test_data/http.pcap +0 -0
  186. data/test/mu/scenario/test_data/http_chunked.pcap +0 -0
  187. data/test/mu/scenario/test_data/http_deflate.pcap +0 -0
  188. data/test/mu/scenario/test_data/httpauth3.pcap +0 -0
  189. data/test/mu/scenario/test_data/icmp.pcap +0 -0
  190. data/test/mu/scenario/test_data/sip_signalled_call_1.pcap +0 -0
  191. data/test/mu/tc_pcap.rb +39 -0
  192. data/test/mu/testcase.rb +86 -0
  193. data/test/pcapr_local/arp.pcap +0 -0
  194. data/test/pcapr_local/data.js +3 -0
  195. data/test/pcapr_local/http_chunked.pcap +0 -0
  196. data/test/pcapr_local/tc_api.rb +181 -0
  197. data/test/pcapr_local/test.tgz +0 -0
  198. data/test/pcapr_local/test_scanner.rb +241 -0
  199. data/test/pcapr_local/test_xtractr.rb +219 -0
  200. data/test/pcapr_local/testcase.rb +107 -0
  201. data/test/test_export_to_scenario.sh +25 -0
  202. data/test/test_pcapr_local.rb +29 -0
  203. metadata +450 -0
@@ -0,0 +1,104 @@
1
+ (function($) {
2
+ $.fn.tipsy = function(options) {
3
+
4
+ options = $.extend({}, $.fn.tipsy.defaults, options);
5
+
6
+ return this.each(function() {
7
+
8
+ var opts = $.fn.tipsy.elementOptions(this, options);
9
+
10
+ $(this).hover(function() {
11
+
12
+ $.data(this, 'cancel.tipsy', true);
13
+
14
+ var tip = $.data(this, 'active.tipsy');
15
+ if (!tip) {
16
+ tip = $('<div class="tipsy"><div class="tipsy-inner"/></div>');
17
+ tip.css({position: 'absolute', zIndex: 100000});
18
+ $.data(this, 'active.tipsy', tip);
19
+ }
20
+
21
+ if ($(this).attr('title') || typeof($(this).attr('original-title')) != 'string') {
22
+ $(this).attr('original-title', $(this).attr('title') || '').removeAttr('title');
23
+ }
24
+
25
+ var title;
26
+ if (typeof opts.title == 'string') {
27
+ title = $(this).attr(opts.title == 'title' ? 'original-title' : opts.title);
28
+ } else if (typeof opts.title == 'function') {
29
+ title = opts.title.call(this);
30
+ }
31
+
32
+ tip.find('.tipsy-inner')[opts.html ? 'html' : 'text'](title || opts.fallback);
33
+
34
+ var pos = $.extend({}, $(this).offset(), {width: this.offsetWidth, height: this.offsetHeight});
35
+ tip.get(0).className = 'tipsy'; // reset classname in case of dynamic gravity
36
+ tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).appendTo(document.body);
37
+ var actualWidth = tip[0].offsetWidth, actualHeight = tip[0].offsetHeight;
38
+ var gravity = (typeof opts.gravity == 'function') ? opts.gravity.call(this) : opts.gravity;
39
+
40
+ switch (gravity.charAt(0)) {
41
+ case 'n':
42
+ tip.css({top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-north');
43
+ break;
44
+ case 's':
45
+ tip.css({top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}).addClass('tipsy-south');
46
+ break;
47
+ case 'e':
48
+ tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}).addClass('tipsy-east');
49
+ break;
50
+ case 'w':
51
+ tip.css({top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}).addClass('tipsy-west');
52
+ break;
53
+ }
54
+
55
+ if (opts.fade) {
56
+ tip.css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: 0.8});
57
+ } else {
58
+ tip.css({visibility: 'visible'});
59
+ }
60
+
61
+ }, function() {
62
+ $.data(this, 'cancel.tipsy', false);
63
+ var self = this;
64
+ setTimeout(function() {
65
+ if ($.data(this, 'cancel.tipsy')) return;
66
+ var tip = $.data(self, 'active.tipsy');
67
+ if (opts.fade) {
68
+ tip.stop().fadeOut(function() { $(this).remove(); });
69
+ } else {
70
+ tip.remove();
71
+ }
72
+ }, 100);
73
+
74
+ });
75
+
76
+ });
77
+
78
+ };
79
+
80
+ // Overwrite this method to provide options on a per-element basis.
81
+ // For example, you could store the gravity in a 'tipsy-gravity' attribute:
82
+ // return $.extend({}, options, {gravity: $(ele).attr('tipsy-gravity') || 'n' });
83
+ // (remember - do not modify 'options' in place!)
84
+ $.fn.tipsy.elementOptions = function(ele, options) {
85
+ return $.metadata ? $.extend({}, options, $(ele).metadata()) : options;
86
+ };
87
+
88
+ $.fn.tipsy.defaults = {
89
+ fade: false,
90
+ fallback: '',
91
+ gravity: 'n',
92
+ html: false,
93
+ title: 'title'
94
+ };
95
+
96
+ $.fn.tipsy.autoNS = function() {
97
+ return $(this).offset().top > ($(document).scrollTop() + $(window).height() / 2) ? 's' : 'n';
98
+ };
99
+
100
+ $.fn.tipsy.autoWE = function() {
101
+ return $(this).offset().left > ($(document).scrollLeft() + $(window).width() / 2) ? 'e' : 'w';
102
+ };
103
+
104
+ })(jQuery);
@@ -0,0 +1,116 @@
1
+ ul.tab a {
2
+ outline: none;
3
+ }
4
+
5
+ #flows-table thead, #packets-table thead {
6
+ font-weight: bold;
7
+ }
8
+
9
+ .top thead {
10
+ font-weight: bold;
11
+ }
12
+
13
+ .top tbody td {
14
+ border-left: 1px solid #a0a0a0;
15
+ padding-left: 10px;
16
+ }
17
+
18
+ #flows-table tr.flow:hover, #packets-table tr.pkt:hover {
19
+ background: #dddddd;
20
+ }
21
+
22
+ #flows-table, #packets-table {
23
+ white-space: nowrap;
24
+ }
25
+
26
+ table#packets-table div#fields {
27
+ overflow-x:hidden;
28
+ width:100%;
29
+ white-space: nowrap;
30
+ }
31
+
32
+ a.toggle {
33
+ outline: none;
34
+ text-decoration: none;
35
+ }
36
+
37
+ span.query a.popup {
38
+ color: #de541e;
39
+ text-decoration: none;
40
+ outline: none;
41
+ }
42
+
43
+ span.term {
44
+ color: #a0a0a0;
45
+ }
46
+
47
+ a.term,a.field {
48
+ color: #333333;
49
+ text-decoration: none;
50
+ outline: none;
51
+ }
52
+
53
+ div#hostsTab div#info a.term {
54
+ color: #105892;
55
+ font-weight: bold;
56
+ }
57
+
58
+ a.term:hover {
59
+ background: yellow;
60
+ }
61
+
62
+ .actions {
63
+ border-left: 1px solid #a0a0a0;
64
+ padding-left: 10px;
65
+ }
66
+
67
+ div#slider {
68
+ width: 90%;
69
+ height: 6px;
70
+ position: relative;
71
+ background: #bbbbbb;
72
+ margin-left: 40px;
73
+ }
74
+
75
+ .ui-slider-handle {
76
+ width: 16px;
77
+ height: 12px;
78
+ position: absolute;
79
+ top: -3px;
80
+ background: #FF8A47;
81
+ border: 1px solid #808080;
82
+ -moz-border-radius: 4px;
83
+ outline: none;
84
+ }
85
+
86
+ .cloud a {
87
+ line-height: 1em;
88
+ }
89
+
90
+ ul#menu {
91
+ border: 1px solid #999999;
92
+ background: #ffffff;
93
+ display: block;
94
+ position: absolute;
95
+ margin: 0;
96
+ padding: 0;
97
+ }
98
+
99
+ ul#menu li {
100
+ border: 1px solid #999999;
101
+ list-style-image: none;
102
+ list-style-type: none;
103
+ list-style-position: outside;
104
+ padding: 1px;
105
+ }
106
+
107
+ ul#menu li:hover {
108
+ background: #ff8a47;
109
+ }
110
+
111
+ ul#menu a {
112
+ padding-left: 5px;
113
+ padding-right: 5px;
114
+ outline: none;
115
+ text-decoration: none;
116
+ }
@@ -0,0 +1,27 @@
1
+ .ac_results {
2
+ border: 1px solid gray;
3
+ background-color: #ffffe0;
4
+ padding: 0;
5
+ margin: 0;
6
+ list-style: none;
7
+ position: absolute;
8
+ z-index: 10000;
9
+ display: none;
10
+ }
11
+
12
+ .ac_results li {
13
+ padding: 2px 5px;
14
+ white-space: nowrap;
15
+ color: #101010;
16
+ text-align: left;
17
+ }
18
+
19
+ .ac_over {
20
+ cursor: pointer;
21
+ background-color: #F0F0B8;
22
+ }
23
+
24
+ .ac_match {
25
+ text-decoration: underline;
26
+ color: black;
27
+ }
@@ -0,0 +1,1113 @@
1
+ /*
2
+ * Copyright (C) 2009 Mu Dynamics, Inc
3
+ * All rights reserved.
4
+ * http://www.opensource.org/licenses/bsd-license.php
5
+ *
6
+ * http://www.mudynamics.com
7
+ * http://labs.mudynamics.com
8
+ * http://www.pcapr.net
9
+ */
10
+ html {
11
+ height: 100%;
12
+ margin-bottom: 1px;
13
+ }
14
+
15
+ body {
16
+ margin: 0pt;
17
+ padding: 0pt;
18
+ } #container {
19
+ text-align: left;
20
+ margin: 0 auto;
21
+ max-width: 1000px;
22
+ min-width: 700px;
23
+ position: relative;
24
+ }
25
+
26
+ p {
27
+ margin-top: 10px;
28
+ margin-bottom: 15px;
29
+ }
30
+
31
+ h1, h2, h3, h4 {
32
+ margin: 15px 0pt;
33
+ padding-bottom: 5px;
34
+ }
35
+
36
+ body {
37
+ font-size: 13px;
38
+ }
39
+
40
+ body.f-smaller {
41
+ font-size: 10px;
42
+ }
43
+
44
+ body.f-default {
45
+ font-size: 12px;
46
+ }
47
+
48
+ body.f-larger {
49
+ font-size: 15px;
50
+ }
51
+
52
+ h1 {
53
+ font-size: 200%;
54
+ }
55
+
56
+ h2 {
57
+ font-size: 180%;
58
+ }
59
+
60
+ h3 {
61
+ font-size: 150%;
62
+ }
63
+
64
+ h4 {
65
+ font-size: 120%;
66
+ } .left {
67
+ float: left !important
68
+ } .small, .modifydate, .createdate, div.mosimage_caption {
69
+ font-size: 95%;
70
+ }
71
+
72
+ div.moduletable h3, .componentheading {
73
+ font-size: 145%;
74
+ }
75
+
76
+ table.sections .contentheading {
77
+ font-size: 145%;
78
+ } .contentheading {
79
+ font-size: 160%;
80
+ } .componentheading {
81
+ margin-bottom: 15px;
82
+ }
83
+
84
+ td.componentheading {
85
+ padding-bottom: 15px;
86
+ }
87
+
88
+ body {
89
+ line-height: 135%;
90
+ font-family: Arial, Helvetica, sans-serif;
91
+ } .contentheading, .componentheading {
92
+ font-weight: bold;
93
+ }
94
+
95
+ img#logo {
96
+ margin: 2px 5px 0px 5px;
97
+ width: 63px;
98
+ height: 21px;
99
+ background: transparent url('../image/pcapr-logo.png') no-repeat scroll 0pt 0pt;
100
+ }
101
+
102
+ div#banner {
103
+ overflow: hidden;
104
+ margin-left: 270px;
105
+ height: 50px;
106
+ }
107
+
108
+ div#banner h2 {
109
+ line-height: 30px
110
+ }
111
+
112
+ div#horiz-menu {
113
+ height: 46px;
114
+ }
115
+
116
+ .sidenav a {
117
+ font-weight: bold;
118
+ }
119
+
120
+ div#pagetop {
121
+ padding: 5px 8px
122
+ }
123
+
124
+ div#pagetop ul {
125
+ margin: 0pt;
126
+ padding: 0pt;
127
+ float: right;
128
+ }
129
+
130
+ div#pagetop li {
131
+ float: left;
132
+ list-style-type: none;
133
+ list-style-image: none;
134
+ list-style-position: outside;
135
+ margin-right: 10px;
136
+ }
137
+
138
+ div#pagetop li img {
139
+ float: left;
140
+ vertical-align: middle;
141
+ }
142
+
143
+ div#pagetop a.mainlevel {
144
+ margin: 0pt;
145
+ padding: 0pt 5px;
146
+ background: transparent none repeat scroll 0% 0%;
147
+ display: block;
148
+ float: left;
149
+ font-weight: bold;
150
+ }
151
+
152
+ div#pagetop a.mainlevel {
153
+ color: rgb(51, 51, 51);
154
+ }
155
+
156
+ span.alert, span.info, span.download, span.note {
157
+ margin: 15px 0pt;
158
+ padding: 10px 10px 10px 50px;
159
+ display: block;
160
+ } #section1 li, #section2 li, #mainbody li {
161
+ margin-left: 0pt;
162
+ list-style-type: none;
163
+ list-style-image: none;
164
+ list-style-position: outside;
165
+ } #mainbody ul.check1, #mainbody ul.check2, #mainbody ul.arrow1, #mainbody ul.arrow2, #mainbody ul.arrow3, #mainbody ul.star, #mainbody ul.circle, #mainbody ul.morespace {
166
+ padding: 0pt;
167
+ margin-left: 35px;
168
+ }
169
+
170
+ ul.check1 li, ul.check2 li, ul.arrow1 li, ul.arrow2 li, ul.arrow3 li, ul.star li, ul.circle li, li.check1, li.check2, li.arrow1, li.arrow2, li.arrow3, li.star, li.circle {
171
+ list-style-type: none;
172
+ list-style-image: none;
173
+ list-style-position: outside;
174
+ padding-bottom: 15px;
175
+ padding-left: 40px;
176
+ }
177
+
178
+ blockquote {
179
+ margin: 15px 0pt;
180
+ padding: 10px 10px 10px 80px;
181
+ width: auto;
182
+ } #fxPadding div.moduletable h3 {
183
+ margin: 0pt;
184
+ padding: 0pt;
185
+ float: left;
186
+ line-height: 40px;
187
+ height: 40px;
188
+ } #fxPadding form {
189
+ float: left;
190
+ padding-left: 30px;
191
+ height: 22px;
192
+ margin-top: 8px;
193
+ } #fxPadding div.loginelement {
194
+ float: left;
195
+ margin-left: 30px;
196
+ height: 22px;
197
+ line-height: 22px;
198
+ } #fxPadding div.loginelement input {
199
+ width: 100px;
200
+ padding-left: 5px;
201
+ }
202
+
203
+ span.loginsubmit, span.logoutsubmit {
204
+ display: block;
205
+ padding-left: 8px;
206
+ margin-left: 10px;
207
+ line-height: 25px;
208
+ width: 96px;
209
+ float: left;
210
+ cursor: pointer;
211
+ }
212
+
213
+ table.contentpaneopen tbody tr td span.small, td.createdate {
214
+ padding-left: 20px;
215
+ } .screenshot {
216
+ float: right;
217
+ margin-top: -35px;
218
+ z-index: 9;
219
+ } .hide {
220
+ display: none;
221
+ }
222
+
223
+ form {
224
+ border: 0pt none;
225
+ margin: 0pt;
226
+ padding: 0pt;
227
+ }
228
+
229
+ table.blog span.article_seperator {
230
+ display: block;
231
+ height: 20px;
232
+ }
233
+
234
+ div.moduletable, div.moduletable-hilite1, div.moduletable-hilite2, div.moduletable-hilite3, div.moduletable-hilite4, div.moduletable-hilite5, div.moduletable-hilite6, div.moduletable-hilite7, div.moduletable-hilite8 {
235
+ padding: 0pt 15px 10px;
236
+ }
237
+
238
+ div.moduletable h3, div.moduletable-hilite1 h3, div.moduletable-hilite2 h3, div.moduletable-hilite3 h3, div.moduletable-hilite4 h3, div.moduletable-hilite5 h3, div.moduletable-hilite6 h3, div.moduletable-hilite7 h3, div.moduletable-hilite8 h3 {
239
+ margin: 0pt -15px 15px;
240
+ padding: 10px 15px;
241
+ line-height: 100%;
242
+ }
243
+
244
+ td.left div.moduletable, td.right div.moduletable {
245
+ margin-bottom: 25px;
246
+ } .contentheading {
247
+ padding: 10px 0pt;
248
+ line-height: 100%;
249
+ } .clr {
250
+ clear: both;
251
+ }
252
+
253
+ span.content_rating img {
254
+ vertical-align: top;
255
+ } .modifydate {
256
+ height: 20px;
257
+ vertical-align: bottom;
258
+ } .createdate {
259
+ height: 20px;
260
+ vertical-align: top;
261
+ padding-bottom: 5px;
262
+ padding-top: 0px;
263
+ } .nounder {
264
+ border: 0pt none;
265
+ text-decoration: none;
266
+ } .style-wrapper {
267
+ padding-left: 70px;
268
+ padding-top: 30px;
269
+ } .style {
270
+ float: left;
271
+ margin-right: 50px;
272
+ margin-bottom: 50px;
273
+ }
274
+
275
+ body {
276
+ background: rgb(244, 244, 244) url('../image/bg.png') repeat-x scroll 0pt 0pt;
277
+ color: rgb(51, 51, 51);
278
+ }
279
+
280
+ a {
281
+ cursor: pointer;
282
+ color: rgb(39, 123, 192);
283
+ }
284
+
285
+ a:hover {
286
+ color: black;
287
+ }
288
+
289
+ h1 {
290
+ color: rgb(39, 123, 192);
291
+ }
292
+
293
+ h2 {
294
+ color: rgb(39, 123, 192);
295
+ }
296
+
297
+ h3 {
298
+ color: rgb(16, 88, 146);
299
+ }
300
+
301
+ h4 {
302
+ color: rgb(102, 102, 102);
303
+ } .contentheading {
304
+ color: rgb(39, 123, 192);
305
+ } .componentheading {
306
+ color: rgb(39, 123, 192);
307
+ }
308
+
309
+ div#mainbody {
310
+ margin: 16px;
311
+ }
312
+
313
+ div#mainbody td.mainbody, div#mainbody td.left, div#mainbody td.right {
314
+ background: transparent url('../image/body-bg.png') repeat-y scroll 0pt 0pt;
315
+ }
316
+
317
+ div#mainbody a.readon {
318
+ background: transparent url('../image/body-readmore.png') no-repeat scroll 0pt 0pt;
319
+ color: rgb(255, 255, 255);
320
+ }
321
+
322
+ div#mainbody td.section {
323
+ background: transparent url('../image/body-bg.png') repeat-y scroll 0pt 0pt;
324
+ }
325
+
326
+ div#mainbody div.moduletable h3 {
327
+ background: rgb(237, 237, 237) url('../image/body-h3.png') repeat-y scroll 0pt 0pt;
328
+ color: rgb(39, 123, 192);
329
+ } #mainbody div.moduletable-hilite1 a {
330
+ color: rgb(39, 123, 192);
331
+ } #mainbody div.moduletable-hilite1 {
332
+ background: rgb(230, 230, 230) url('../image/body-hl1-bg.png') repeat-y scroll 0pt 0pt;
333
+ } #mainbody div.moduletable-hilite1 h3 {
334
+ background: rgb(214, 214, 214) url('../image/body-hl1-h3.png') repeat-y scroll 0pt 0pt;
335
+ color: rgb(75, 75, 75);
336
+ } #mainbody div.moduletable-hilite1 li {
337
+ background: transparent url('../image/bullet-hl1.png') no-repeat scroll 0pt 3px;
338
+ } #mainbody div.moduletable-hilite1 a.readon {
339
+ background: transparent url('../image/body-hl1-readmore.png') no-repeat scroll 0pt 0pt;
340
+ color: rgb(255, 255, 255);
341
+ } #mainbody div.moduletable-hilite2 a {
342
+ color: rgb(68, 68, 68);
343
+ } #mainbody div.moduletable-hilite2 {
344
+ background: rgb(146, 146, 146) url('../image/body-hl2-bg.png') repeat-y scroll 0pt 0pt;
345
+ color: rgb(255, 255, 255);
346
+ } #mainbody div.moduletable-hilite2 h3 {
347
+ background: rgb(128, 128, 128) url('../image/body-hl2-h3.png') repeat-y scroll 0pt 0pt;
348
+ color: rgb(255, 255, 255);
349
+ } #mainbody div.moduletable-hilite2 li {
350
+ background: transparent url('../image/bullet-hl2.png') no-repeat scroll 0pt 3px;
351
+ } #mainbody div.moduletable-hilite2 a.readon {
352
+ background: transparent url('../image/body-hl2-readmore.png') no-repeat scroll 0pt 0pt;
353
+ color: rgb(255, 255, 255);
354
+ } #mainbody div.moduletable-hilite3 a {
355
+ color: rgb(210, 166, 29);
356
+ } #mainbody div.moduletable-hilite3 {
357
+ background: rgb(251, 248, 222) url('../image/body-hl3-bg.png') repeat-y scroll 0pt 0pt;
358
+ color: rgb(51, 51, 51);
359
+ } #mainbody div.moduletable-hilite3 h3 {
360
+ background: rgb(246, 239, 194) url('../image/body-hl3-h3.png') repeat-y scroll 0pt 0pt;
361
+ color: rgb(210, 166, 29);
362
+ } #mainbody div.moduletable-hilite3 li {
363
+ background: transparent url('../image/bullet-hl3.png') no-repeat scroll 0pt 3px;
364
+ } #mainbody div.moduletable-hilite3 a.readon {
365
+ background: transparent url('../image/body-hl3-readmore.png') no-repeat scroll 0pt 0pt;
366
+ color: rgb(255, 255, 255);
367
+ } #mainbody div.moduletable-hilite4 a {
368
+ color: rgb(33, 88, 133);
369
+ } #mainbody div.moduletable-hilite4 {
370
+ background: rgb(224, 235, 248) url('../image/body-hl4-bg.png') repeat-y scroll 0pt 0pt;
371
+ color: rgb(51, 51, 51);
372
+ } #mainbody div.moduletable-hilite4 h3 {
373
+ background: rgb(198, 218, 241) url('../image/body-hl4-h3.png') repeat-y scroll 0pt 0pt;
374
+ color: rgb(30, 65, 96);
375
+ } #mainbody div.moduletable-hilite4 li {
376
+ background: transparent url('../image/bullet-hl4.png') no-repeat scroll 0pt 3px;
377
+ } #mainbody div.moduletable-hilite4 a.readon {
378
+ background: transparent url('../image/body-hl4-readmore.png') no-repeat scroll 0pt 0pt;
379
+ color: rgb(255, 255, 255);
380
+ } #mainbody div.moduletable-hilite5 h3 {
381
+ background: rgb(88, 88, 88) url('../image/body-hl5-h3.png') repeat-y scroll 0pt 0pt;
382
+ color: rgb(230, 230, 230);
383
+ } #mainbody div.moduletable-hilite6 h3 {
384
+ background: rgb(36, 107, 162) url('../image/body-hl6-h3.png') repeat-y scroll 0pt 0pt;
385
+ color: rgb(222, 233, 241);
386
+ } #mainbody div.moduletable-hilite7 h3 {
387
+ background: rgb(132, 132, 132) url('../image/body-hl7-h3.png') repeat-y scroll 0pt 0pt;
388
+ color: rgb(255, 255, 255);
389
+ } #mainbody div.moduletable-hilite8 h3 {
390
+ background: rgb(39, 123, 192) url('../image/body-hl8-h3.png') repeat-y scroll 0pt 0pt;
391
+ color: rgb(233, 240, 245);
392
+ }
393
+
394
+ div#section1 {
395
+ background: rgb(39, 123, 192) none repeat scroll 0% 0%;
396
+ padding-top: 1px;
397
+ color: rgb(233, 240, 245);
398
+ }
399
+
400
+ div#section1 a {
401
+ color: rgb(159, 218, 237);
402
+ }
403
+
404
+ div#section1 a.readon {
405
+ background: transparent url('../image/section1-readmore.png') no-repeat scroll 0pt 0pt;
406
+ color: rgb(255, 255, 255);
407
+ }
408
+
409
+ div#section1 td.section {
410
+ background: transparent url('../image/section1-bg.png') repeat-y scroll 0pt 0pt;
411
+ }
412
+
413
+ div#section1 div.moduletable h3 {
414
+ background: rgb(35, 104, 156) url('../image/section1-h3.png') repeat-y scroll 0pt 0pt;
415
+ color: rgb(233, 240, 245);
416
+ } #section1 li {
417
+ background: transparent url('../image/bullet-section1.png') no-repeat scroll 0pt 3px;
418
+ }
419
+
420
+ div#section2 {
421
+ background: rgb(39, 123, 192) none repeat scroll 0% 0%;
422
+ padding-top: 1px;
423
+ color: rgb(233, 240, 245);
424
+ }
425
+
426
+ div#section2 a {
427
+ color: rgb(159, 218, 237);
428
+ }
429
+
430
+ div#section2 a.readon {
431
+ background: transparent url('../image/section2-readmore.png') no-repeat scroll 0pt 0pt;
432
+ color: rgb(255, 255, 255);
433
+ }
434
+
435
+ div#section2 td.section {
436
+ background: transparent url('../image/section2-bg.png') repeat-y scroll 0pt 0pt;
437
+ }
438
+
439
+ div#section2 div.moduletable h3 {
440
+ background: rgb(35, 104, 156) url('../image/section2-h3.png') repeat-y scroll 0pt 0pt;
441
+ color: rgb(233, 240, 245);
442
+ } #section2 li {
443
+ background: transparent url('../image/bullet-section2.png') no-repeat scroll 0pt 3px;
444
+ }
445
+
446
+ div#footer {
447
+ background: transparent url('../image/bottom-bg.png') repeat-x scroll 0pt 0pt;
448
+ }
449
+
450
+ div#footer .rk-1 {
451
+ background: transparent url('../image/bottom-r.png') no-repeat scroll 100% 0pt;
452
+ }
453
+
454
+ div#footer .rk-2 {
455
+ background: transparent url('../image/bottom-l.png') no-repeat scroll 0pt 0pt;
456
+ }
457
+
458
+ div#the-footer {
459
+ background: transparent url('../image/bottom-rocket.png') no-repeat scroll 50% 0pt;
460
+ }
461
+
462
+ a.mainlevel {
463
+ background: transparent url('../image/bullet-7.png') no-repeat scroll 0pt 2px;
464
+ }
465
+
466
+ span.alert {
467
+ border-top: 3px solid rgb(254, 123, 122);
468
+ border-bottom: 3px solid rgb(254, 123, 122);
469
+ background: rgb(255, 204, 204) url('../image/status-alert.png') no-repeat scroll 10px 50%;
470
+ color: rgb(204, 0, 0);
471
+ }
472
+
473
+ span.info {
474
+ border-top: 3px solid rgb(98, 157, 227);
475
+ border-bottom: 3px solid rgb(98, 157, 227);
476
+ background: rgb(205, 223, 246) url('../image/status-info.png') no-repeat scroll 10px 50%;
477
+ color: rgb(0, 85, 187);
478
+ }
479
+
480
+ span.note {
481
+ border-top: 3px solid rgb(253, 225, 121);
482
+ border-bottom: 3px solid rgb(253, 225, 121);
483
+ background: rgb(255, 245, 204) url('../image/status-note.png') no-repeat scroll 10px 50%;
484
+ color: rgb(183, 144, 0);
485
+ }
486
+
487
+ span.download {
488
+ border-top: 3px solid rgb(194, 223, 136);
489
+ border-bottom: 3px solid rgb(194, 223, 136);
490
+ background: rgb(232, 244, 210) url('../image/status-download.png') no-repeat scroll 10px 50%;
491
+ color: rgb(87, 134, 26);
492
+ }
493
+
494
+ blockquote {
495
+ background: rgb(249, 249, 249) url('../image/blockquote.png') no-repeat scroll 0pt 0pt;
496
+ color: rgb(102, 102, 102);
497
+ font-style: italic;
498
+ font-size: 120%;
499
+ line-height: 150%;
500
+ }
501
+
502
+ pre {
503
+ background: rgb(246, 246, 246) none repeat scroll 0% 0%;
504
+ } #mainbody ul.check1 li, #mainbody li.check1 {
505
+ background: transparent url('../image/bullet-1.png') no-repeat scroll 0pt 0pt;
506
+ } #mainbody ul.check2 li, #mainbody li.check2 {
507
+ background: transparent url('../image/bullet-3.png') no-repeat scroll 0pt 0pt;
508
+ } #mainbody ul.arrow1 li, #mainbody li.arrow1 {
509
+ background: transparent url('../image/bullet-2.png') no-repeat scroll 0pt 0pt;
510
+ } #mainbody ul.arrow2 li, #mainbody li.arrow2 {
511
+ background: transparent url('../image/bullet-4.png') no-repeat scroll 0pt 0pt;
512
+ } #mainbody ul.arrow3 li, #mainbody li.arrow3 {
513
+ background: transparent url('../image/bullet-5.png') no-repeat scroll 0pt 0pt;
514
+ } #mainbody ul.star li, #mainbody li.star {
515
+ background: transparent url('../image/bullet-6.png') no-repeat scroll 0pt 0pt;
516
+ } #mainbody ul.circle li, #mainbody li.circle {
517
+ background: transparent url('../image/bullet-7.png') no-repeat scroll 0pt 0pt;
518
+ }
519
+
520
+ span.loginsubmit, span.logoutsubmit {
521
+ background: transparent url('../image/login_button.png') no-repeat scroll 0% 0%;
522
+ color: rgb(255, 255, 255);
523
+ }
524
+
525
+ span.pathway {
526
+ color: rgb(51, 51, 51);
527
+ }
528
+
529
+ span.pathway img {
530
+ background: transparent url('../image/bullet-pathway.png') no-repeat scroll 0% 0%;
531
+ }
532
+
533
+ span.pathway a {
534
+ color: rgb(39, 123, 192);
535
+ } .highlight {
536
+ background-color: rgb(255, 255, 204);
537
+ }
538
+
539
+ table.mainbody td.mainbody td.sectiontableheader {
540
+ border-bottom: 1px solid rgb(221, 221, 221);
541
+ background: rgb(246, 246, 246) none repeat scroll 0% 0%;
542
+ }
543
+
544
+ tr.sectiontableentry1 td, tr.sectiontableentry2 td, td.sectiontableentry1, td.sectiontableentry2 {
545
+ border-top: 1px none rgb(255, 255, 255);
546
+ border-bottom: 1px solid rgb(239, 239, 239);
547
+ }
548
+
549
+ tr.sectiontableentry2 td, td.sectiontableentry1 {
550
+ background: rgb(252, 252, 252) none repeat scroll 0% 0%;
551
+ }
552
+
553
+ table.contentpaneopen tbody tr td span.small {
554
+ background: transparent url('../image/icon-author.png') no-repeat scroll 0pt 0pt;
555
+ }
556
+
557
+ td.createdate {
558
+ background: transparent url('../image/icon-created.png') no-repeat scroll 0pt 0pt;
559
+ } .nav, .nav * {
560
+ margin: 0pt;
561
+ padding: 0pt;
562
+ } .content {
563
+ background-color: #FAFAFA;
564
+ border: 1px solid #CCC !important;
565
+ -moz-border-radius-topleft: 8px;
566
+ -moz-border-radius-topright: 8px;
567
+ -moz-border-radius-bottomleft: 8px;
568
+ -moz-border-radius-bottomright: 8px;
569
+ padding: 10px 10px 0px 10px;
570
+ }
571
+
572
+ /* home page */
573
+ div#hp-sidebar {
574
+ position: absolute;
575
+ padding: 0px;
576
+ top: 0px;
577
+ margin-top: 20px;
578
+ }
579
+
580
+ div#b-content h3, div#b-content h4, div#hp-sidebar h3, div#hp-sidebar h4 {
581
+ margin: 0px;
582
+ }
583
+
584
+ div#hp-sidebar h3, div#hp-sidebar h4 {
585
+ font-size: 110%;
586
+ }
587
+
588
+ div#b-content {
589
+ left: 0%;
590
+ right: 0%;
591
+ }
592
+
593
+ div#b-content > div {
594
+ border: 1px solid #FAFAFA;
595
+ background-color: #F7F7F7;
596
+ -moz-border-radius-topleft: 8px;
597
+ -moz-border-radius-topright: 8px;
598
+ -moz-border-radius-bottomleft: 8px;
599
+ -moz-border-radius-bottomright: 8px;
600
+ padding: 14px 16px;
601
+ margin-bottom: 16px;
602
+ }
603
+
604
+ div#hp-content #poweredby {
605
+ background: transparent url('../image/powered-by.png') no-repeat scroll 50% 50%;
606
+ text-indent: -9999px;
607
+ width: 180px;
608
+ height: 48px;
609
+ outline: none;
610
+ display: block;
611
+ margin: 0px auto;
612
+ }
613
+
614
+ div#headerbox .intro .logo-text {
615
+ font-weight: bold
616
+ }
617
+
618
+ div#headerbox .message {
619
+ font-size: 90%;
620
+ color: #444;
621
+ padding: 10px 0px;
622
+ }
623
+
624
+ div#navbox ul, div#navbox ul {
625
+ padding: 0px;
626
+ margin: 0px;
627
+ }
628
+
629
+ div#navbox div#n-browse {
630
+ margin-top: 20px;
631
+ }
632
+
633
+ div#hintbox p {
634
+ color: #444;
635
+ margin: 0px;
636
+ font-size: 90%;
637
+ }
638
+
639
+ div#credits {
640
+ color: #444;
641
+ margin: 0px;
642
+ font-size: 80%;
643
+ }
644
+
645
+ input.search {
646
+ padding: 0;
647
+ font-size: 12px;
648
+ line-height: 12px;
649
+ height: 16px;
650
+ vertical-align: middle;
651
+ }
652
+
653
+ button.search {
654
+ background: url(../image/btn-search.png) 0 0 no-repeat;
655
+ width: 60px;
656
+ height: 23px;
657
+ margin-left: 2px;
658
+ vertical-align: top;
659
+ border: none;
660
+ cursor: pointer;
661
+ text-indent: -99999pt;
662
+ }
663
+
664
+ /* Search / results */
665
+ div#b-content div#searchbox, div#b-content div#tagcloud {
666
+ border: 2px solid #DDD;
667
+ }
668
+
669
+ div#searchresults {
670
+ padding-top: 10px;
671
+ background-color: #FFF;
672
+ border: 1px solid #DDD;
673
+ border-width: 0px 1px;
674
+ }
675
+
676
+ div#s-query-box {
677
+ border: 1px solid #CCC;
678
+ -moz-border-radius-topleft: 8px;
679
+ -moz-border-radius-topright: 8px;
680
+ -moz-border-radius-bottomright: 0px;
681
+ -moz-border-radius-bottomleft: 0px;
682
+ padding: 12px 16px;
683
+ background-color: #E5EDFB;
684
+ }
685
+
686
+ div#s-hints-toggle {
687
+ font-size: 90%;
688
+ display: block;
689
+ float: right;
690
+ }
691
+
692
+ ul#s-hints {
693
+ margin: 4px 0px;
694
+ padding: 0px;
695
+ font-size: 90%;
696
+ }
697
+
698
+ ul#s-hints li {
699
+ margin: 0px;
700
+ padding: 0px;
701
+ color: #444;
702
+ }
703
+
704
+ div.s-result {
705
+ clear: both;
706
+ background-color: #FFF;
707
+ } .p-menu {
708
+ padding: 0pt 0pt 10px 10px;
709
+ margin-top: -7px;
710
+ color: rgb(153, 153, 153);
711
+ clear: left;
712
+ } .p-menu a, .p-menu span {
713
+ border-right: 1px solid rgb(221, 221, 221);
714
+ margin: 0pt 7px 0pt 0pt;
715
+ font-size: 85%;
716
+ font-weight: bold;
717
+ padding-right: 7px;
718
+ -moz-user-select: none;
719
+ } .p-menu-side {
720
+ float: right;
721
+ } .p-menu-side a {
722
+ border-right: medium none;
723
+ } .p-menu form {
724
+ display: inline;
725
+ } .p-message, .p-permalink-message {
726
+ padding: 5px 10px;
727
+ background: rgb(16, 92, 190) none repeat scroll 0% 0%;
728
+ margin-bottom: 3px;
729
+ color: rgb(164, 190, 223);
730
+ font-size: 85%;
731
+ -moz-border-radius-topleft: 4px;
732
+ -moz-border-radius-topright: 4px;
733
+ -moz-border-radius-bottomright: 4px;
734
+ -moz-border-radius-bottomleft: 4px;
735
+ } .p-message a, .p-permalink-message a {
736
+ font-weight: bold;
737
+ color: rgb(255, 255, 255);
738
+ } .p-message a:hover, .p-permalink-message a:hover {
739
+ color: rgb(164, 190, 223) ! important;
740
+ } .s-result ul, .s-result li {
741
+ margin: 0pt;
742
+ padding: 0pt;
743
+ list-style-type: none;
744
+ list-style-image: none;
745
+ list-style-position: outside;
746
+ min-height: 23px;
747
+ } #p-main li {
748
+ border-bottom: 1px solid #E0E0E0;
749
+ padding: 8px 0pt 12px 24px;
750
+ overflow: hidden;
751
+ position: relative;
752
+ min-height: 50px;
753
+ }#p-main li.l0:hover {
754
+ background-color: #F4F4F4;
755
+ } .s-result li.p-foot {
756
+ padding-left: 0pt;
757
+ padding-bottom: 10px;
758
+ } .s-result li.p-foot a strong {
759
+ font-weight: bold;
760
+ } .s-result li ul {
761
+ background: rgb(255, 255, 255) none repeat scroll 0% 0%;
762
+ display: none;
763
+ margin-left: -150px;
764
+ margin-bottom: -10px;
765
+ padding-left: 50px;
766
+ margin-top: 5px;
767
+ } .s-result a, .p-menu a {
768
+ text-decoration: none;
769
+ } .s-result a:hover {
770
+ color: rgb(0, 0, 0);
771
+ text-decoration: underline;
772
+ } .p-head {
773
+ overflow: hidden;
774
+ position: absolute;
775
+ right: 10px;
776
+ top: 10px;
777
+ font-size: 85%;
778
+ border: 1px solid #CCC;
779
+ text-align: center;
780
+ padding: 2px;
781
+ min-width: 90px;
782
+ background-color: #F0F0F0;
783
+ -moz-border-radius-topleft: 4px;
784
+ -moz-border-radius-topright: 4px;
785
+ -moz-border-radius-bottomleft: 4px;
786
+ -moz-border-radius-bottomright: 4px;
787
+ } .p-head .p-icon {
788
+ background: url('../image/16x16/Download.png') 50% 50% no-repeat;
789
+ height: 24px;
790
+ width: 100%;
791
+ display: block;
792
+ } * html .p-head {
793
+ overflow: visible;
794
+ } .p-head a {
795
+ color: rgb(119, 119, 119);
796
+ line-height: 1.2em;
797
+ } .p-head strong a {
798
+ color: rgb(51, 51, 51);
799
+ } .p-head img {
800
+ border: none;
801
+ } .p-disabled .p-head {
802
+ top: 2px;
803
+ padding-top: 5px;
804
+ min-height: 20px;
805
+ opacity: 0.5;
806
+ } .p-disabled div, .p-disabled-open {
807
+ font-size: 85%;
808
+ color: rgb(153, 153, 153);
809
+ padding-top: 2px;
810
+ } .p-disabled-open {
811
+ padding-top: 0pt;
812
+ margin-top: -2px;
813
+ }
814
+
815
+ a.p-show, a.p-report {
816
+ text-decoration: underline;
817
+ color: rgb(153, 153, 153);
818
+ margin-right: 1.5em;
819
+ }
820
+
821
+ a.p-show {
822
+ color: rgb(119, 119, 119);
823
+ }
824
+
825
+ li .p-block {
826
+ color: rgb(153, 0, 0);
827
+ font-size: 90%;
828
+ font-weight: bold;
829
+ } .p-packets {
830
+ padding: 0pt 10px 4px 15px;
831
+ float: right;
832
+ font-size: 85%;
833
+ min-width: 90px;
834
+ text-align: right;
835
+ } .p-packets a em, .p-packets em {
836
+ color: rgb(51, 51, 51);
837
+ font-weight: bold;
838
+ font-style: normal;
839
+ } .p-packets a {
840
+ color: rgb(51, 51, 51);
841
+ } .p-packets div {
842
+ position: absolute;
843
+ right: -70px;
844
+ top: -3px;
845
+ } .p-packets div span, .p-packets div em {
846
+ border: 1px solid rgb(195, 224, 181);
847
+ margin: 2px;
848
+ padding: 1px;
849
+ display: block;
850
+ width: 4.5em;
851
+ text-align: center;
852
+ color: rgb(40, 83, 18);
853
+ font-weight: bold;
854
+ } .p-packets div span {
855
+ border-color: rgb(218, 179, 179);
856
+ color: rgb(117, 18, 18);
857
+ } .p-packets img {
858
+ cursor: pointer;
859
+ vertical-align: middle;
860
+ } .p-packets img.p-disabled {
861
+ cursor: default;
862
+ } .p-packets .p-low {
863
+ color: rgb(153, 153, 153);
864
+ } .p-body {
865
+ padding-bottom: 2px;
866
+ padding-right: 10px;
867
+ } .p-body a {
868
+ overflow: hidden;
869
+ color: #105892;
870
+ text-decoration: underline;
871
+ white-space: nowrap;
872
+ font-size: 125%;
873
+ } .p-body div {
874
+ color: #444;
875
+ padding: 4px 0px 0px 0px;
876
+ } .p-body div a {
877
+ color: #444;
878
+ text-decoration: none;
879
+ display: inline;
880
+ }
881
+
882
+ div.p-parent {
883
+ font-size: 85%;
884
+ }
885
+
886
+ div.p-box {
887
+ padding: 0pt 10px;
888
+ text-align: right;
889
+ font-size: 85%;
890
+ margin-bottom: -12px;
891
+ position: relative;
892
+ bottom: 2px;
893
+ }
894
+
895
+ a.p-box, a.p-box:hover {
896
+ color: rgb(119, 119, 119);
897
+ font-size: 85%;
898
+ text-decoration: none;
899
+ position: relative;
900
+ bottom: 6px;
901
+ }
902
+
903
+ a.p-box em {
904
+ background: transparent url('../image/collapsed.gif') no-repeat scroll 0px 50%;
905
+ font-style: normal;
906
+ color: rgb(16, 92, 182);
907
+ padding-left: 16px;
908
+ margin-left: 0pt;
909
+ }
910
+
911
+ a.p-open em {
912
+ background: transparent url('../image/expanded.gif') no-repeat scroll 0pt 50%;
913
+ }
914
+
915
+ a.p-box strong {
916
+ font-weight: normal;
917
+ color: rgb(16, 92, 182);
918
+ margin-left: 10px;
919
+ }
920
+
921
+ a.p-box:hover em, a.p-box:hover strong {
922
+ text-decoration: underline;
923
+ }
924
+
925
+ div#searchresults li.p-overflow {
926
+ border-top: 1px solid #CCC;
927
+ padding: 0pt;
928
+ background: #E5EDFB url('../image/p-expand.gif') no-repeat scroll 100% 50%;
929
+ } .s-result .p-overflow div {
930
+ padding: 8px;
931
+ background: transparent url('../image/p-expand.gif') no-repeat scroll 0pt 50%;
932
+ font-weight: bold;
933
+ display: block;
934
+ text-align: center;
935
+ }
936
+
937
+ div#searchresults .p-overflow img {
938
+ display: none;
939
+ vertical-align: middle;
940
+ }
941
+
942
+ div#searchresults .p-side {
943
+ float: right;
944
+ padding-right: 10px;
945
+ }
946
+
947
+ li.p-disabled, li.p-disabled-open {
948
+ background: rgb(246, 246, 246) none repeat scroll 0% 0%;
949
+ padding-top: 4px;
950
+ padding-bottom: 1px;
951
+ color: rgb(119, 119, 119);
952
+ }
953
+
954
+ li.p-action-main {
955
+ padding: 20px 10px;
956
+ }
957
+
958
+ li.p-action-main input {
959
+ font-size: 100%;
960
+ }
961
+
962
+ li.p-action-main h3 {
963
+ font-size: 100%;
964
+ font-weight: bold;
965
+ padding-left: 2px;
966
+ color: rgb(51, 51, 51);
967
+ }
968
+
969
+ li.p-action-main h3 span {
970
+ font-weight: normal;
971
+ color: rgb(119, 119, 119);
972
+ } .s-result form {
973
+ margin: 3px 0pt 10px;
974
+ } .s-result form a {
975
+ font-size: 85%;
976
+ margin-left: 10px;
977
+ } .s-result .p-note {
978
+ margin: 0pt 0pt 3px;
979
+ padding: 3px 5px 3px 24px;
980
+ background: transparent url('p-time.gif') no-repeat scroll 5px 50%;
981
+ color: rgb(85, 85, 85);
982
+ font-size: 85%;
983
+ }
984
+
985
+ /* tabs */
986
+ div#searchresults ul.tab li {
987
+ padding: 2px;
988
+ }
989
+
990
+ ul.tab {
991
+ border-bottom: solid 1px #DEDEDE;
992
+ height: 29px;
993
+ padding-left: 20px;
994
+ margin: 0px;
995
+ }
996
+
997
+ ul.tab li {
998
+ float: left;
999
+ margin-right: 2px;
1000
+ } .tab a:link, .tab a:visited {
1001
+ background: url(../image/tab-round.png) right 60px;
1002
+ color: #666666;
1003
+ display: block;
1004
+ font-weight: bold;
1005
+ height: 30px;
1006
+ line-height: 30px;
1007
+ text-decoration: none;
1008
+ } .tab a span {
1009
+ background: url(../image/tab-round.png) left 60px;
1010
+ display: block;
1011
+ height: 30px;
1012
+ margin-right: 14px;
1013
+ padding-left: 14px;
1014
+ } .tab a:hover {
1015
+ background-position: right 30px;
1016
+ display: block;
1017
+ } .tab a:hover span {
1018
+ background-position: left 30px;
1019
+ display: block;
1020
+ }.tab .active a:link, .tab .active a:visited, .tab .active a:visited, .tab .active a:hover {
1021
+ background-position: right 0;
1022
+ } .tab .active a span, .tab .active a:hover span {
1023
+ background: url(../image/tab-round.png) left 0 no-repeat;
1024
+ }
1025
+
1026
+ a.p-action-link {
1027
+ padding: 0px 0px 0px 20px;
1028
+ line-height: 18px;
1029
+ padding-bottom: 4px;
1030
+ opacity: 0.6;
1031
+ } .p-action-link:hover {
1032
+ opacity: 1.0;
1033
+ } #p-main .p-action-link {
1034
+ margin-right: 8px;
1035
+ } #p-main a.user16 {
1036
+ margin-left: 16px;
1037
+ margin-right: 0px;
1038
+ } .p-date {
1039
+ color: #888;
1040
+ } .p-protos a {
1041
+ padding: 2px;
1042
+ } .p-tags a {
1043
+ padding: 2px;
1044
+ } .p-actions {
1045
+ margin-top: 4px;
1046
+ }
1047
+
1048
+ /* log-in */
1049
+ div.account {
1050
+ width: 25em;
1051
+ padding: 24px 50px 20px 50px;
1052
+ margin: 100px auto 0px auto;
1053
+ background-image: url(../image/beta.png);
1054
+ background-repeat: no-repeat;
1055
+ }
1056
+
1057
+ div.account div#l-form {
1058
+ padding: 0px 50px;
1059
+ }
1060
+
1061
+ div.account input[type="text"], div.account input[type="password"] {
1062
+ width: 179px;
1063
+ }
1064
+
1065
+ span#logo {
1066
+ background: transparent url('../image/pcapr-logo.png') no-repeat scroll 0pt 0pt;
1067
+ text-indent: -9999px;
1068
+ width: 63px;
1069
+ height: 21px;
1070
+ display: block;
1071
+ }
1072
+
1073
+ div#l-header {
1074
+ margin-bottom: 16px;
1075
+ }
1076
+
1077
+ span.throbber {
1078
+ background: transparent url('../image/throbber.gif') no-repeat scroll 0pt 0pt;
1079
+ padding-left: 20px;
1080
+ }
1081
+
1082
+ /* icons */
1083
+ a.download16 {
1084
+ background: url(../image/16x16/Download.png) left 0 no-repeat;
1085
+ }
1086
+
1087
+ a.zoom16 {
1088
+ background: url('../image/16x16/Full Size.png') left 0 no-repeat;
1089
+ }
1090
+
1091
+ a.user16 {
1092
+ background: url('../image/16x16/User.png') left 0 no-repeat;
1093
+ }
1094
+
1095
+ a.phone48 {
1096
+ background: url('../image/48x48/Phone.png') left 0 no-repeat;
1097
+ }
1098
+
1099
+ a.video48 {
1100
+ background: url('../image/48x48/Video.png') left 0 no-repeat;
1101
+ }
1102
+
1103
+ a.extern {
1104
+ background: url('../image/crosslink.png') no-repeat;
1105
+ padding-left: 14px;
1106
+ }
1107
+
1108
+ img.icon {
1109
+ border: none;
1110
+ vertical-align: middle;
1111
+ width: 14px;
1112
+ padding-right: 2px;
1113
+ }