##// END OF EJS Templates
fixed chrome repo switcher issue
marcink -
r607:ff449e9e default
parent child Browse files
Show More
@@ -1,226 +1,227
1 1 #!/usr/bin/env python
2 2 # encoding: utf-8
3 3 # middleware to handle mercurial api calls
4 4 # Copyright (C) 2009-2010 Marcin Kuzminski <marcin@python-works.com>
5 5 #
6 6 # This program is free software; you can redistribute it and/or
7 7 # modify it under the terms of the GNU General Public License
8 8 # as published by the Free Software Foundation; version 2
9 9 # of the License or (at your opinion) any later version of the license.
10 10 #
11 11 # This program is distributed in the hope that it will be useful,
12 12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 14 # GNU General Public License for more details.
15 15 #
16 16 # You should have received a copy of the GNU General Public License
17 17 # along with this program; if not, write to the Free Software
18 18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19 19 # MA 02110-1301, USA.
20 20 """
21 21 Created on 2010-04-28
22 22
23 23 @author: marcink
24 24 SimpleHG middleware for handling mercurial protocol request (push/clone etc.)
25 25 It's implemented with basic auth function
26 26 """
27 27 from itertools import chain
28 28 from mercurial.error import RepoError
29 29 from mercurial.hgweb import hgweb
30 30 from mercurial.hgweb.request import wsgiapplication
31 31 from paste.auth.basic import AuthBasicAuthenticator
32 32 from paste.httpheaders import REMOTE_USER, AUTH_TYPE
33 33 from rhodecode.lib.auth import authfunc, HasPermissionAnyMiddleware, \
34 34 get_user_cached
35 35 from rhodecode.lib.utils import is_mercurial, make_ui, invalidate_cache, \
36 36 check_repo_fast, ui_sections
37 37 from webob.exc import HTTPNotFound, HTTPForbidden, HTTPInternalServerError
38 38 from rhodecode.lib.utils import action_logger
39 39 import logging
40 40 import os
41 41 import traceback
42 42
43 43 log = logging.getLogger(__name__)
44 44
45 45 class SimpleHg(object):
46 46
47 47 def __init__(self, application, config):
48 48 self.application = application
49 49 self.config = config
50 50 #authenticate this mercurial request using
51 51 self.authenticate = AuthBasicAuthenticator('', authfunc)
52 52
53 53 def __call__(self, environ, start_response):
54 54 if not is_mercurial(environ):
55 55 return self.application(environ, start_response)
56 56
57 57 #===================================================================
58 58 # AUTHENTICATE THIS MERCURIAL REQUEST
59 59 #===================================================================
60 60 username = REMOTE_USER(environ)
61 61 if not username:
62 62 self.authenticate.realm = self.config['rhodecode_realm']
63 63 result = self.authenticate(environ)
64 64 if isinstance(result, str):
65 65 AUTH_TYPE.update(environ, 'basic')
66 66 REMOTE_USER.update(environ, result)
67 67 else:
68 68 return result.wsgi_application(environ, start_response)
69 69
70 70 try:
71 71 repo_name = '/'.join(environ['PATH_INFO'].split('/')[1:])
72 72 if repo_name.endswith('/'):
73 73 repo_name = repo_name.rstrip('/')
74 74 except:
75 75 log.error(traceback.format_exc())
76 76 return HTTPInternalServerError()(environ, start_response)
77 77
78 78 #===================================================================
79 79 # CHECK PERMISSIONS FOR THIS REQUEST
80 80 #===================================================================
81 81 action = self.__get_action(environ)
82 82 if action:
83 83 username = self.__get_environ_user(environ)
84 84 try:
85 85 user = self.__get_user(username)
86 86 except:
87 87 log.error(traceback.format_exc())
88 88 return HTTPInternalServerError()(environ, start_response)
89
89 90 #check permissions for this repository
90
91 91 if action == 'push':
92 92 if not HasPermissionAnyMiddleware('repository.write',
93 93 'repository.admin')\
94 94 (user, repo_name):
95 95 return HTTPForbidden()(environ, start_response)
96 96
97 97 else:
98 #any other action need at least read permission
98 99 if not HasPermissionAnyMiddleware('repository.read',
99 100 'repository.write',
100 101 'repository.admin')\
101 102 (user, repo_name):
102 103 return HTTPForbidden()(environ, start_response)
103 104
104 105 #log action
105 106 if action in ('push', 'pull', 'clone'):
106 107 proxy_key = 'HTTP_X_REAL_IP'
107 108 def_key = 'REMOTE_ADDR'
108 109 ipaddr = environ.get(proxy_key, environ.get(def_key, '0.0.0.0'))
109 110 self.__log_user_action(user, action, repo_name, ipaddr)
110 111
111 112 #===================================================================
112 113 # MERCURIAL REQUEST HANDLING
113 114 #===================================================================
114 115 environ['PATH_INFO'] = '/'#since we wrap into hgweb, reset the path
115 116 self.baseui = make_ui('db')
116 117 self.basepath = self.config['base_path']
117 118 self.repo_path = os.path.join(self.basepath, repo_name)
118 119
119 120 #quick check if that dir exists...
120 121 if check_repo_fast(repo_name, self.basepath):
121 122 return HTTPNotFound()(environ, start_response)
122 123 try:
123 124 app = wsgiapplication(self.__make_app)
124 125 except RepoError, e:
125 126 if str(e).find('not found') != -1:
126 127 return HTTPNotFound()(environ, start_response)
127 128 except Exception:
128 129 log.error(traceback.format_exc())
129 130 return HTTPInternalServerError()(environ, start_response)
130 131
131 132 #invalidate cache on push
132 133 if action == 'push':
133 134 self.__invalidate_cache(repo_name)
134 135 messages = []
135 136 messages.append('thank you for using rhodecode')
136 137
137 138 return self.msg_wrapper(app, environ, start_response, messages)
138 139 else:
139 140 return app(environ, start_response)
140 141
141 142
142 143 def msg_wrapper(self, app, environ, start_response, messages=[]):
143 144 """
144 145 Wrapper for custom messages that come out of mercurial respond messages
145 146 is a list of messages that the user will see at the end of response
146 147 from merurial protocol actions that involves remote answers
147 148 :param app:
148 149 :param environ:
149 150 :param start_response:
150 151 """
151 152 def custom_messages(msg_list):
152 153 for msg in msg_list:
153 154 yield msg + '\n'
154 155 org_response = app(environ, start_response)
155 156 return chain(org_response, custom_messages(messages))
156 157
157 158 def __make_app(self):
158 159 hgserve = hgweb(str(self.repo_path), baseui=self.baseui)
159 160 return self.__load_web_settings(hgserve)
160 161
161 162 def __get_environ_user(self, environ):
162 163 return environ.get('REMOTE_USER')
163 164
164 165 def __get_user(self, username):
165 166 return get_user_cached(username)
166 167
167 168 def __get_action(self, environ):
168 169 """
169 170 Maps mercurial request commands into a clone,pull or push command.
170 171 This should always return a valid command string
171 172 :param environ:
172 173 """
173 174 mapping = {'changegroup': 'pull',
174 175 'changegroupsubset': 'pull',
175 176 'stream_out': 'pull',
176 177 #'listkeys': 'pull',
177 178 'unbundle': 'push',
178 179 'pushkey': 'push', }
179 180 for qry in environ['QUERY_STRING'].split('&'):
180 181 if qry.startswith('cmd'):
181 182 cmd = qry.split('=')[-1]
182 183 if mapping.has_key(cmd):
183 184 return mapping[cmd]
184 185 else:
185 186 return cmd
186 187
187 188 def __log_user_action(self, user, action, repo, ipaddr):
188 189 action_logger(user, action, repo, ipaddr)
189 190
190 191 def __invalidate_cache(self, repo_name):
191 192 """we know that some change was made to repositories and we should
192 193 invalidate the cache to see the changes right away but only for
193 194 push requests"""
194 195 invalidate_cache('cached_repo_list')
195 196 invalidate_cache('full_changelog', repo_name)
196 197
197 198
198 199 def __load_web_settings(self, hgserve):
199 200 #set the global ui for hgserve instance passed
200 201 hgserve.repo.ui = self.baseui
201 202
202 203 hgrc = os.path.join(self.repo_path, '.hg', 'hgrc')
203 204 repoui = make_ui('file', hgrc, False)
204 205
205 206
206 207 if repoui:
207 208 #overwrite our ui instance with the section from hgrc file
208 209 for section in ui_sections:
209 210 for k, v in repoui.configitems(section):
210 211 hgserve.repo.ui.setconfig(section, k, v)
211 212
212 213 return hgserve
213 214
214 215
215 216
216 217
217 218
218 219
219 220
220 221
221 222
222 223
223 224
224 225
225 226
226 227
@@ -1,2540 +1,2539
1 1 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {
2 2 border:0;
3 3 outline:0;
4 4 font-size:100%;
5 5 vertical-align:baseline;
6 6 background:transparent;
7 7 margin:0;
8 8 padding:0;
9 9 }
10 10
11 11 body {
12 12 line-height:1;
13 13 height:100%;
14 14 background:url("../images/background.png") repeat scroll 0 0 #B0B0B0;
15 15 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
16 16 font-size:12px;
17 17 color:#000;
18 18 margin:0;
19 19 padding:0;
20 20 }
21 21
22 22 ol,ul {
23 23 list-style:none;
24 24 }
25 25
26 26 blockquote,q {
27 27 quotes:none;
28 28 }
29 29
30 30 blockquote:before,blockquote:after,q:before,q:after {
31 31 content:none;
32 32 }
33 33
34 34 :focus {
35 35 outline:0;
36 36 }
37 37
38 38 del {
39 39 text-decoration:line-through;
40 40 }
41 41
42 42 table {
43 43 border-collapse:collapse;
44 44 border-spacing:0;
45 45 }
46 46
47 47 html {
48 48 height:100%;
49 49 }
50 50
51 51 a {
52 52 color:#003367;
53 53 text-decoration:none;
54 54 cursor:pointer;
55 55 font-weight:700;
56 56 }
57 57
58 58 a:hover {
59 59 color:#316293;
60 60 text-decoration:underline;
61 61 }
62 62
63 63 h1,h2,h3,h4,h5,h6 {
64 64 color:#292929;
65 65 font-weight:700;
66 66 }
67 67
68 68 h1 {
69 69 font-size:22px;
70 70 }
71 71
72 72 h2 {
73 73 font-size:20px;
74 74 }
75 75
76 76 h3 {
77 77 font-size:18px;
78 78 }
79 79
80 80 h4 {
81 81 font-size:16px;
82 82 }
83 83
84 84 h5 {
85 85 font-size:14px;
86 86 }
87 87
88 88 h6 {
89 89 font-size:11px;
90 90 }
91 91
92 92 ul.circle {
93 93 list-style-type:circle;
94 94 }
95 95
96 96 ul.disc {
97 97 list-style-type:disc;
98 98 }
99 99
100 100 ul.square {
101 101 list-style-type:square;
102 102 }
103 103
104 104 ol.lower-roman {
105 105 list-style-type:lower-roman;
106 106 }
107 107
108 108 ol.upper-roman {
109 109 list-style-type:upper-roman;
110 110 }
111 111
112 112 ol.lower-alpha {
113 113 list-style-type:lower-alpha;
114 114 }
115 115
116 116 ol.upper-alpha {
117 117 list-style-type:upper-alpha;
118 118 }
119 119
120 120 ol.decimal {
121 121 list-style-type:decimal;
122 122 }
123 123
124 124 div.color {
125 125 clear:both;
126 126 overflow:hidden;
127 127 position:absolute;
128 128 background:#FFF;
129 129 margin:7px 0 0 60px;
130 130 padding:1px 1px 1px 0;
131 131 }
132 132
133 133 div.color a {
134 134 width:15px;
135 135 height:15px;
136 136 display:block;
137 137 float:left;
138 138 margin:0 0 0 1px;
139 139 padding:0;
140 140 }
141 141
142 142 div.color a.blue {
143 143 background:#376ea6;
144 144 }
145 145
146 146 div.color a.green {
147 147 background:#85924b;
148 148 }
149 149
150 150 div.color a.brown {
151 151 background:#9b6e42;
152 152 }
153 153
154 154 div.color a.purple {
155 155 background:#88528b;
156 156 }
157 157
158 158 div.color a.red {
159 159 background:#bd3220;
160 160 }
161 161
162 162 div.color a.greyblue {
163 163 background:#566e86;
164 164 }
165 165
166 166 div.options {
167 167 clear:both;
168 168 overflow:hidden;
169 169 position:absolute;
170 170 background:#FFF;
171 171 margin:7px 0 0 162px;
172 172 padding:0;
173 173 }
174 174
175 175 div.options a {
176 176 height:1%;
177 177 display:block;
178 178 text-decoration:none;
179 179 margin:0;
180 180 padding:3px 8px;
181 181 }
182 182
183 183 #header {
184 184 margin:0;
185 185 padding:0 30px;
186 186 }
187 187
188 188 #header ul#logged-user li {
189 189 list-style:none;
190 190 float:left;
191 191 border-left:1px solid #bbb;
192 192 border-right:1px solid #a5a5a5;
193 193 margin:-2px 0 0;
194 194 padding:10px 12px;
195 195 }
196 196
197 197 #header ul#logged-user li.first {
198 198 border-left:none;
199 199 margin:-6px;
200 200 }
201 201
202 202 #header ul#logged-user li.first div.account {
203 203 padding-top:4px;
204 204 float:left;
205 205 }
206 206
207 207 #header ul#logged-user li.last {
208 208 border-right:none;
209 209 }
210 210
211 211 #header ul#logged-user li a {
212 212 color:#4e4e4e;
213 213 font-weight:700;
214 214 text-decoration:none;
215 215 }
216 216
217 217 #header ul#logged-user li a:hover {
218 218 color:#376ea6;
219 219 text-decoration:underline;
220 220 }
221 221
222 222 #header ul#logged-user li.highlight a {
223 223 color:#fff;
224 224 }
225 225
226 226 #header ul#logged-user li.highlight a:hover {
227 227 color:#376ea6;
228 228 }
229 229
230 230 #header #header-inner {
231 231 height:40px;
232 232 clear:both;
233 233 position:relative;
234 234 background:#003367 url("../images/header_inner.png") repeat-x;
235 235 border-bottom:2px solid #fff;
236 236 margin:0;
237 237 padding:0;
238 238 }
239 239
240 240 #header #header-inner #home a {
241 241 height:40px;
242 242 width:46px;
243 243 display:block;
244 244 background:url("../images/button_home.png");
245 245 background-position:0 0;
246 246 margin:0;
247 247 padding:0;
248 248 }
249 249
250 250 #header #header-inner #home a:hover {
251 251 background-position:0 -40px;
252 252 }
253 253
254 254 #header #header-inner #logo h1 {
255 255 color:#FFF;
256 256 font-size:14px;
257 257 text-transform:uppercase;
258 258 margin:13px 0 0 13px;
259 259 padding:0;
260 260 }
261 261
262 262 #header #header-inner #logo a {
263 263 color:#fff;
264 264 text-decoration:none;
265 265 }
266 266
267 267 #header #header-inner #logo a:hover {
268 268 color:#dabf29;
269 269 }
270 270
271 271 #header #header-inner #quick,#header #header-inner #quick ul {
272 272 position:relative;
273 273 float:right;
274 274 list-style-type:none;
275 275 list-style-position:outside;
276 276 margin:10px 5px 0 0;
277 277 padding:0;
278 278 }
279 279
280 280 #header #header-inner #quick li {
281 281 position:relative;
282 282 float:left;
283 283 margin:0 5px 0 0;
284 284 padding:0;
285 285 }
286 286
287 287 #header #header-inner #quick li a {
288 288 top:0;
289 289 left:0;
290 290 height:1%;
291 291 display:block;
292 292 clear:both;
293 293 overflow:hidden;
294 294 color:#FFF;
295 295 font-weight:700;
296 296 text-decoration:none;
297 297 background:#369 url("../../images/quick_l.png") no-repeat top left;
298 298 padding:0;
299 299 }
300 300
301 301 #header #header-inner #quick li span {
302 302 top:0;
303 303 right:0;
304 304 height:1%;
305 305 display:block;
306 306 float:left;
307 307 background:url("../../images/quick_r.png") no-repeat top right;
308 308 border-left:1px solid #3f6f9f;
309 309 margin:0;
310 310 padding:10px 12px 8px 10px;
311 311 }
312 312
313 313 #header #header-inner #quick li span.normal {
314 314 border:none;
315 315 padding:10px 12px 8px;
316 316 }
317 317
318 318 #header #header-inner #quick li span.icon {
319 319 top:0;
320 320 left:0;
321 321 border-left:none;
322 322 background:url("../../images/quick_l.png") no-repeat top left;
323 323 border-right:1px solid #2e5c89;
324 324 padding:8px 8px 4px;
325 325 }
326 326
327 327 #header #header-inner #quick li a:hover {
328 328 background:#4e4e4e url("../../images/quick_l_selected.png") no-repeat top left;
329 329 }
330 330
331 331 #header #header-inner #quick li a:hover span {
332 332 border-left:1px solid #545454;
333 333 background:url("../../images/quick_r_selected.png") no-repeat top right;
334 334 }
335 335
336 336 #header #header-inner #quick li a:hover span.icon {
337 337 border-left:none;
338 338 border-right:1px solid #464646;
339 339 background:url("../../images/quick_l_selected.png") no-repeat top left;
340 340 }
341 341
342 342 #header #header-inner #quick ul {
343 343 top:29px;
344 344 right:0;
345 345 min-width:200px;
346 346 display:none;
347 347 position:absolute;
348 348 background:#FFF;
349 349 border:1px solid #666;
350 350 border-top:1px solid #003367;
351 351 z-index:100;
352 352 margin:0;
353 353 padding:0;
354 354 }
355 355
356 356 #header #header-inner #quick ul.repo_switcher {
357 357 max-height:275px;
358 358 overflow-x:hidden;
359 359 overflow-y:auto;
360 white-space:nowrap;
361 360 }
362 361
363 362 #header #header-inner #quick li ul li {
364 363 border-bottom:1px solid #ddd;
365 364 }
366 365
367 366 #header #header-inner #quick li ul li a {
368 367 width:182px;
369 368 height:auto;
370 369 display:block;
371 370 float:left;
372 371 background:#FFF;
373 372 color:#003367;
374 373 font-weight:400;
375 374 margin:0;
376 375 padding:7px 9px;
377 376 }
378 377
379 378 #header #header-inner #quick li ul li a.childs {
380 379 width:167px;
381 380 background:#FFF url("../../resources/images/plus.png") no-repeat 8px 9px;
382 381 margin:0;
383 382 padding:7px 9px 7px 24px;
384 383 }
385 384
386 385 #header #header-inner #quick li ul li a:hover {
387 386 color:#000;
388 387 background:#FFF;
389 388 }
390 389
391 390 #header #header-inner #quick li ul li a.childs:hover {
392 391 background:#FFF url("../../resources/images/minus.png") no-repeat 8px 9px;
393 392 }
394 393
395 394 #header #header-inner #quick ul ul {
396 395 top:auto;
397 396 }
398 397
399 398 #header #header-inner #quick li ul ul {
400 399 right:200px;
401 400 max-height:275px;
402 401 overflow:auto;
403 402 overflow-x:hidden;
404 403 white-space:nowrap;
405 404 }
406 405
407 406 #header #header-inner #quick li ul li a.journal,#header #header-inner #quick li ul li a.journal:hover {
408 407 background:url("../images/icons/book.png") no-repeat scroll 4px 9px #FFF;
409 408 width:167px;
410 409 margin:0;
411 410 padding:12px 9px 7px 24px;
412 411 }
413 412
414 413 #header #header-inner #quick li ul li a.private_repo,#header #header-inner #quick li ul li a.private_repo:hover {
415 414 background:url("../images/icons/lock.png") no-repeat scroll 4px 9px #FFF;
416 415 min-width:167px;
417 416 margin:0;
418 417 padding:12px 9px 7px 24px;
419 418 }
420 419
421 420 #header #header-inner #quick li ul li a.public_repo,#header #header-inner #quick li ul li a.public_repo:hover {
422 421 background:url("../images/icons/lock_open.png") no-repeat scroll 4px 9px #FFF;
423 422 min-width:167px;
424 423 margin:0;
425 424 padding:12px 9px 7px 24px;
426 425 }
427 426
428 427 #header #header-inner #quick li ul li a.repos,#header #header-inner #quick li ul li a.repos:hover {
429 428 background:url("../images/icons/folder_edit.png") no-repeat scroll 4px 9px #FFF;
430 429 width:167px;
431 430 margin:0;
432 431 padding:12px 9px 7px 24px;
433 432 }
434 433
435 434 #header #header-inner #quick li ul li a.users,#header #header-inner #quick li ul li a.users:hover {
436 435 background:#FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
437 436 width:167px;
438 437 margin:0;
439 438 padding:12px 9px 7px 24px;
440 439 }
441 440
442 441 #header #header-inner #quick li ul li a.settings,#header #header-inner #quick li ul li a.settings:hover {
443 442 background:#FFF url("../images/icons/cog.png") no-repeat 4px 9px;
444 443 width:167px;
445 444 margin:0;
446 445 padding:12px 9px 7px 24px;
447 446 }
448 447
449 448 #header #header-inner #quick li ul li a.permissions,#header #header-inner #quick li ul li a.permissions:hover {
450 449 background:#FFF url("../images/icons/key.png") no-repeat 4px 9px;
451 450 width:167px;
452 451 margin:0;
453 452 padding:12px 9px 7px 24px;
454 453 }
455 454
456 455 #header #header-inner #quick li ul li a.fork,#header #header-inner #quick li ul li a.fork:hover {
457 456 background:#FFF url("../images/icons/arrow_divide.png") no-repeat 4px 9px;
458 457 width:167px;
459 458 margin:0;
460 459 padding:12px 9px 7px 24px;
461 460 }
462 461
463 462 #header #header-inner #quick li ul li a.search,#header #header-inner #quick li ul li a.search:hover {
464 463 background:#FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
465 464 width:167px;
466 465 margin:0;
467 466 padding:12px 9px 7px 24px;
468 467 }
469 468
470 469 #header #header-inner #quick li ul li a.delete,#header #header-inner #quick li ul li a.delete:hover {
471 470 background:#FFF url("../images/icons/delete.png") no-repeat 4px 9px;
472 471 width:167px;
473 472 margin:0;
474 473 padding:12px 9px 7px 24px;
475 474 }
476 475
477 476 #header #header-inner #quick li ul li a.branches,#header #header-inner #quick li ul li a.branches:hover {
478 477 background:#FFF url("../images/icons/arrow_branch.png") no-repeat 4px 9px;
479 478 width:167px;
480 479 margin:0;
481 480 padding:12px 9px 7px 24px;
482 481 }
483 482
484 483 #header #header-inner #quick li ul li a.tags,#header #header-inner #quick li ul li a.tags:hover {
485 484 background:#FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
486 485 width:167px;
487 486 margin:0;
488 487 padding:12px 9px 7px 24px;
489 488 }
490 489
491 490 #header #header-inner div.corner {
492 491 height:6px;
493 492 width:6px;
494 493 position:absolute;
495 494 background:url("../../images/header_inner_corners.png") no-repeat;
496 495 }
497 496
498 497 #content #left {
499 498 left:0;
500 499 width:280px;
501 500 position:absolute;
502 501 }
503 502
504 503 #content #left #menu {
505 504 clear:both;
506 505 overflow:hidden;
507 506 margin:5px 10px 0 60px;
508 507 padding:0;
509 508 }
510 509
511 510 #content #left #menu h6 {
512 511 clear:both;
513 512 overflow:hidden;
514 513 background:#dfdfdf url("../images/menu.png") repeat-x;
515 514 color:#6e6e6e;
516 515 margin:5px 0 0;
517 516 padding:0;
518 517 }
519 518
520 519 #content #left #menu h6 a {
521 520 height:1%;
522 521 display:block;
523 522 clear:both;
524 523 overflow:hidden;
525 524 background:url("../images/menu_l.png") no-repeat top left;
526 525 color:#6e6e6e;
527 526 text-decoration:none;
528 527 margin:0;
529 528 padding:0;
530 529 }
531 530
532 531 #content #left #menu h6 span {
533 532 height:1%;
534 533 display:block;
535 534 background:url("../images/menu_r.png") no-repeat top right;
536 535 margin:0;
537 536 padding:9px 10px 10px;
538 537 }
539 538
540 539 #content #left #menu h6.selected {
541 540 color:#FFF;
542 541 background:#00376e url("../../images/menu_selected.png") repeat-x;
543 542 }
544 543
545 544 #content #left #menu h6.selected a {
546 545 color:#fff;
547 546 background:url("../../images/menu_l_selected.png") no-repeat top left;
548 547 }
549 548
550 549 #content #left #menu h6.selected span {
551 550 background:url("../../images/menu_r_selected.png") no-repeat top right;
552 551 }
553 552
554 553 #content #left #menu ul {
555 554 background:#376ea6;
556 555 margin:0;
557 556 padding:0;
558 557 }
559 558
560 559 #content #left #menu li {
561 560 clear:both;
562 561 overflow:hidden;
563 562 list-style:none;
564 563 color:#fff;
565 564 border-top:1px solid #4377ab;
566 565 border-bottom:1px solid #326395;
567 566 margin:0;
568 567 padding:0;
569 568 }
570 569
571 570 #content #left #menu li a {
572 571 height:1%;
573 572 display:block;
574 573 float:left;
575 574 color:#fff;
576 575 text-decoration:none;
577 576 background:url("../../images/menu_arrow.png") no-repeat 0 9px;
578 577 margin:0 0 0 6px;
579 578 padding:8px 0 8px 18px;
580 579 }
581 580
582 581 #content #left #menu li a:hover {
583 582 color:#b9dcff;
584 583 }
585 584
586 585 #content #left #menu li.collapsible {
587 586 background:url("../../images/menu_border.png") no-repeat top left;
588 587 }
589 588
590 589 #content #left #menu li.collapsible a {
591 590 height:1%;
592 591 display:block;
593 592 background:transparent;
594 593 float:left;
595 594 font-weight:700;
596 595 margin:0 0 0 6px;
597 596 padding:8px 0;
598 597 }
599 598
600 599 #content #left #menu li.collapsible a.plus {
601 600 height:10px;
602 601 width:10px;
603 602 display:block;
604 603 float:left;
605 604 background:url("../images/menu_plus.png") no-repeat 5px 10px;
606 605 border:none;
607 606 margin:0;
608 607 padding:8px 0 9px 24px;
609 608 }
610 609
611 610 #content #left #menu li.collapsible a.minus {
612 611 height:10px;
613 612 width:10px;
614 613 display:block;
615 614 float:left;
616 615 background:url("../images/menu_minus.png") no-repeat 5px 10px;
617 616 border:none;
618 617 border-bottom:1px solid #326395;
619 618 margin:0;
620 619 padding:8px 0 9px 24px;
621 620 }
622 621
623 622 #content #left #menu li ul {
624 623 border-left:18px solid #326395;
625 624 margin:0;
626 625 padding:0;
627 626 }
628 627
629 628 #content #left #menu li ul li {
630 629 clear:both;
631 630 overflow:hidden;
632 631 list-style:none;
633 632 color:#fff;
634 633 background:url("../../images/menu_arrow.png") no-repeat 10px 9px;
635 634 border-top:1px solid #4377ab;
636 635 border-bottom:1px solid #326395;
637 636 margin:0;
638 637 padding:0;
639 638 }
640 639
641 640 #content #left #menu li.collapsible ul li a {
642 641 font-weight:400;
643 642 }
644 643
645 644 #content #left #menu li.last {
646 645 border-bottom:none;
647 646 }
648 647
649 648 #content #left #date-picker {
650 649 clear:both;
651 650 overflow:hidden;
652 651 margin:10px 10px 0 60px;
653 652 padding:0;
654 653 }
655 654
656 655 #content #left #date-picker .ui-datepicker {
657 656 width:auto;
658 657 clear:both;
659 658 overflow:hidden;
660 659 background:#FFF;
661 660 border:1px solid #d1d1d1;
662 661 padding:0;
663 662 }
664 663
665 664 #content #left #date-picker .ui-datepicker .ui-datepicker-header {
666 665 padding:5px 0;
667 666 }
668 667
669 668 #content #right {
670 669 margin:0 60px 10px 290px;
671 670 }
672 671
673 672 #content div.box {
674 673 clear:both;
675 674 overflow:hidden;
676 675 background:#fff;
677 676 margin:0 0 10px;
678 677 padding:0 0 10px;
679 678 }
680 679
681 680 #content div.box-left {
682 681 width:49%;
683 682 clear:none;
684 683 float:left;
685 684 margin:0 0 10px;
686 685 }
687 686
688 687 #content div.box-right {
689 688 width:49%;
690 689 clear:none;
691 690 float:right;
692 691 margin:0 0 10px;
693 692 }
694 693
695 694 #content div.box div.title {
696 695 clear:both;
697 696 overflow:hidden;
698 697 background:#369 url("../images/header_inner.png") repeat-x;
699 698 margin:0 0 20px;
700 699 padding:0;
701 700 }
702 701
703 702 #content div.box div.title h5 {
704 703 float:left;
705 704 border:none;
706 705 color:#fff;
707 706 text-transform:uppercase;
708 707 margin:0;
709 708 padding:11px 0 11px 10px;
710 709 }
711 710
712 711 #content div.box div.title ul.links li {
713 712 list-style:none;
714 713 float:left;
715 714 margin:0;
716 715 padding:0;
717 716 }
718 717
719 718 #content div.box div.title ul.links li a {
720 719 height:1%;
721 720 display:block;
722 721 float:left;
723 722 border-left:1px solid #316293;
724 723 color:#fff;
725 724 font-size:11px;
726 725 font-weight:700;
727 726 text-decoration:none;
728 727 margin:0;
729 728 padding:13px 16px 12px;
730 729 }
731 730
732 731 #content div.box h1,#content div.box h2,#content div.box h3,#content div.box h4,#content div.box h5,#content div.box h6 {
733 732 clear:both;
734 733 overflow:hidden;
735 734 border-bottom:1px solid #DDD;
736 735 margin:10px 20px;
737 736 padding:0 0 15px;
738 737 }
739 738
740 739 #content div.box p {
741 740 color:#5f5f5f;
742 741 font-size:12px;
743 742 line-height:150%;
744 743 margin:0 24px 10px;
745 744 padding:0;
746 745 }
747 746
748 747 #content div.box blockquote {
749 748 border-left:4px solid #DDD;
750 749 color:#5f5f5f;
751 750 font-size:11px;
752 751 line-height:150%;
753 752 margin:0 34px;
754 753 padding:0 0 0 14px;
755 754 }
756 755
757 756 #content div.box blockquote p {
758 757 margin:10px 0;
759 758 padding:0;
760 759 }
761 760
762 761 #content div.box dl {
763 762 margin:10px 24px;
764 763 }
765 764
766 765 #content div.box dt {
767 766 font-size:12px;
768 767 margin:0;
769 768 }
770 769
771 770 #content div.box dd {
772 771 font-size:12px;
773 772 margin:0;
774 773 padding:8px 0 8px 15px;
775 774 }
776 775
777 776 #content div.box li {
778 777 font-size:12px;
779 778 padding:4px 0;
780 779 }
781 780
782 781 #content div.box ul.disc,#content div.box ul.circle {
783 782 margin:10px 24px 10px 38px;
784 783 }
785 784
786 785 #content div.box ul.square {
787 786 margin:10px 24px 10px 40px;
788 787 }
789 788
790 789 #content div.box img.left {
791 790 border:none;
792 791 float:left;
793 792 margin:10px 10px 10px 0;
794 793 }
795 794
796 795 #content div.box img.right {
797 796 border:none;
798 797 float:right;
799 798 margin:10px 0 10px 10px;
800 799 }
801 800
802 801 #content div.box div.messages {
803 802 clear:both;
804 803 overflow:hidden;
805 804 margin:0 20px;
806 805 padding:0;
807 806 }
808 807
809 808 #content div.box div.message {
810 809 clear:both;
811 810 overflow:hidden;
812 811 margin:0;
813 812 padding:10px 0;
814 813 }
815 814
816 815 #content div.box div.message a {
817 816 font-weight:400 !important;
818 817 }
819 818
820 819 #content div.box div.message div.image {
821 820 float:left;
822 821 margin:9px 0 0 5px;
823 822 padding:6px;
824 823 }
825 824
826 825 #content div.box div.message div.image img {
827 826 vertical-align:middle;
828 827 margin:0;
829 828 }
830 829
831 830 #content div.box div.message div.text {
832 831 float:left;
833 832 margin:0;
834 833 padding:9px 6px;
835 834 }
836 835
837 836 #content div.box div.message div.dismiss a {
838 837 height:16px;
839 838 width:16px;
840 839 display:block;
841 840 background:url("../images/icons/cross.png") no-repeat;
842 841 margin:15px 14px 0 0;
843 842 padding:0;
844 843 }
845 844
846 845 #content div.box div.message div.text h1,#content div.box div.message div.text h2,#content div.box div.message div.text h3,#content div.box div.message div.text h4,#content div.box div.message div.text h5,#content div.box div.message div.text h6 {
847 846 border:none;
848 847 margin:0;
849 848 padding:0;
850 849 }
851 850
852 851 #content div.box div.message div.text span {
853 852 height:1%;
854 853 display:block;
855 854 margin:0;
856 855 padding:5px 0 0;
857 856 }
858 857
859 858 #content div.box div.message-error {
860 859 height:1%;
861 860 clear:both;
862 861 overflow:hidden;
863 862 background:#FBE3E4;
864 863 border:1px solid #FBC2C4;
865 864 color:#860006;
866 865 }
867 866
868 867 #content div.box div.message-error h6 {
869 868 color:#860006;
870 869 }
871 870
872 871 #content div.box div.message-warning {
873 872 height:1%;
874 873 clear:both;
875 874 overflow:hidden;
876 875 background:#FFF6BF;
877 876 border:1px solid #FFD324;
878 877 color:#5f5200;
879 878 }
880 879
881 880 #content div.box div.message-warning h6 {
882 881 color:#5f5200;
883 882 }
884 883
885 884 #content div.box div.message-notice {
886 885 height:1%;
887 886 clear:both;
888 887 overflow:hidden;
889 888 background:#8FBDE0;
890 889 border:1px solid #6BACDE;
891 890 color:#003863;
892 891 }
893 892
894 893 #content div.box div.message-notice h6 {
895 894 color:#003863;
896 895 }
897 896
898 897 #content div.box div.message-success {
899 898 height:1%;
900 899 clear:both;
901 900 overflow:hidden;
902 901 background:#E6EFC2;
903 902 border:1px solid #C6D880;
904 903 color:#4e6100;
905 904 }
906 905
907 906 #content div.box div.message-success h6 {
908 907 color:#4e6100;
909 908 }
910 909
911 910 #content div.box div.form div.fields div.field {
912 911 height:1%;
913 912 border-bottom:1px solid #DDD;
914 913 clear:both;
915 914 margin:0;
916 915 padding:10px 0;
917 916 }
918 917
919 918 #content div.box div.form div.fields div.field-first {
920 919 padding:0 0 10px;
921 920 }
922 921
923 922 #content div.box div.form div.fields div.field-noborder {
924 923 border-bottom:0 !important;
925 924 }
926 925
927 926 #content div.box div.form div.fields div.field span.error-message {
928 927 height:1%;
929 928 display:inline-block;
930 929 color:red;
931 930 margin:8px 0 0 4px;
932 931 padding:0;
933 932 }
934 933
935 934 #content div.box div.form div.fields div.field span.success {
936 935 height:1%;
937 936 display:block;
938 937 color:#316309;
939 938 margin:8px 0 0;
940 939 padding:0;
941 940 }
942 941
943 942 #content div.box div.form div.fields div.field div.label {
944 943 left:80px;
945 944 width:auto;
946 945 position:absolute;
947 946 margin:0;
948 947 padding:8px 0 0 5px;
949 948 }
950 949
951 950 #content div.box-left div.form div.fields div.field div.label,#content div.box-right div.form div.fields div.field div.label {
952 951 clear:both;
953 952 overflow:hidden;
954 953 left:0;
955 954 width:auto;
956 955 position:relative;
957 956 margin:0;
958 957 padding:0 0 8px;
959 958 }
960 959
961 960 #content div.box div.form div.fields div.field div.label-select {
962 961 padding:2px 0 0 5px;
963 962 }
964 963
965 964 #content div.box-left div.form div.fields div.field div.label-select,#content div.box-right div.form div.fields div.field div.label-select {
966 965 padding:0 0 8px;
967 966 }
968 967
969 968 #content div.box-left div.form div.fields div.field div.label-textarea,#content div.box-right div.form div.fields div.field div.label-textarea {
970 969 padding:0 0 8px !important;
971 970 }
972 971
973 972 #content div.box div.form div.fields div.field div.label label {
974 973 color:#393939;
975 974 font-weight:700;
976 975 }
977 976
978 977 #content div.box div.form div.fields div.field div.input {
979 978 margin:0 0 0 200px;
980 979 }
981 980
982 981 #content div.box-left div.form div.fields div.field div.input,#content div.box-right div.form div.fields div.field div.input {
983 982 clear:both;
984 983 overflow:hidden;
985 984 border-top:1px solid #b3b3b3;
986 985 border-left:1px solid #b3b3b3;
987 986 border-right:1px solid #eaeaea;
988 987 border-bottom:1px solid #eaeaea;
989 988 margin:0;
990 989 padding:7px 7px 6px;
991 990 }
992 991
993 992 #content div.box div.form div.fields div.field div.input input {
994 993 background:#FFF;
995 994 border-top:1px solid #b3b3b3;
996 995 border-left:1px solid #b3b3b3;
997 996 border-right:1px solid #eaeaea;
998 997 border-bottom:1px solid #eaeaea;
999 998 color:#000;
1000 999 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1001 1000 font-size:11px;
1002 1001 margin:0;
1003 1002 padding:7px 7px 6px;
1004 1003 }
1005 1004
1006 1005 #content div.box-left div.form div.fields div.field div.input input,#content div.box-right div.form div.fields div.field div.input input {
1007 1006 width:100%;
1008 1007 border:none;
1009 1008 padding:0;
1010 1009 }
1011 1010
1012 1011 #content div.box div.form div.fields div.field div.input input.small {
1013 1012 width:30%;
1014 1013 }
1015 1014
1016 1015 #content div.box div.form div.fields div.field div.input input.medium {
1017 1016 width:55%;
1018 1017 }
1019 1018
1020 1019 #content div.box div.form div.fields div.field div.input input.large {
1021 1020 width:85%;
1022 1021 }
1023 1022
1024 1023 #content div.box div.form div.fields div.field div.input input.date {
1025 1024 width:177px;
1026 1025 }
1027 1026
1028 1027 #content div.box div.form div.fields div.field div.input input.button {
1029 1028 background:#D4D0C8;
1030 1029 border-top:1px solid #FFF;
1031 1030 border-left:1px solid #FFF;
1032 1031 border-right:1px solid #404040;
1033 1032 border-bottom:1px solid #404040;
1034 1033 color:#000;
1035 1034 margin:0;
1036 1035 padding:4px 8px;
1037 1036 }
1038 1037
1039 1038 #content div.box div.form div.fields div.field div.input img.ui-datepicker-trigger {
1040 1039 margin:0 0 0 6px;
1041 1040 }
1042 1041
1043 1042 #content div.box div.form div.fields div.field div.input a.ui-input-file {
1044 1043 width:28px;
1045 1044 height:28px;
1046 1045 display:inline;
1047 1046 position:absolute;
1048 1047 overflow:hidden;
1049 1048 cursor:pointer;
1050 1049 background:#e5e3e3 url("../images/button_browse.png") no-repeat;
1051 1050 border:none;
1052 1051 text-decoration:none;
1053 1052 margin:0 0 0 6px;
1054 1053 padding:0;
1055 1054 }
1056 1055
1057 1056 #content div.box div.form div.fields div.field div.input a:hover.ui-input-file {
1058 1057 background:#e5e3e3 url("../images/button_browse_selected.png") no-repeat;
1059 1058 }
1060 1059
1061 1060 #content div.box div.form div.fields div.field div.textarea {
1062 1061 border-top:1px solid #b3b3b3;
1063 1062 border-left:1px solid #b3b3b3;
1064 1063 border-right:1px solid #eaeaea;
1065 1064 border-bottom:1px solid #eaeaea;
1066 1065 margin:0 0 0 200px;
1067 1066 padding:10px;
1068 1067 }
1069 1068
1070 1069 #content div.box div.form div.fields div.field div.textarea-editor {
1071 1070 border:1px solid #ddd;
1072 1071 padding:0;
1073 1072 }
1074 1073
1075 1074 #content div.box div.form div.fields div.field div.textarea textarea {
1076 1075 width:100%;
1077 1076 height:220px;
1078 1077 overflow:hidden;
1079 1078 background:#FFF;
1080 1079 color:#000;
1081 1080 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1082 1081 font-size:11px;
1083 1082 outline:none;
1084 1083 border-width:0;
1085 1084 margin:0;
1086 1085 padding:0;
1087 1086 }
1088 1087
1089 1088 #content div.box-left div.form div.fields div.field div.textarea textarea,#content div.box-right div.form div.fields div.field div.textarea textarea {
1090 1089 width:100%;
1091 1090 height:100px;
1092 1091 }
1093 1092
1094 1093 #content div.box div.form div.fields div.field div.textarea textarea.error {
1095 1094 background-color:#FBE3E4;
1096 1095 background-image:url("../../../resources/images/icons/exclamation.png");
1097 1096 background-repeat:no-repeat;
1098 1097 background-position:3px 3px;
1099 1098 border:1px solid #FBC2C4;
1100 1099 padding:3px 10px 10px 23px;
1101 1100 }
1102 1101
1103 1102 #content div.box div.form div.fields div.field div.textarea textarea.success {
1104 1103 background-color:#E6EFC2;
1105 1104 background-image:url("../../../resources/images/icons/accept.png");
1106 1105 background-repeat:no-repeat;
1107 1106 background-position:3px 3px;
1108 1107 border:1px solid #C6D880;
1109 1108 padding:3px 10px 10px 23px;
1110 1109 }
1111 1110
1112 1111 #content div.box div.form div.fields div.field div.textarea table {
1113 1112 width:100%;
1114 1113 border:none;
1115 1114 margin:0;
1116 1115 padding:0;
1117 1116 }
1118 1117
1119 1118 #content div.box div.form div.fields div.field div.textarea table td {
1120 1119 background:#DDD;
1121 1120 border:none;
1122 1121 padding:0;
1123 1122 }
1124 1123
1125 1124 #content div.box div.form div.fields div.field div.textarea table td table {
1126 1125 width:auto;
1127 1126 border:none;
1128 1127 margin:0;
1129 1128 padding:0;
1130 1129 }
1131 1130
1132 1131 #content div.box div.form div.fields div.field div.textarea table td table td {
1133 1132 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1134 1133 font-size:11px;
1135 1134 padding:5px 5px 5px 0;
1136 1135 }
1137 1136
1138 1137 #content div.box div.form div.fields div.field div.textarea table td table td a.mceButtonActive {
1139 1138 background:#b1b1b1;
1140 1139 }
1141 1140
1142 1141 #content div.box div.form div.fields div.field div.select a.ui-selectmenu {
1143 1142 color:#565656;
1144 1143 text-decoration:none;
1145 1144 }
1146 1145
1147 1146 #content div.box div.form div.fields div.field input[type=text]:focus,#content div.box div.form div.fields div.field input[type=password]:focus,#content div.box div.form div.fields div.field input[type=file]:focus,#content div.box div.form div.fields div.field textarea:focus,#content div.box div.form div.fields div.field select:focus {
1148 1147 background:#f6f6f6;
1149 1148 border-color:#666;
1150 1149 }
1151 1150
1152 1151 div.form div.fields div.field div.button {
1153 1152 margin:0;
1154 1153 padding:0 0 0 8px;
1155 1154 }
1156 1155
1157 1156 div.form div.fields div.field div.highlight .ui-state-default {
1158 1157 background:#4e85bb url("../images/button_highlight.png") repeat-x;
1159 1158 border-top:1px solid #5c91a4;
1160 1159 border-left:1px solid #2a6f89;
1161 1160 border-right:1px solid #2b7089;
1162 1161 border-bottom:1px solid #1a6480;
1163 1162 color:#FFF;
1164 1163 margin:0;
1165 1164 padding:6px 12px;
1166 1165 }
1167 1166
1168 1167 div.form div.fields div.field div.highlight .ui-state-hover {
1169 1168 background:#46a0c1 url("../images/button_highlight_selected.png") repeat-x;
1170 1169 border-top:1px solid #78acbf;
1171 1170 border-left:1px solid #34819e;
1172 1171 border-right:1px solid #35829f;
1173 1172 border-bottom:1px solid #257897;
1174 1173 color:#FFF;
1175 1174 margin:0;
1176 1175 padding:6px 12px;
1177 1176 }
1178 1177
1179 1178 #content div.box div.form div.fields div.buttons div.highlight input.ui-state-default {
1180 1179 background:#4e85bb url("../../images/button_highlight.png") repeat-x;
1181 1180 border-top:1px solid #5c91a4;
1182 1181 border-left:1px solid #2a6f89;
1183 1182 border-right:1px solid #2b7089;
1184 1183 border-bottom:1px solid #1a6480;
1185 1184 color:#fff;
1186 1185 margin:0;
1187 1186 padding:6px 12px;
1188 1187 }
1189 1188
1190 1189 #content div.box div.form div.fields div.buttons div.highlight input.ui-state-hover {
1191 1190 background:#46a0c1 url("../../images/button_highlight_selected.png") repeat-x;
1192 1191 border-top:1px solid #78acbf;
1193 1192 border-left:1px solid #34819e;
1194 1193 border-right:1px solid #35829f;
1195 1194 border-bottom:1px solid #257897;
1196 1195 color:#fff;
1197 1196 margin:0;
1198 1197 padding:6px 12px;
1199 1198 }
1200 1199
1201 1200 #content div.box table {
1202 1201 width:100%;
1203 1202 border-collapse:collapse;
1204 1203 margin:0;
1205 1204 padding:0;
1206 1205 }
1207 1206
1208 1207 #content div.box table th {
1209 1208 background:#eee;
1210 1209 border-bottom:1px solid #ddd;
1211 1210 padding:10px;
1212 1211 }
1213 1212
1214 1213 #content div.box table th.left {
1215 1214 text-align:left;
1216 1215 }
1217 1216
1218 1217 #content div.box table th.right {
1219 1218 text-align:right;
1220 1219 }
1221 1220
1222 1221 #content div.box table th.center {
1223 1222 text-align:center;
1224 1223 }
1225 1224
1226 1225 #content div.box table th.selected {
1227 1226 vertical-align:middle;
1228 1227 padding:0;
1229 1228 }
1230 1229
1231 1230 #content div.box table td {
1232 1231 background:#fff;
1233 1232 border-bottom:1px solid #cdcdcd;
1234 1233 vertical-align:middle;
1235 1234 padding:5px;
1236 1235 }
1237 1236
1238 1237 #content div.box table tr.selected td {
1239 1238 background:#FFC;
1240 1239 }
1241 1240
1242 1241 #content div.box table td.selected {
1243 1242 width:3%;
1244 1243 text-align:center;
1245 1244 vertical-align:middle;
1246 1245 padding:0;
1247 1246 }
1248 1247
1249 1248 #content div.box table td.action {
1250 1249 width:45%;
1251 1250 text-align:left;
1252 1251 }
1253 1252
1254 1253 #content div.box table td.date {
1255 1254 width:33%;
1256 1255 text-align:center;
1257 1256 }
1258 1257
1259 1258 #content div.box div.action {
1260 1259 float:right;
1261 1260 background:#FFF;
1262 1261 text-align:right;
1263 1262 margin:10px 0 0;
1264 1263 padding:0;
1265 1264 }
1266 1265
1267 1266 #content div.box div.action select {
1268 1267 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1269 1268 font-size:11px;
1270 1269 margin:0;
1271 1270 }
1272 1271
1273 1272 #content div.box div.action .ui-selectmenu {
1274 1273 margin:0;
1275 1274 padding:0;
1276 1275 }
1277 1276
1278 1277 #content div.box div.pagination {
1279 1278 height:1%;
1280 1279 clear:both;
1281 1280 overflow:hidden;
1282 1281 margin:10px 0 0;
1283 1282 padding:0;
1284 1283 }
1285 1284
1286 1285 #content div.box div.pagination ul.pager {
1287 1286 float:right;
1288 1287 text-align:right;
1289 1288 margin:0;
1290 1289 padding:0;
1291 1290 }
1292 1291
1293 1292 #content div.box div.pagination ul.pager li {
1294 1293 height:1%;
1295 1294 float:left;
1296 1295 list-style:none;
1297 1296 background:#ebebeb url("../images/pager.png") repeat-x;
1298 1297 border-top:1px solid #dedede;
1299 1298 border-left:1px solid #cfcfcf;
1300 1299 border-right:1px solid #c4c4c4;
1301 1300 border-bottom:1px solid #c4c4c4;
1302 1301 color:#4A4A4A;
1303 1302 font-weight:700;
1304 1303 margin:0 0 0 4px;
1305 1304 padding:0;
1306 1305 }
1307 1306
1308 1307 #content div.box div.pagination ul.pager li.separator {
1309 1308 padding:6px;
1310 1309 }
1311 1310
1312 1311 #content div.box div.pagination ul.pager li.current {
1313 1312 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1314 1313 border-top:1px solid #ccc;
1315 1314 border-left:1px solid #bebebe;
1316 1315 border-right:1px solid #b1b1b1;
1317 1316 border-bottom:1px solid #afafaf;
1318 1317 color:#515151;
1319 1318 padding:6px;
1320 1319 }
1321 1320
1322 1321 #content div.box div.pagination ul.pager li a {
1323 1322 height:1%;
1324 1323 display:block;
1325 1324 float:left;
1326 1325 color:#515151;
1327 1326 text-decoration:none;
1328 1327 margin:0;
1329 1328 padding:6px;
1330 1329 }
1331 1330
1332 1331 #content div.box div.pagination ul.pager li a:hover,#content div.box div.pagination ul.pager li a:active {
1333 1332 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1334 1333 border-top:1px solid #ccc;
1335 1334 border-left:1px solid #bebebe;
1336 1335 border-right:1px solid #b1b1b1;
1337 1336 border-bottom:1px solid #afafaf;
1338 1337 margin:-1px;
1339 1338 }
1340 1339
1341 1340 #content div.box div.pagination-wh {
1342 1341 height:1%;
1343 1342 clear:both;
1344 1343 overflow:hidden;
1345 1344 text-align:right;
1346 1345 margin:10px 0 0;
1347 1346 padding:0;
1348 1347 }
1349 1348
1350 1349 #content div.box div.pagination-right {
1351 1350 float:right;
1352 1351 }
1353 1352
1354 1353 #content div.box div.pagination-wh a,#content div.box div.pagination-wh span.pager_dotdot {
1355 1354 height:1%;
1356 1355 float:left;
1357 1356 background:#ebebeb url("../images/pager.png") repeat-x;
1358 1357 border-top:1px solid #dedede;
1359 1358 border-left:1px solid #cfcfcf;
1360 1359 border-right:1px solid #c4c4c4;
1361 1360 border-bottom:1px solid #c4c4c4;
1362 1361 color:#4A4A4A;
1363 1362 font-weight:700;
1364 1363 margin:0 0 0 4px;
1365 1364 padding:6px;
1366 1365 }
1367 1366
1368 1367 #content div.box div.pagination-wh span.pager_curpage {
1369 1368 height:1%;
1370 1369 float:left;
1371 1370 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1372 1371 border-top:1px solid #ccc;
1373 1372 border-left:1px solid #bebebe;
1374 1373 border-right:1px solid #b1b1b1;
1375 1374 border-bottom:1px solid #afafaf;
1376 1375 color:#515151;
1377 1376 font-weight:700;
1378 1377 margin:0 0 0 4px;
1379 1378 padding:6px;
1380 1379 }
1381 1380
1382 1381 #content div.box div.pagination-wh a:hover,#content div.box div.pagination-wh a:active {
1383 1382 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1384 1383 border-top:1px solid #ccc;
1385 1384 border-left:1px solid #bebebe;
1386 1385 border-right:1px solid #b1b1b1;
1387 1386 border-bottom:1px solid #afafaf;
1388 1387 text-decoration:none;
1389 1388 }
1390 1389
1391 1390 #content div.box div.traffic div.legend {
1392 1391 clear:both;
1393 1392 overflow:hidden;
1394 1393 border-bottom:1px solid #ddd;
1395 1394 margin:0 0 10px;
1396 1395 padding:0 0 10px;
1397 1396 }
1398 1397
1399 1398 #content div.box div.traffic div.legend h6 {
1400 1399 float:left;
1401 1400 border:none;
1402 1401 margin:0;
1403 1402 padding:0;
1404 1403 }
1405 1404
1406 1405 #content div.box div.traffic div.legend li {
1407 1406 list-style:none;
1408 1407 float:left;
1409 1408 font-size:11px;
1410 1409 margin:0;
1411 1410 padding:0 8px 0 4px;
1412 1411 }
1413 1412
1414 1413 #content div.box div.traffic div.legend li.visits {
1415 1414 border-left:12px solid #edc240;
1416 1415 }
1417 1416
1418 1417 #content div.box div.traffic div.legend li.pageviews {
1419 1418 border-left:12px solid #afd8f8;
1420 1419 }
1421 1420
1422 1421 #content div.box div.traffic table {
1423 1422 width:auto;
1424 1423 }
1425 1424
1426 1425 #content div.box div.traffic table td {
1427 1426 background:transparent;
1428 1427 border:none;
1429 1428 padding:2px 3px 3px;
1430 1429 }
1431 1430
1432 1431 #content div.box div.traffic table td.legendLabel {
1433 1432 padding:0 3px 2px;
1434 1433 }
1435 1434
1436 1435 #footer {
1437 1436 clear:both;
1438 1437 overflow:hidden;
1439 1438 text-align:right;
1440 1439 margin:0;
1441 1440 padding:0 30px;
1442 1441 }
1443 1442
1444 1443 #footer p {
1445 background:none repeat scroll 0 0 #2F2F2F;
1444 background:url("../images/header_inner.png") repeat-x scroll 0 0 #003367;
1446 1445 color:#FFF;
1447 1446 font-weight:700;
1448 1447 padding:15px 25px 15px 0;
1449 1448 }
1450 1449
1451 1450 #login div.title {
1452 1451 width:420px;
1453 1452 clear:both;
1454 1453 overflow:hidden;
1455 1454 position:relative;
1456 1455 background:#003367 url("../../images/header_inner.png") repeat-x;
1457 1456 margin:0 auto;
1458 1457 padding:0;
1459 1458 }
1460 1459
1461 1460 #login div.title div.corner {
1462 1461 height:6px;
1463 1462 width:6px;
1464 1463 position:absolute;
1465 1464 background:url("../../images/login_corners.png") no-repeat;
1466 1465 }
1467 1466
1468 1467 #login div.inner {
1469 1468 width:380px;
1470 1469 background:#FFF url("../images/login.png") no-repeat top left;
1471 1470 border-top:none;
1472 1471 border-bottom:none;
1473 1472 margin:0 auto;
1474 1473 padding:20px;
1475 1474 }
1476 1475
1477 1476 #login div.form div.fields div.field div.label {
1478 1477 width:173px;
1479 1478 float:left;
1480 1479 text-align:right;
1481 1480 margin:2px 10px 0 0;
1482 1481 padding:5px 0 0 5px;
1483 1482 }
1484 1483
1485 1484 #login div.form div.fields div.field div.input input {
1486 1485 width:176px;
1487 1486 background:#FFF;
1488 1487 border-top:1px solid #b3b3b3;
1489 1488 border-left:1px solid #b3b3b3;
1490 1489 border-right:1px solid #eaeaea;
1491 1490 border-bottom:1px solid #eaeaea;
1492 1491 color:#000;
1493 1492 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1494 1493 font-size:11px;
1495 1494 margin:0;
1496 1495 padding:7px 7px 6px;
1497 1496 }
1498 1497
1499 1498 #login div.form div.fields div.buttons {
1500 1499 clear:both;
1501 1500 overflow:hidden;
1502 1501 border-top:1px solid #DDD;
1503 1502 text-align:right;
1504 1503 margin:0;
1505 1504 padding:10px 0 0;
1506 1505 }
1507 1506
1508 1507 #login div.form div.links {
1509 1508 clear:both;
1510 1509 overflow:hidden;
1511 1510 margin:10px 0 0;
1512 1511 padding:0 0 2px;
1513 1512 }
1514 1513
1515 1514 #register div.title {
1516 1515 width:420px;
1517 1516 clear:both;
1518 1517 overflow:hidden;
1519 1518 position:relative;
1520 1519 background:#003367 url("../images/header_inner.png") repeat-x;
1521 1520 margin:0 auto;
1522 1521 padding:0;
1523 1522 }
1524 1523
1525 1524 #register div.title div.corner {
1526 1525 height:6px;
1527 1526 width:6px;
1528 1527 position:absolute;
1529 1528 background:url("../images/login_corners.png") no-repeat;
1530 1529 }
1531 1530
1532 1531 #register div.inner {
1533 1532 width:380px;
1534 1533 background:#FFF;
1535 1534 border-top:none;
1536 1535 border-bottom:none;
1537 1536 margin:0 auto;
1538 1537 padding:20px;
1539 1538 }
1540 1539
1541 1540 #register div.form div.fields div.field div.label {
1542 1541 width:100px;
1543 1542 float:left;
1544 1543 text-align:right;
1545 1544 margin:2px 10px 0 0;
1546 1545 padding:5px 0 0 5px;
1547 1546 }
1548 1547
1549 1548 #register div.form div.fields div.field div.input input {
1550 1549 width:245px;
1551 1550 background:#FFF;
1552 1551 border-top:1px solid #b3b3b3;
1553 1552 border-left:1px solid #b3b3b3;
1554 1553 border-right:1px solid #eaeaea;
1555 1554 border-bottom:1px solid #eaeaea;
1556 1555 color:#000;
1557 1556 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1558 1557 font-size:11px;
1559 1558 margin:0;
1560 1559 padding:7px 7px 6px;
1561 1560 }
1562 1561
1563 1562 #register div.form div.fields div.buttons {
1564 1563 clear:both;
1565 1564 overflow:hidden;
1566 1565 border-top:1px solid #DDD;
1567 1566 text-align:left;
1568 1567 margin:0;
1569 1568 padding:10px 0 0 114px;
1570 1569 }
1571 1570
1572 1571 #register div.form div.fields div.buttons div.highlight input.ui-state-default {
1573 1572 background:url("../images/button_highlight.png") repeat-x scroll 0 0 #4E85BB;
1574 1573 color:#FFF;
1575 1574 border-color:#5C91A4 #2B7089 #1A6480 #2A6F89;
1576 1575 border-style:solid;
1577 1576 border-width:1px;
1578 1577 }
1579 1578
1580 1579 #register div.form div.activation_msg {
1581 1580 padding-top:4px;
1582 1581 padding-bottom:4px;
1583 1582 }
1584 1583
1585 1584 .trending_language_tbl,.trending_language_tbl td {
1586 1585 border:0 !important;
1587 1586 margin:0 !important;
1588 1587 padding:0 !important;
1589 1588 }
1590 1589
1591 1590 .trending_language {
1592 1591 -moz-border-radius-bottomright:4px;
1593 1592 -moz-border-radius-topright:4px;
1594 1593 border-bottom-right-radius:4px 4px;
1595 1594 border-top-right-radius:4px 4px;
1596 1595 background-color:#369;
1597 1596 color:#FFF;
1598 1597 display:block;
1599 1598 min-width:20px;
1600 1599 max-width:400px;
1601 1600 text-decoration:none;
1602 1601 height:12px;
1603 1602 margin-bottom:4px;
1604 1603 margin-left:5px;
1605 1604 white-space:pre;
1606 1605 padding:3px;
1607 1606 }
1608 1607
1609 1608 h3.files_location {
1610 1609 font-size:1.8em;
1611 1610 font-weight:700;
1612 1611 border-bottom:none !important;
1613 1612 margin:10px 0 !important;
1614 1613 }
1615 1614
1616 1615 #files_data dl dt {
1617 1616 float:left;
1618 1617 width:115px;
1619 1618 margin:0 !important;
1620 1619 padding:5px;
1621 1620 }
1622 1621
1623 1622 #files_data dl dd {
1624 1623 margin:0 !important;
1625 1624 padding:5px !important;
1626 1625 }
1627 1626
1628 1627 #changeset_content {
1629 1628 border:1px solid #CCC;
1630 1629 padding:5px;
1631 1630 }
1632 1631
1633 1632 #changeset_content .container {
1634 1633 min-height:120px;
1635 1634 font-size:1.2em;
1636 1635 overflow:hidden;
1637 1636 }
1638 1637
1639 1638 #changeset_content .container .right {
1640 1639 float:right;
1641 1640 width:25%;
1642 1641 text-align:right;
1643 1642 }
1644 1643
1645 1644 #changeset_content .container .left .message {
1646 1645 font-style:italic;
1647 1646 color:#556CB5;
1648 1647 white-space:pre-wrap;
1649 1648 }
1650 1649
1651 1650 .cs_files .cs_added {
1652 1651 background:url("/images/icons/page_white_add.png") no-repeat scroll 3px;
1653 1652 height:16px;
1654 1653 padding-left:20px;
1655 1654 margin-top:7px;
1656 1655 text-align:left;
1657 1656 }
1658 1657
1659 1658 .cs_files .cs_changed {
1660 1659 background:url("/images/icons/page_white_edit.png") no-repeat scroll 3px;
1661 1660 height:16px;
1662 1661 padding-left:20px;
1663 1662 margin-top:7px;
1664 1663 text-align:left;
1665 1664 }
1666 1665
1667 1666 .cs_files .cs_removed {
1668 1667 background:url("/images/icons/page_white_delete.png") no-repeat scroll 3px;
1669 1668 height:16px;
1670 1669 padding-left:20px;
1671 1670 margin-top:7px;
1672 1671 text-align:left;
1673 1672 }
1674 1673
1675 1674 #graph {
1676 1675 overflow:hidden;
1677 1676 }
1678 1677
1679 1678 #graph_nodes {
1680 1679 width:160px;
1681 1680 float:left;
1682 1681 margin-left:-50px;
1683 1682 margin-top:5px;
1684 1683 }
1685 1684
1686 1685 #graph_content {
1687 1686 width:800px;
1688 1687 float:left;
1689 1688 }
1690 1689
1691 1690 #graph_content .container_header {
1692 1691 border:1px solid #CCC;
1693 1692 padding:10px;
1694 1693 }
1695 1694
1696 1695 #graph_content .container {
1697 1696 border-bottom:1px solid #CCC;
1698 1697 border-left:1px solid #CCC;
1699 1698 border-right:1px solid #CCC;
1700 1699 min-height:80px;
1701 1700 overflow:hidden;
1702 1701 font-size:1.2em;
1703 1702 }
1704 1703
1705 1704 #graph_content .container .right {
1706 1705 float:right;
1707 1706 width:28%;
1708 1707 text-align:right;
1709 1708 padding-bottom:5px;
1710 1709 }
1711 1710
1712 1711 #graph_content .container .left .date {
1713 1712 font-weight:700;
1714 1713 padding-bottom:5px;
1715 1714 }
1716 1715
1717 1716 #graph_content .container .left .message {
1718 1717 font-size:100%;
1719 1718 padding-top:3px;
1720 1719 white-space:pre-wrap;
1721 1720 }
1722 1721
1723 1722 .right div {
1724 1723 clear:both;
1725 1724 }
1726 1725
1727 1726 .right .changes .added,.changed,.removed {
1728 1727 border:1px solid #DDD;
1729 1728 display:block;
1730 1729 float:right;
1731 1730 text-align:center;
1732 1731 min-width:15px;
1733 1732 }
1734 1733
1735 1734 .right .changes .added {
1736 1735 background:#BFB;
1737 1736 }
1738 1737
1739 1738 .right .changes .changed {
1740 1739 background:#FD8;
1741 1740 }
1742 1741
1743 1742 .right .changes .removed {
1744 1743 background:#F88;
1745 1744 }
1746 1745
1747 1746 .right .merge {
1748 1747 vertical-align:top;
1749 1748 font-size:60%;
1750 1749 font-weight:700;
1751 1750 }
1752 1751
1753 1752 .right .parent {
1754 1753 font-size:90%;
1755 1754 font-family:monospace;
1756 1755 }
1757 1756
1758 1757 .right .logtags .branchtag {
1759 1758 background:#FFF url("../images/icons/arrow_branch.png") no-repeat right 6px;
1760 1759 display:block;
1761 1760 padding:8px 16px 0 0;
1762 1761 }
1763 1762
1764 1763 .right .logtags .tagtag {
1765 1764 background:#FFF url("../images/icons/tag_blue.png") no-repeat right 6px;
1766 1765 display:block;
1767 1766 padding:6px 18px 0 0;
1768 1767 }
1769 1768
1770 1769 div.browserblock {
1771 1770 overflow:hidden;
1772 1771 border:1px solid #ccc;
1773 1772 background:#f8f8f8;
1774 1773 font-size:100%;
1775 1774 line-height:125%;
1776 1775 padding:0;
1777 1776 }
1778 1777
1779 1778 div.browserblock .browser-header {
1780 1779 border-bottom:1px solid #CCC;
1781 1780 background:#FFF;
1782 1781 color:blue;
1783 1782 padding:10px 0;
1784 1783 }
1785 1784
1786 1785 div.browserblock .browser-header span {
1787 1786 margin-left:25px;
1788 1787 font-weight:700;
1789 1788 }
1790 1789
1791 1790 div.browserblock .browser-body {
1792 1791 background:#EEE;
1793 1792 }
1794 1793
1795 1794 table.code-browser {
1796 1795 border-collapse:collapse;
1797 1796 width:100%;
1798 1797 }
1799 1798
1800 1799 table.code-browser tr {
1801 1800 margin:3px;
1802 1801 }
1803 1802
1804 1803 table.code-browser thead th {
1805 1804 background-color:#EEE;
1806 1805 height:20px;
1807 1806 font-size:1.1em;
1808 1807 font-weight:700;
1809 1808 text-align:left;
1810 1809 padding-left:10px;
1811 1810 }
1812 1811
1813 1812 table.code-browser tbody td {
1814 1813 padding-left:10px;
1815 1814 height:20px;
1816 1815 }
1817 1816
1818 1817 table.code-browser .browser-file {
1819 1818 background:url("/images/icons/document_16.png") no-repeat scroll 3px;
1820 1819 height:16px;
1821 1820 padding-left:20px;
1822 1821 text-align:left;
1823 1822 }
1824 1823
1825 1824 table.code-browser .browser-dir {
1826 1825 background:url("/images/icons/folder_16.png") no-repeat scroll 3px;
1827 1826 height:16px;
1828 1827 padding-left:20px;
1829 1828 text-align:left;
1830 1829 }
1831 1830
1832 1831 .box .search {
1833 1832 clear:both;
1834 1833 overflow:hidden;
1835 1834 margin:0;
1836 1835 padding:0 20px 10px;
1837 1836 }
1838 1837
1839 1838 .box .search div.search_path {
1840 1839 background:none repeat scroll 0 0 #EEE;
1841 1840 border:1px solid #CCC;
1842 1841 color:blue;
1843 1842 margin-bottom:10px;
1844 1843 padding:10px 0;
1845 1844 }
1846 1845
1847 1846 .box .search div.search_path div.link {
1848 1847 font-weight:700;
1849 1848 margin-left:25px;
1850 1849 }
1851 1850
1852 1851 .box .search div.search_path div.link a {
1853 1852 color:#003367;
1854 1853 cursor:pointer;
1855 1854 text-decoration:none;
1856 1855 }
1857 1856
1858 1857 #path_unlock {
1859 1858 color:red;
1860 1859 font-size:1.2em;
1861 1860 padding-left:4px;
1862 1861 }
1863 1862
1864 1863 .info_box * {
1865 1864 background:url("../../images/pager.png") repeat-x scroll 0 0 #EBEBEB;
1866 1865 color:#4A4A4A;
1867 1866 font-weight:700;
1868 1867 height:1%;
1869 1868 display:inline;
1870 1869 border-color:#DEDEDE #C4C4C4 #C4C4C4 #CFCFCF;
1871 1870 border-style:solid;
1872 1871 border-width:1px;
1873 1872 padding:4px 6px;
1874 1873 }
1875 1874
1876 1875 .info_box span {
1877 1876 margin-left:3px;
1878 1877 margin-right:3px;
1879 1878 }
1880 1879
1881 1880 .info_box input#at_rev {
1882 1881 text-align:center;
1883 1882 padding:5px 3px 3px 2px;
1884 1883 }
1885 1884
1886 1885 .info_box input#view {
1887 1886 text-align:center;
1888 1887 padding:4px 3px 2px 2px;
1889 1888 }
1890 1889
1891 1890 .yui-overlay,.yui-panel-container {
1892 1891 visibility:hidden;
1893 1892 position:absolute;
1894 1893 z-index:2;
1895 1894 }
1896 1895
1897 1896 .yui-tt {
1898 1897 visibility:hidden;
1899 1898 position:absolute;
1900 1899 color:#666;
1901 1900 background-color:#FFF;
1902 1901 font-family:arial, helvetica, verdana, sans-serif;
1903 1902 border:2px solid #003367;
1904 1903 font:100% sans-serif;
1905 1904 width:auto;
1906 1905 opacity:1px;
1907 1906 padding:8px;
1908 1907 }
1909 1908
1910 1909 .ac {
1911 1910 vertical-align:top;
1912 1911 }
1913 1912
1914 1913 .ac .yui-ac {
1915 1914 position:relative;
1916 1915 font-family:arial;
1917 1916 font-size:100%;
1918 1917 }
1919 1918
1920 1919 .ac .perm_ac {
1921 1920 width:15em;
1922 1921 }
1923 1922
1924 1923 .ac .yui-ac-input {
1925 1924 width:100%;
1926 1925 }
1927 1926
1928 1927 .ac .yui-ac-container {
1929 1928 position:absolute;
1930 1929 top:1.6em;
1931 1930 width:100%;
1932 1931 }
1933 1932
1934 1933 .ac .yui-ac-content {
1935 1934 position:absolute;
1936 1935 width:100%;
1937 1936 border:1px solid gray;
1938 1937 background:#fff;
1939 1938 overflow:hidden;
1940 1939 z-index:9050;
1941 1940 }
1942 1941
1943 1942 .ac .yui-ac-shadow {
1944 1943 position:absolute;
1945 1944 width:100%;
1946 1945 background:#000;
1947 1946 -moz-opacity:0.1px;
1948 1947 opacity:.10;
1949 1948 filter:alpha(opacity = 10);
1950 1949 z-index:9049;
1951 1950 margin:.3em;
1952 1951 }
1953 1952
1954 1953 .ac .yui-ac-content ul {
1955 1954 width:100%;
1956 1955 margin:0;
1957 1956 padding:0;
1958 1957 }
1959 1958
1960 1959 .ac .yui-ac-content li {
1961 1960 cursor:default;
1962 1961 white-space:nowrap;
1963 1962 margin:0;
1964 1963 padding:2px 5px;
1965 1964 }
1966 1965
1967 1966 .ac .yui-ac-content li.yui-ac-prehighlight {
1968 1967 background:#B3D4FF;
1969 1968 }
1970 1969
1971 1970 .ac .yui-ac-content li.yui-ac-highlight {
1972 1971 background:#556CB5;
1973 1972 color:#FFF;
1974 1973 }
1975 1974
1976 1975 .add_icon {
1977 1976 background:url("/images/icons/add.png") no-repeat scroll 3px;
1978 1977 height:16px;
1979 1978 padding-left:20px;
1980 1979 padding-top:1px;
1981 1980 text-align:left;
1982 1981 }
1983 1982
1984 1983 .edit_icon {
1985 1984 background:url("/images/icons/folder_edit.png") no-repeat scroll 3px;
1986 1985 height:16px;
1987 1986 padding-left:20px;
1988 1987 padding-top:1px;
1989 1988 text-align:left;
1990 1989 }
1991 1990
1992 1991 .delete_icon {
1993 1992 background:url("/images/icons/delete.png") no-repeat scroll 3px;
1994 1993 height:16px;
1995 1994 padding-left:20px;
1996 1995 padding-top:1px;
1997 1996 text-align:left;
1998 1997 }
1999 1998
2000 1999 .rss_icon {
2001 2000 background:url("/images/icons/rss_16.png") no-repeat scroll 3px;
2002 2001 height:16px;
2003 2002 padding-left:20px;
2004 2003 padding-top:1px;
2005 2004 text-align:left;
2006 2005 }
2007 2006
2008 2007 .atom_icon {
2009 2008 background:url("/images/icons/atom.png") no-repeat scroll 3px;
2010 2009 height:16px;
2011 2010 padding-left:20px;
2012 2011 padding-top:1px;
2013 2012 text-align:left;
2014 2013 }
2015 2014
2016 2015 .archive_icon {
2017 2016 background:url("/images/icons/compress.png") no-repeat scroll 3px;
2018 2017 height:16px;
2019 2018 padding-left:20px;
2020 2019 text-align:left;
2021 2020 padding-top:1px;
2022 2021 }
2023 2022
2024 2023 .action_button {
2025 2024 border:0;
2026 2025 display:block;
2027 2026 }
2028 2027
2029 2028 .action_button:hover {
2030 2029 border:0;
2031 2030 text-decoration:underline;
2032 2031 cursor:pointer;
2033 2032 }
2034 2033
2035 2034 #switch_repos {
2036 2035 position:absolute;
2037 2036 height:25px;
2038 2037 z-index:1;
2039 2038 }
2040 2039
2041 2040 #switch_repos select {
2042 2041 min-width:150px;
2043 2042 max-height:250px;
2044 2043 z-index:1;
2045 2044 }
2046 2045
2047 2046 .breadcrumbs {
2048 2047 border:medium none;
2049 2048 color:#FFF;
2050 2049 float:left;
2051 2050 text-transform:uppercase;
2052 2051 font-weight:700;
2053 2052 font-size:14px;
2054 2053 margin:0;
2055 2054 padding:11px 0 11px 10px;
2056 2055 }
2057 2056
2058 2057 .breadcrumbs a {
2059 2058 color:#FFF;
2060 2059 }
2061 2060
2062 2061 .flash_msg ul {
2063 2062 margin:0;
2064 2063 padding:0 0 10px;
2065 2064 }
2066 2065
2067 2066 .error_msg {
2068 2067 background-color:#FFCFCF;
2069 2068 background-image:url("../../images/icons/error_msg.png");
2070 2069 border:1px solid #FF9595;
2071 2070 color:#C30;
2072 2071 }
2073 2072
2074 2073 .warning_msg {
2075 2074 background-color:#FFFBCC;
2076 2075 background-image:url("../../images/icons/warning_msg.png");
2077 2076 border:1px solid #FFF35E;
2078 2077 color:#C69E00;
2079 2078 }
2080 2079
2081 2080 .success_msg {
2082 2081 background-color:#D5FFCF;
2083 2082 background-image:url("../../images/icons/success_msg.png");
2084 2083 border:1px solid #97FF88;
2085 2084 color:#090;
2086 2085 }
2087 2086
2088 2087 .notice_msg {
2089 2088 background-color:#DCE3FF;
2090 2089 background-image:url("../../images/icons/notice_msg.png");
2091 2090 border:1px solid #93A8FF;
2092 2091 color:#556CB5;
2093 2092 }
2094 2093
2095 2094 .success_msg,.error_msg,.notice_msg,.warning_msg {
2096 2095 background-position:10px center;
2097 2096 background-repeat:no-repeat;
2098 2097 font-size:12px;
2099 2098 font-weight:700;
2100 2099 min-height:14px;
2101 2100 line-height:14px;
2102 2101 margin-bottom:0;
2103 2102 margin-top:0;
2104 2103 display:block;
2105 2104 overflow:auto;
2106 2105 padding:6px 10px 6px 40px;
2107 2106 }
2108 2107
2109 2108 #msg_close {
2110 2109 background:transparent url("../../icons/cross_grey_small.png") no-repeat scroll 0 0;
2111 2110 cursor:pointer;
2112 2111 height:16px;
2113 2112 position:absolute;
2114 2113 right:5px;
2115 2114 top:5px;
2116 2115 width:16px;
2117 2116 }
2118 2117
2119 2118 div#legend_container table,div#legend_choices table {
2120 2119 width:auto !important;
2121 2120 }
2122 2121
2123 2122 table#permissions_manage {
2124 2123 width:0 !important;
2125 2124 }
2126 2125
2127 2126 table#permissions_manage span.private_repo_msg {
2128 2127 font-size:0.8em;
2129 2128 opacity:0.6px;
2130 2129 }
2131 2130
2132 2131 table#permissions_manage td.private_repo_msg {
2133 2132 font-size:0.8em;
2134 2133 }
2135 2134
2136 2135 table#permissions_manage tr#add_perm_input td {
2137 2136 vertical-align:middle;
2138 2137 }
2139 2138
2140 2139 div.gravatar {
2141 2140 background-color:#FFF;
2142 2141 border:1px solid #D0D0D0;
2143 2142 float:left;
2144 2143 margin-right:0.7em;
2145 2144 padding:2px 2px 0;
2146 2145 }
2147 2146
2148 2147 #header,#content,#footer {
2149 2148 min-width:1224px;
2150 2149 }
2151 2150
2152 2151 #content {
2153 min-height:100%;
2152 min-height:85%;
2154 2153 clear:both;
2155 2154 overflow:hidden;
2156 padding:10px 30px;
2155 padding:14px 30px;
2157 2156 }
2158 2157
2159 2158 #content div.box div.title div.search {
2160 2159 background:url("../../images/title_link.png") no-repeat top left;
2161 2160 border-left:1px solid #316293;
2162 2161 }
2163 2162
2164 2163 #content div.box div.title div.search div.input input {
2165 2164 border:1px solid #316293;
2166 2165 }
2167 2166
2168 2167 #content div.box div.title div.search div.button input.ui-state-default {
2169 2168 background:#4e85bb url("../../images/button_highlight.png") repeat-x;
2170 2169 border:1px solid #316293;
2171 2170 border-left:none;
2172 2171 color:#FFF;
2173 2172 }
2174 2173
2175 2174 #content div.box div.title div.search div.button input.ui-state-hover {
2176 2175 background:#46a0c1 url("../../images/button_highlight_selected.png") repeat-x;
2177 2176 border:1px solid #316293;
2178 2177 border-left:none;
2179 2178 color:#FFF;
2180 2179 }
2181 2180
2182 2181 #content div.box div.form div.fields div.field div.highlight .ui-state-default {
2183 2182 background:#4e85bb url("../../images/button_highlight.png") repeat-x;
2184 2183 border-top:1px solid #5c91a4;
2185 2184 border-left:1px solid #2a6f89;
2186 2185 border-right:1px solid #2b7089;
2187 2186 border-bottom:1px solid #1a6480;
2188 2187 color:#fff;
2189 2188 }
2190 2189
2191 2190 #content div.box div.form div.fields div.field div.highlight .ui-state-hover {
2192 2191 background:#46a0c1 url("../../images/button_highlight_selected.png") repeat-x;
2193 2192 border-top:1px solid #78acbf;
2194 2193 border-left:1px solid #34819e;
2195 2194 border-right:1px solid #35829f;
2196 2195 border-bottom:1px solid #257897;
2197 2196 color:#fff;
2198 2197 }
2199 2198
2200 2199 ins,div.options a:hover {
2201 2200 text-decoration:none;
2202 2201 }
2203 2202
2204 2203 img,#header #header-inner #quick li a:hover span.normal,#header #header-inner #quick li ul li.last,#content div.box div.form div.fields div.field div.textarea table td table td a,#clone_url {
2205 2204 border:none;
2206 2205 }
2207 2206
2208 2207 img.icon,.right .merge img {
2209 2208 vertical-align:bottom;
2210 2209 }
2211 2210
2212 2211 #header ul#logged-user,#content div.box div.title ul.links,#content div.box div.message div.dismiss,#content div.box div.traffic div.legend ul {
2213 2212 float:right;
2214 2213 margin:0;
2215 2214 padding:0;
2216 2215 }
2217 2216
2218 2217 #header #header-inner #home,#header #header-inner #logo,#content div.box ul.left,#content div.box ol.left,#content div.box div.pagination-left,div#commit_history,div#legend_data,div#legend_container,div#legend_choices {
2219 2218 float:left;
2220 2219 }
2221 2220
2222 2221 #header #header-inner #quick li:hover ul ul,#header #header-inner #quick li:hover ul ul ul,#header #header-inner #quick li:hover ul ul ul ul,#content #left #menu ul.closed,#content #left #menu li ul.collapsed,.yui-tt-shadow {
2223 2222 display:none;
2224 2223 }
2225 2224
2226 2225 #header #header-inner #quick li:hover ul,#header #header-inner #quick li li:hover ul,#header #header-inner #quick li li li:hover ul,#header #header-inner #quick li li li li:hover ul,#content #left #menu ul.opened,#content #left #menu li ul.expanded {
2227 2226 display:block;
2228 2227 }
2229 2228
2230 2229 #header #header-inner div.tl,#login div.title div.tl,#register div.title div.tl {
2231 2230 top:0;
2232 2231 left:0;
2233 2232 background-position:0 0;
2234 2233 }
2235 2234
2236 2235 #header #header-inner div.tr,#login div.title div.tr,#register div.title div.tr {
2237 2236 top:0;
2238 2237 right:0;
2239 2238 background-position:-6px 0;
2240 2239 }
2241 2240
2242 2241 #content #left #date-picker .ui-datepicker .ui-datepicker-prev,#content #left #date-picker .ui-datepicker .ui-datepicker-prev-hover {
2243 2242 top:5px;
2244 2243 left:4px;
2245 2244 }
2246 2245
2247 2246 #content #left #date-picker .ui-datepicker .ui-datepicker-next,#content #left #date-picker .ui-datepicker .ui-datepicker-next-hover {
2248 2247 top:5px;
2249 2248 right:4px;
2250 2249 }
2251 2250
2252 2251 #content div.box div.title ul.links li a:hover,#content div.box div.title ul.links li.ui-tabs-selected a {
2253 2252 background:url("../../images/title_tab_selected.png") no-repeat bottom center;
2254 2253 color:#bfe3ff;
2255 2254 }
2256 2255
2257 2256 #content div.box ol.lower-roman,#content div.box ol.upper-roman,#content div.box ol.lower-alpha,#content div.box ol.upper-alpha,#content div.box ol.decimal {
2258 2257 margin:10px 24px 10px 44px;
2259 2258 }
2260 2259
2261 2260 #content div.box div.form,#content div.box div.table,#content div.box div.traffic {
2262 2261 clear:both;
2263 2262 overflow:hidden;
2264 2263 margin:0;
2265 2264 padding:0 20px 10px;
2266 2265 }
2267 2266
2268 2267 #content div.box div.form div.fields,#login div.form,#login div.form div.fields,#register div.form,#register div.form div.fields {
2269 2268 clear:both;
2270 2269 overflow:hidden;
2271 2270 margin:0;
2272 2271 padding:0;
2273 2272 }
2274 2273
2275 2274 #content div.box div.form div.fields div.field div.label-checkbox,#content div.box div.form div.fields div.field div.label-radio,#content div.box div.form div.fields div.field div.label-textarea {
2276 2275 padding:0 0 0 5px !important;
2277 2276 }
2278 2277
2279 2278 #content div.box div.form div.fields div.field div.label span,#login div.form div.fields div.field div.label span,#register div.form div.fields div.field div.label span {
2280 2279 height:1%;
2281 2280 display:block;
2282 2281 color:#363636;
2283 2282 margin:0;
2284 2283 padding:2px 0 0;
2285 2284 }
2286 2285
2287 2286 #content div.box div.form div.fields div.field div.input input.error,#login div.form div.fields div.field div.input input.error,#register div.form div.fields div.field div.input input.error {
2288 2287 background:#FBE3E4;
2289 2288 border-top:1px solid #e1b2b3;
2290 2289 border-left:1px solid #e1b2b3;
2291 2290 border-right:1px solid #FBC2C4;
2292 2291 border-bottom:1px solid #FBC2C4;
2293 2292 }
2294 2293
2295 2294 #content div.box div.form div.fields div.field div.input input.success,#login div.form div.fields div.field div.input input.success,#register div.form div.fields div.field div.input input.success {
2296 2295 background:#E6EFC2;
2297 2296 border-top:1px solid #cebb98;
2298 2297 border-left:1px solid #cebb98;
2299 2298 border-right:1px solid #c6d880;
2300 2299 border-bottom:1px solid #c6d880;
2301 2300 }
2302 2301
2303 2302 #content div.box-left div.form div.fields div.field div.textarea,#content div.box-right div.form div.fields div.field div.textarea,#content div.box div.form div.fields div.field div.select select,#content div.box table th.selected input,#content div.box table td.selected input {
2304 2303 margin:0;
2305 2304 }
2306 2305
2307 2306 #content div.box div.form div.fields div.field div.select,#content div.box div.form div.fields div.field div.checkboxes,#content div.box div.form div.fields div.field div.radios {
2308 2307 margin:0 0 0 200px;
2309 2308 padding:0;
2310 2309 }
2311 2310
2312 2311 #content div.box div.form div.fields div.field div.select a:hover,#content div.box div.form div.fields div.field div.select a.ui-selectmenu:hover,#content div.box div.action a:hover {
2313 2312 color:#000;
2314 2313 text-decoration:none;
2315 2314 }
2316 2315
2317 2316 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus,#content div.box div.action a.ui-selectmenu-focus {
2318 2317 border:1px solid #666;
2319 2318 }
2320 2319
2321 2320 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus span.ui-icon,#content div.box div.action a.ui-selectmenu-focus span.ui-icon {
2322 2321 background-image:url(../images/ui/ui-icons_222222_256x240.png);
2323 2322 }
2324 2323
2325 2324 #content div.box div.form div.fields div.field div.checkboxes div.checkbox,#content div.box div.form div.fields div.field div.radios div.radio {
2326 2325 clear:both;
2327 2326 overflow:hidden;
2328 2327 margin:0;
2329 2328 padding:2px 0;
2330 2329 }
2331 2330
2332 2331 #content div.box div.form div.fields div.field div.checkboxes div.checkbox input,#content div.box div.form div.fields div.field div.radios div.radio input {
2333 2332 float:left;
2334 2333 margin:0;
2335 2334 }
2336 2335
2337 2336 #content div.box div.form div.fields div.field div.checkboxes div.checkbox label,#content div.box div.form div.fields div.field div.radios div.radio label {
2338 2337 height:1%;
2339 2338 display:block;
2340 2339 float:left;
2341 2340 margin:3px 0 0 4px;
2342 2341 }
2343 2342
2344 2343 div.form div.fields div.field div.button input,#content div.box div.form div.fields div.buttons input,div.form div.fields div.buttons input,#content div.box div.action div.button input {
2345 2344 color:#000;
2346 2345 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
2347 2346 font-size:11px;
2348 2347 font-weight:700;
2349 2348 margin:0;
2350 2349 }
2351 2350
2352 2351 div.form div.fields div.field div.button .ui-state-default,#content div.box div.form div.fields div.buttons input.ui-state-default {
2353 2352 background:#e5e3e3 url("../images/button.png") repeat-x;
2354 2353 border-top:1px solid #DDD;
2355 2354 border-left:1px solid #c6c6c6;
2356 2355 border-right:1px solid #DDD;
2357 2356 border-bottom:1px solid #c6c6c6;
2358 2357 color:#515151;
2359 2358 outline:none;
2360 2359 margin:0;
2361 2360 padding:6px 12px;
2362 2361 }
2363 2362
2364 2363 div.form div.fields div.field div.button .ui-state-hover,#content div.box div.form div.fields div.buttons input.ui-state-hover {
2365 2364 background:#b4b4b4 url("../images/button_selected.png") repeat-x;
2366 2365 border-top:1px solid #ccc;
2367 2366 border-left:1px solid #bebebe;
2368 2367 border-right:1px solid #b1b1b1;
2369 2368 border-bottom:1px solid #afafaf;
2370 2369 color:#515151;
2371 2370 outline:none;
2372 2371 margin:0;
2373 2372 padding:6px 12px;
2374 2373 }
2375 2374
2376 2375 div.form div.fields div.field div.highlight,#content div.box div.form div.fields div.buttons div.highlight {
2377 2376 display:inline;
2378 2377 }
2379 2378
2380 2379 #content div.box div.form div.fields div.buttons,div.form div.fields div.buttons {
2381 2380 margin:10px 0 0 200px;
2382 2381 padding:0;
2383 2382 }
2384 2383
2385 2384 #content div.box-left div.form div.fields div.buttons,#content div.box-right div.form div.fields div.buttons,div.box-left div.form div.fields div.buttons,div.box-right div.form div.fields div.buttons {
2386 2385 margin:10px 0 0;
2387 2386 }
2388 2387
2389 2388 #content div.box table td.user,#content div.box table td.address {
2390 2389 width:10%;
2391 2390 text-align:center;
2392 2391 }
2393 2392
2394 2393 #content div.box div.action div.button,#login div.form div.fields div.field div.input div.link,#register div.form div.fields div.field div.input div.link {
2395 2394 text-align:right;
2396 2395 margin:6px 0 0;
2397 2396 padding:0;
2398 2397 }
2399 2398
2400 2399 #content div.box div.action div.button input.ui-state-default,#login div.form div.fields div.buttons input.ui-state-default,#register div.form div.fields div.buttons input.ui-state-default {
2401 2400 background:#e5e3e3 url("../images/button.png") repeat-x;
2402 2401 border-top:1px solid #DDD;
2403 2402 border-left:1px solid #c6c6c6;
2404 2403 border-right:1px solid #DDD;
2405 2404 border-bottom:1px solid #c6c6c6;
2406 2405 color:#515151;
2407 2406 margin:0;
2408 2407 padding:6px 12px;
2409 2408 }
2410 2409
2411 2410 #content div.box div.action div.button input.ui-state-hover,#login div.form div.fields div.buttons input.ui-state-hover,#register div.form div.fields div.buttons input.ui-state-hover {
2412 2411 background:#b4b4b4 url("../images/button_selected.png") repeat-x;
2413 2412 border-top:1px solid #ccc;
2414 2413 border-left:1px solid #bebebe;
2415 2414 border-right:1px solid #b1b1b1;
2416 2415 border-bottom:1px solid #afafaf;
2417 2416 color:#515151;
2418 2417 margin:0;
2419 2418 padding:6px 12px;
2420 2419 }
2421 2420
2422 2421 #content div.box div.pagination div.results,#content div.box div.pagination-wh div.results {
2423 2422 text-align:left;
2424 2423 float:left;
2425 2424 margin:0;
2426 2425 padding:0;
2427 2426 }
2428 2427
2429 2428 #content div.box div.pagination div.results span,#content div.box div.pagination-wh div.results span {
2430 2429 height:1%;
2431 2430 display:block;
2432 2431 float:left;
2433 2432 background:#ebebeb url("../images/pager.png") repeat-x;
2434 2433 border-top:1px solid #dedede;
2435 2434 border-left:1px solid #cfcfcf;
2436 2435 border-right:1px solid #c4c4c4;
2437 2436 border-bottom:1px solid #c4c4c4;
2438 2437 color:#4A4A4A;
2439 2438 font-weight:700;
2440 2439 margin:0;
2441 2440 padding:6px 8px;
2442 2441 }
2443 2442
2444 2443 #content div.box div.pagination ul.pager li.disabled,#content div.box div.pagination-wh a.disabled {
2445 2444 color:#B4B4B4;
2446 2445 padding:6px;
2447 2446 }
2448 2447
2449 2448 #login,#register {
2450 2449 width:420px;
2451 2450 margin:10% auto 0;
2452 2451 padding:0;
2453 2452 }
2454 2453
2455 2454 #login div.color,#register div.color {
2456 2455 clear:both;
2457 2456 overflow:hidden;
2458 2457 background:#FFF;
2459 2458 margin:10px auto 0;
2460 2459 padding:3px 3px 3px 0;
2461 2460 }
2462 2461
2463 2462 #login div.color a,#register div.color a {
2464 2463 width:20px;
2465 2464 height:20px;
2466 2465 display:block;
2467 2466 float:left;
2468 2467 margin:0 0 0 3px;
2469 2468 padding:0;
2470 2469 }
2471 2470
2472 2471 #login div.title h5,#register div.title h5 {
2473 2472 color:#fff;
2474 2473 margin:10px;
2475 2474 padding:0;
2476 2475 }
2477 2476
2478 2477 #login div.form div.fields div.field,#register div.form div.fields div.field {
2479 2478 clear:both;
2480 2479 overflow:hidden;
2481 2480 margin:0;
2482 2481 padding:0 0 10px;
2483 2482 }
2484 2483
2485 2484 #login div.form div.fields div.field span.error-message,#register div.form div.fields div.field span.error-message {
2486 2485 height:1%;
2487 2486 display:block;
2488 2487 color:red;
2489 2488 margin:8px 0 0;
2490 2489 padding:0;
2491 2490 }
2492 2491
2493 2492 #login div.form div.fields div.field div.label label,#register div.form div.fields div.field div.label label {
2494 2493 color:#000;
2495 2494 font-weight:700;
2496 2495 }
2497 2496
2498 2497 #login div.form div.fields div.field div.input,#register div.form div.fields div.field div.input {
2499 2498 float:left;
2500 2499 margin:0;
2501 2500 padding:0;
2502 2501 }
2503 2502
2504 2503 #login div.form div.fields div.field div.checkbox,#register div.form div.fields div.field div.checkbox {
2505 2504 margin:0 0 0 184px;
2506 2505 padding:0;
2507 2506 }
2508 2507
2509 2508 #login div.form div.fields div.field div.checkbox label,#register div.form div.fields div.field div.checkbox label {
2510 2509 color:#565656;
2511 2510 font-weight:700;
2512 2511 }
2513 2512
2514 2513 #login div.form div.fields div.buttons input,#register div.form div.fields div.buttons input {
2515 2514 color:#000;
2516 2515 font-size:1em;
2517 2516 font-weight:700;
2518 2517 font-family:Verdana, Helvetica, Sans-Serif;
2519 2518 margin:0;
2520 2519 }
2521 2520
2522 2521 #changeset_content .container .wrapper,#graph_content .container .wrapper {
2523 2522 width:600px;
2524 2523 }
2525 2524
2526 2525 #changeset_content .container .left,#graph_content .container .left {
2527 2526 float:left;
2528 2527 width:70%;
2529 2528 padding-left:5px;
2530 2529 }
2531 2530
2532 2531 #changeset_content .container .left .date,.ac .match {
2533 2532 font-weight:700;
2534 2533 }
2535 2534
2536 2535 div#legend_container table td,div#legend_choices table td {
2537 2536 border:none !important;
2538 2537 height:20px !important;
2539 2538 padding:0 !important;
2540 2539 } No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now