##// END OF EJS Templates
fixed journal look & feel
marcink -
r1052:c96651ae beta
parent child Browse files
Show More
@@ -1,592 +1,593 b''
1 1 """Helper functions
2 2
3 3 Consists of functions to typically be used within templates, but also
4 4 available to Controllers. This module is available to both as 'h'.
5 5 """
6 6 import random
7 7 import hashlib
8 8 import StringIO
9 9 from pygments.formatters import HtmlFormatter
10 10 from pygments import highlight as code_highlight
11 11 from pylons import url
12 12 from pylons.i18n.translation import _, ungettext
13 13 from vcs.utils.annotate import annotate_highlight
14 14 from rhodecode.lib.utils import repo_name_slug
15 15
16 16 from webhelpers.html import literal, HTML, escape
17 17 from webhelpers.html.tools import *
18 18 from webhelpers.html.builder import make_tag
19 19 from webhelpers.html.tags import auto_discovery_link, checkbox, css_classes, \
20 20 end_form, file, form, hidden, image, javascript_link, link_to, link_to_if, \
21 21 link_to_unless, ol, required_legend, select, stylesheet_link, submit, text, \
22 22 password, textarea, title, ul, xml_declaration, radio
23 23 from webhelpers.html.tools import auto_link, button_to, highlight, js_obfuscate, \
24 24 mail_to, strip_links, strip_tags, tag_re
25 25 from webhelpers.number import format_byte_size, format_bit_size
26 26 from webhelpers.pylonslib import Flash as _Flash
27 27 from webhelpers.pylonslib.secure_form import secure_form
28 28 from webhelpers.text import chop_at, collapse, convert_accented_entities, \
29 29 convert_misc_entities, lchop, plural, rchop, remove_formatting, \
30 30 replace_whitespace, urlify, truncate, wrap_paragraphs
31 31 from webhelpers.date import time_ago_in_words
32 32
33 33 from webhelpers.html.tags import _set_input_attrs, _set_id_attr, \
34 34 convert_boolean_attrs, NotGiven
35 35
36 36 def _reset(name, value=None, id=NotGiven, type="reset", **attrs):
37 37 """Reset button
38 38 """
39 39 _set_input_attrs(attrs, type, name, value)
40 40 _set_id_attr(attrs, id, name)
41 41 convert_boolean_attrs(attrs, ["disabled"])
42 42 return HTML.input(**attrs)
43 43
44 44 reset = _reset
45 45
46 46
47 47 def get_token():
48 48 """Return the current authentication token, creating one if one doesn't
49 49 already exist.
50 50 """
51 51 token_key = "_authentication_token"
52 52 from pylons import session
53 53 if not token_key in session:
54 54 try:
55 55 token = hashlib.sha1(str(random.getrandbits(128))).hexdigest()
56 56 except AttributeError: # Python < 2.4
57 57 token = hashlib.sha1(str(random.randrange(2 ** 128))).hexdigest()
58 58 session[token_key] = token
59 59 if hasattr(session, 'save'):
60 60 session.save()
61 61 return session[token_key]
62 62
63 63 class _GetError(object):
64 64 """Get error from form_errors, and represent it as span wrapped error
65 65 message
66 66
67 67 :param field_name: field to fetch errors for
68 68 :param form_errors: form errors dict
69 69 """
70 70
71 71 def __call__(self, field_name, form_errors):
72 72 tmpl = """<span class="error_msg">%s</span>"""
73 73 if form_errors and form_errors.has_key(field_name):
74 74 return literal(tmpl % form_errors.get(field_name))
75 75
76 76 get_error = _GetError()
77 77
78 78 class _ToolTip(object):
79 79
80 80 def __call__(self, tooltip_title, trim_at=50):
81 81 """Special function just to wrap our text into nice formatted
82 82 autowrapped text
83 83
84 84 :param tooltip_title:
85 85 """
86 86
87 87 return wrap_paragraphs(escape(tooltip_title), trim_at)\
88 88 .replace('\n', '<br/>')
89 89
90 90 def activate(self):
91 91 """Adds tooltip mechanism to the given Html all tooltips have to have
92 92 set class `tooltip` and set attribute `tooltip_title`.
93 93 Then a tooltip will be generated based on that. All with yui js tooltip
94 94 """
95 95
96 96 js = '''
97 97 YAHOO.util.Event.onDOMReady(function(){
98 98 function toolTipsId(){
99 99 var ids = [];
100 100 var tts = YAHOO.util.Dom.getElementsByClassName('tooltip');
101 101
102 102 for (var i = 0; i < tts.length; i++) {
103 103 //if element doesn't not have and id autogenerate one for tooltip
104 104
105 105 if (!tts[i].id){
106 106 tts[i].id='tt'+i*100;
107 107 }
108 108 ids.push(tts[i].id);
109 109 }
110 110 return ids
111 111 };
112 112 var myToolTips = new YAHOO.widget.Tooltip("tooltip", {
113 113 context: toolTipsId(),
114 114 monitorresize:false,
115 115 xyoffset :[0,0],
116 116 autodismissdelay:300000,
117 117 hidedelay:5,
118 118 showdelay:20,
119 119 });
120 120
121 121 // Set the text for the tooltip just before we display it. Lazy method
122 122 myToolTips.contextTriggerEvent.subscribe(
123 123 function(type, args) {
124 124
125 125 var context = args[0];
126 126
127 127 //positioning of tooltip
128 128 var tt_w = this.element.clientWidth;//tooltip width
129 129 var tt_h = this.element.clientHeight;//tooltip height
130 130
131 131 var context_w = context.offsetWidth;
132 132 var context_h = context.offsetHeight;
133 133
134 134 var pos_x = YAHOO.util.Dom.getX(context);
135 135 var pos_y = YAHOO.util.Dom.getY(context);
136 136
137 137 var display_strategy = 'right';
138 138 var xy_pos = [0,0];
139 139 switch (display_strategy){
140 140
141 141 case 'top':
142 142 var cur_x = (pos_x+context_w/2)-(tt_w/2);
143 143 var cur_y = (pos_y-tt_h-4);
144 144 xy_pos = [cur_x,cur_y];
145 145 break;
146 146 case 'bottom':
147 147 var cur_x = (pos_x+context_w/2)-(tt_w/2);
148 148 var cur_y = pos_y+context_h+4;
149 149 xy_pos = [cur_x,cur_y];
150 150 break;
151 151 case 'left':
152 152 var cur_x = (pos_x-tt_w-4);
153 153 var cur_y = pos_y-((tt_h/2)-context_h/2);
154 154 xy_pos = [cur_x,cur_y];
155 155 break;
156 156 case 'right':
157 157 var cur_x = (pos_x+context_w+4);
158 158 var cur_y = pos_y-((tt_h/2)-context_h/2);
159 159 xy_pos = [cur_x,cur_y];
160 160 break;
161 161 default:
162 162 var cur_x = (pos_x+context_w/2)-(tt_w/2);
163 163 var cur_y = pos_y-tt_h-4;
164 164 xy_pos = [cur_x,cur_y];
165 165 break;
166 166
167 167 }
168 168
169 169 this.cfg.setProperty("xy",xy_pos);
170 170
171 171 });
172 172
173 173 //Mouse out
174 174 myToolTips.contextMouseOutEvent.subscribe(
175 175 function(type, args) {
176 176 var context = args[0];
177 177
178 178 });
179 179 });
180 180 '''
181 181 return literal(js)
182 182
183 183 tooltip = _ToolTip()
184 184
185 185 class _FilesBreadCrumbs(object):
186 186
187 187 def __call__(self, repo_name, rev, paths):
188 188 if isinstance(paths, str):
189 189 paths = paths.decode('utf-8')
190 190 url_l = [link_to(repo_name, url('files_home',
191 191 repo_name=repo_name,
192 192 revision=rev, f_path=''))]
193 193 paths_l = paths.split('/')
194 194 for cnt, p in enumerate(paths_l):
195 195 if p != '':
196 196 url_l.append(link_to(p, url('files_home',
197 197 repo_name=repo_name,
198 198 revision=rev,
199 199 f_path='/'.join(paths_l[:cnt + 1]))))
200 200
201 201 return literal('/'.join(url_l))
202 202
203 203 files_breadcrumbs = _FilesBreadCrumbs()
204 204
205 205 class CodeHtmlFormatter(HtmlFormatter):
206 206 """My code Html Formatter for source codes
207 207 """
208 208
209 209 def wrap(self, source, outfile):
210 210 return self._wrap_div(self._wrap_pre(self._wrap_code(source)))
211 211
212 212 def _wrap_code(self, source):
213 213 for cnt, it in enumerate(source):
214 214 i, t = it
215 215 t = '<div id="L%s">%s</div>' % (cnt + 1, t)
216 216 yield i, t
217 217
218 218 def _wrap_tablelinenos(self, inner):
219 219 dummyoutfile = StringIO.StringIO()
220 220 lncount = 0
221 221 for t, line in inner:
222 222 if t:
223 223 lncount += 1
224 224 dummyoutfile.write(line)
225 225
226 226 fl = self.linenostart
227 227 mw = len(str(lncount + fl - 1))
228 228 sp = self.linenospecial
229 229 st = self.linenostep
230 230 la = self.lineanchors
231 231 aln = self.anchorlinenos
232 232 nocls = self.noclasses
233 233 if sp:
234 234 lines = []
235 235
236 236 for i in range(fl, fl + lncount):
237 237 if i % st == 0:
238 238 if i % sp == 0:
239 239 if aln:
240 240 lines.append('<a href="#%s%d" class="special">%*d</a>' %
241 241 (la, i, mw, i))
242 242 else:
243 243 lines.append('<span class="special">%*d</span>' % (mw, i))
244 244 else:
245 245 if aln:
246 246 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i))
247 247 else:
248 248 lines.append('%*d' % (mw, i))
249 249 else:
250 250 lines.append('')
251 251 ls = '\n'.join(lines)
252 252 else:
253 253 lines = []
254 254 for i in range(fl, fl + lncount):
255 255 if i % st == 0:
256 256 if aln:
257 257 lines.append('<a href="#%s%d">%*d</a>' % (la, i, mw, i))
258 258 else:
259 259 lines.append('%*d' % (mw, i))
260 260 else:
261 261 lines.append('')
262 262 ls = '\n'.join(lines)
263 263
264 264 # in case you wonder about the seemingly redundant <div> here: since the
265 265 # content in the other cell also is wrapped in a div, some browsers in
266 266 # some configurations seem to mess up the formatting...
267 267 if nocls:
268 268 yield 0, ('<table class="%stable">' % self.cssclass +
269 269 '<tr><td><div class="linenodiv" '
270 270 'style="background-color: #f0f0f0; padding-right: 10px">'
271 271 '<pre style="line-height: 125%">' +
272 272 ls + '</pre></div></td><td class="code">')
273 273 else:
274 274 yield 0, ('<table class="%stable">' % self.cssclass +
275 275 '<tr><td class="linenos"><div class="linenodiv"><pre>' +
276 276 ls + '</pre></div></td><td class="code">')
277 277 yield 0, dummyoutfile.getvalue()
278 278 yield 0, '</td></tr></table>'
279 279
280 280
281 281 def pygmentize(filenode, **kwargs):
282 282 """pygmentize function using pygments
283 283
284 284 :param filenode:
285 285 """
286 286
287 287 return literal(code_highlight(filenode.content,
288 288 filenode.lexer, CodeHtmlFormatter(**kwargs)))
289 289
290 290 def pygmentize_annotation(filenode, **kwargs):
291 291 """pygmentize function for annotation
292 292
293 293 :param filenode:
294 294 """
295 295
296 296 color_dict = {}
297 297 def gen_color(n=10000):
298 298 """generator for getting n of evenly distributed colors using
299 299 hsv color and golden ratio. It always return same order of colors
300 300
301 301 :returns: RGB tuple
302 302 """
303 303 import colorsys
304 304 golden_ratio = 0.618033988749895
305 305 h = 0.22717784590367374
306 306
307 307 for c in xrange(n):
308 308 h += golden_ratio
309 309 h %= 1
310 310 HSV_tuple = [h, 0.95, 0.95]
311 311 RGB_tuple = colorsys.hsv_to_rgb(*HSV_tuple)
312 312 yield map(lambda x:str(int(x * 256)), RGB_tuple)
313 313
314 314 cgenerator = gen_color()
315 315
316 316 def get_color_string(cs):
317 317 if color_dict.has_key(cs):
318 318 col = color_dict[cs]
319 319 else:
320 320 col = color_dict[cs] = cgenerator.next()
321 321 return "color: rgb(%s)! important;" % (', '.join(col))
322 322
323 323 def url_func(changeset):
324 324 tooltip_html = "<div style='font-size:0.8em'><b>Author:</b>" + \
325 325 " %s<br/><b>Date:</b> %s</b><br/><b>Message:</b> %s<br/></div>"
326 326
327 327 tooltip_html = tooltip_html % (changeset.author,
328 328 changeset.date,
329 329 tooltip(changeset.message))
330 330 lnk_format = '%5s:%s' % ('r%s' % changeset.revision,
331 331 short_id(changeset.raw_id))
332 332 uri = link_to(
333 333 lnk_format,
334 334 url('changeset_home', repo_name=changeset.repository.name,
335 335 revision=changeset.raw_id),
336 336 style=get_color_string(changeset.raw_id),
337 337 class_='tooltip',
338 338 title=tooltip_html
339 339 )
340 340
341 341 uri += '\n'
342 342 return uri
343 343 return literal(annotate_highlight(filenode, url_func, **kwargs))
344 344
345 345 def get_changeset_safe(repo, rev):
346 346 from vcs.backends.base import BaseRepository
347 347 from vcs.exceptions import RepositoryError
348 348 if not isinstance(repo, BaseRepository):
349 349 raise Exception('You must pass an Repository '
350 350 'object as first argument got %s', type(repo))
351 351
352 352 try:
353 353 cs = repo.get_changeset(rev)
354 354 except RepositoryError:
355 355 from rhodecode.lib.utils import EmptyChangeset
356 356 cs = EmptyChangeset()
357 357 return cs
358 358
359 359
360 360 def is_following_repo(repo_name, user_id):
361 361 from rhodecode.model.scm import ScmModel
362 362 return ScmModel().is_following_repo(repo_name, user_id)
363 363
364 364 flash = _Flash()
365 365
366 366
367 367 #==============================================================================
368 368 # MERCURIAL FILTERS available via h.
369 369 #==============================================================================
370 370 from mercurial import util
371 371 from mercurial.templatefilters import person as _person
372 372
373 373 def _age(curdate):
374 374 """turns a datetime into an age string."""
375 375
376 376 if not curdate:
377 377 return ''
378 378
379 379 from datetime import timedelta, datetime
380 380
381 381 agescales = [("year", 3600 * 24 * 365),
382 382 ("month", 3600 * 24 * 30),
383 383 ("day", 3600 * 24),
384 384 ("hour", 3600),
385 385 ("minute", 60),
386 386 ("second", 1), ]
387 387
388 388 age = datetime.now() - curdate
389 389 age_seconds = (age.days * agescales[2][1]) + age.seconds
390 390 pos = 1
391 391 for scale in agescales:
392 392 if scale[1] <= age_seconds:
393 393 if pos == 6:pos = 5
394 394 return time_ago_in_words(curdate, agescales[pos][0]) + ' ' + _('ago')
395 395 pos += 1
396 396
397 397 return _('just now')
398 398
399 399 age = lambda x:_age(x)
400 400 capitalize = lambda x: x.capitalize()
401 401 email = util.email
402 402 email_or_none = lambda x: util.email(x) if util.email(x) != x else None
403 403 person = lambda x: _person(x)
404 404 short_id = lambda x: x[:12]
405 405
406 406
407 407 def bool2icon(value):
408 408 """Returns True/False values represented as small html image of true/false
409 409 icons
410 410
411 411 :param value: bool value
412 412 """
413 413
414 414 if value is True:
415 415 return HTML.tag('img', src=url("/images/icons/accept.png"),
416 416 alt=_('True'))
417 417
418 418 if value is False:
419 419 return HTML.tag('img', src=url("/images/icons/cancel.png"),
420 420 alt=_('False'))
421 421
422 422 return value
423 423
424 424
425 425 def action_parser(user_log):
426 426 """This helper will map the specified string action into translated
427 427 fancy names with icons and links
428 428
429 429 :param user_log: user log instance
430 430 """
431 431
432 432 action = user_log.action
433 433 action_params = ' '
434 434
435 435 x = action.split(':')
436 436
437 437 if len(x) > 1:
438 438 action, action_params = x
439 439
440 440 def get_cs_links():
441 441 revs_limit = 5 #display this amount always
442 442 revs_top_limit = 50 #show upto this amount of changesets hidden
443 443 revs = action_params.split(',')
444 444 repo_name = user_log.repository.repo_name
445 445
446 446 from rhodecode.model.scm import ScmModel
447 447 repo, dbrepo = ScmModel().get(repo_name, retval='repo',
448 448 invalidation_list=[])
449 449
450 450 message = lambda rev: get_changeset_safe(repo, rev).message
451 451
452 452 cs_links = " " + ', '.join ([link_to(rev,
453 453 url('changeset_home',
454 454 repo_name=repo_name,
455 455 revision=rev), title=tooltip(message(rev)),
456 456 class_='tooltip') for rev in revs[:revs_limit] ])
457 457
458 458 compare_view = (' <div class="compare_view tooltip" title="%s">'
459 459 '<a href="%s">%s</a> '
460 460 '</div>' % (_('Show all combined changesets %s->%s' \
461 461 % (revs[0], revs[-1])),
462 462 url('changeset_home', repo_name=repo_name,
463 463 revision='%s...%s' % (revs[0], revs[-1])
464 464 ),
465 465 _('compare view'))
466 466 )
467 467
468 468 if len(revs) > revs_limit:
469 469 uniq_id = revs[0]
470 470 html_tmpl = ('<span> %s '
471 471 '<a class="show_more" id="_%s" href="#more">%s</a> '
472 472 '%s</span>')
473 473 cs_links += html_tmpl % (_('and'), uniq_id, _('%s more') \
474 474 % (len(revs) - revs_limit),
475 475 _('revisions'))
476 476
477 477 html_tmpl = '<span id="%s" style="display:none"> %s </span>'
478 478 cs_links += html_tmpl % (uniq_id, ', '.join([link_to(rev,
479 479 url('changeset_home',
480 480 repo_name=repo_name, revision=rev),
481 481 title=message(rev), class_='tooltip')
482 482 for rev in revs[revs_limit:revs_top_limit]]))
483 cs_links += _(' into')
484 483 if len(revs) > 1:
485 484 cs_links += compare_view
486 485 return cs_links
487 486
488 487 def get_fork_name():
489 488 repo_name = action_params
490 489 return str(link_to(action_params, url('summary_home',
491 490 repo_name=repo_name,)))
492 491
493 492 map = {'user_deleted_repo':(_('[deleted] repository'), None),
494 493 'user_created_repo':(_('[created] repository'), None),
495 494 'user_forked_repo':(_('[forked] repository as:'), get_fork_name),
496 495 'user_updated_repo':(_('[updated] repository'), None),
497 496 'admin_deleted_repo':(_('[delete] repository'), None),
498 497 'admin_created_repo':(_('[created] repository'), None),
499 498 'admin_forked_repo':(_('[forked] repository'), None),
500 499 'admin_updated_repo':(_('[updated] repository'), None),
501 'push':(_('[pushed]'), get_cs_links),
502 'pull':(_('[pulled]'), None),
500 'push':(_('[pushed] into'), get_cs_links),
501 'pull':(_('[pulled] into'), None),
503 502 'started_following_repo':(_('[started following] repository'), None),
504 503 'stopped_following_repo':(_('[stopped following] repository'), None),
505 504 }
506 505
507 506 action_str = map.get(action, action)
508 507 action = action_str[0].replace('[', '<span class="journal_highlight">')\
509 508 .replace(']', '</span>')
509 action_params_func = lambda :""
510
510 511 if action_str[1] is not None:
511 action = action + " " + action_str[1]()
512 action_params_func = action_str[1]
512 513
513 return literal(action)
514 return [literal(action), action_params_func]
514 515
515 516 def action_parser_icon(user_log):
516 517 action = user_log.action
517 518 action_params = None
518 519 x = action.split(':')
519 520
520 521 if len(x) > 1:
521 522 action, action_params = x
522 523
523 524 tmpl = """<img src="%s/%s" alt="%s"/>"""
524 525 map = {'user_deleted_repo':'database_delete.png',
525 526 'user_created_repo':'database_add.png',
526 527 'user_forked_repo':'arrow_divide.png',
527 528 'user_updated_repo':'database_edit.png',
528 529 'admin_deleted_repo':'database_delete.png',
529 530 'admin_created_repo':'database_add.png',
530 531 'admin_forked_repo':'arrow_divide.png',
531 532 'admin_updated_repo':'database_edit.png',
532 533 'push':'script_add.png',
533 534 'pull':'down_16.png',
534 535 'started_following_repo':'heart_add.png',
535 536 'stopped_following_repo':'heart_delete.png',
536 537 }
537 538 return literal(tmpl % ((url('/images/icons/')),
538 539 map.get(action, action), action))
539 540
540 541
541 542 #==============================================================================
542 543 # PERMS
543 544 #==============================================================================
544 545 from rhodecode.lib.auth import HasPermissionAny, HasPermissionAll, \
545 546 HasRepoPermissionAny, HasRepoPermissionAll
546 547
547 548 #==============================================================================
548 549 # GRAVATAR URL
549 550 #==============================================================================
550 551 import hashlib
551 552 import urllib
552 553 from pylons import request
553 554
554 555 def gravatar_url(email_address, size=30):
555 556 ssl_enabled = 'https' == request.environ.get('wsgi.url_scheme')
556 557 default = 'identicon'
557 558 baseurl_nossl = "http://www.gravatar.com/avatar/"
558 559 baseurl_ssl = "https://secure.gravatar.com/avatar/"
559 560 baseurl = baseurl_ssl if ssl_enabled else baseurl_nossl
560 561
561 562
562 563 # construct the url
563 564 gravatar_url = baseurl + hashlib.md5(email_address.lower()).hexdigest() + "?"
564 565 gravatar_url += urllib.urlencode({'d':default, 's':str(size)})
565 566
566 567 return gravatar_url
567 568
568 569 def safe_unicode(str):
569 570 """safe unicode function. In case of UnicodeDecode error we try to return
570 571 unicode with errors replace, if this failes we return unicode with
571 572 string_escape decoding """
572 573
573 574 try:
574 575 u_str = unicode(str)
575 576 except UnicodeDecodeError:
576 577 try:
577 578 u_str = unicode(str, 'utf-8', 'replace')
578 579 except UnicodeDecodeError:
579 580 #incase we have a decode error just represent as byte string
580 581 u_str = unicode(str(str).encode('string_escape'))
581 582
582 583 return u_str
583 584
584 585 def changed_tooltip(nodes):
585 586 if nodes:
586 587 pref = ': <br/> '
587 588 suf = ''
588 589 if len(nodes) > 30:
589 590 suf = '<br/>' + _(' and %s more') % (len(nodes) - 30)
590 591 return literal(pref + '<br/> '.join([x.path for x in nodes[:30]]) + suf)
591 592 else:
592 593 return ': ' + _('No Files')
@@ -1,2481 +1,2494 b''
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.options {
143 143 clear:both;
144 144 overflow:hidden;
145 145 position:absolute;
146 146 background:#FFF;
147 147 margin:7px 0 0 162px;
148 148 padding:0;
149 149 }
150 150
151 151 div.options a {
152 152 height:1%;
153 153 display:block;
154 154 text-decoration:none;
155 155 margin:0;
156 156 padding:3px 8px;
157 157 }
158 158
159 159 .top-left-rounded-corner {
160 160 -webkit-border-top-left-radius: 8px;
161 161 -khtml-border-radius-topleft: 8px;
162 162 -moz-border-radius-topleft: 8px;
163 163 border-top-left-radius: 8px;
164 164 }
165 165
166 166 .top-right-rounded-corner {
167 167 -webkit-border-top-right-radius: 8px;
168 168 -khtml-border-radius-topright: 8px;
169 169 -moz-border-radius-topright: 8px;
170 170 border-top-right-radius: 8px;
171 171 }
172 172
173 173 .bottom-left-rounded-corner {
174 174 -webkit-border-bottom-left-radius: 8px;
175 175 -khtml-border-radius-bottomleft: 8px;
176 176 -moz-border-radius-bottomleft: 8px;
177 177 border-bottom-left-radius: 8px;
178 178 }
179 179
180 180 .bottom-right-rounded-corner {
181 181 -webkit-border-bottom-right-radius: 8px;
182 182 -khtml-border-radius-bottomright: 8px;
183 183 -moz-border-radius-bottomright: 8px;
184 184 border-bottom-right-radius: 8px;
185 185 }
186 186
187 187
188 188 #header {
189 189 margin:0;
190 190 padding:0 30px;
191 191 }
192 192
193 193
194 194 #header ul#logged-user{
195 195 margin-bottom:5px !important;
196 196 -webkit-border-radius: 0px 0px 8px 8px;
197 197 -khtml-border-radius: 0px 0px 8px 8px;
198 198 -moz-border-radius: 0px 0px 8px 8px;
199 199 border-radius: 0px 0px 8px 8px;
200 200 height:37px;
201 201 background:url("../images/header_inner.png") repeat-x scroll 0 0 #003367
202 202 }
203 203
204 204 #header ul#logged-user li {
205 205 list-style:none;
206 206 float:left;
207 207 margin:8px 0 0;
208 208 padding:4px 12px;
209 209 border-left: 1px solid #316293;
210 210 }
211 211
212 212 #header ul#logged-user li.first {
213 213 border-left:none;
214 214 margin:4px;
215 215 }
216 216
217 217 #header ul#logged-user li.first div.gravatar {
218 218 margin-top:-2px;
219 219 }
220 220
221 221 #header ul#logged-user li.first div.account {
222 222 padding-top:4px;
223 223 float:left;
224 224 }
225 225
226 226 #header ul#logged-user li.last {
227 227 border-right:none;
228 228 }
229 229
230 230 #header ul#logged-user li a {
231 231 color:#fff;
232 232 font-weight:700;
233 233 text-decoration:none;
234 234 }
235 235
236 236 #header ul#logged-user li a:hover {
237 237 text-decoration:underline;
238 238 }
239 239
240 240 #header ul#logged-user li.highlight a {
241 241 color:#fff;
242 242 }
243 243
244 244 #header ul#logged-user li.highlight a:hover {
245 245 color:#FFF;
246 246 }
247 247
248 248 #header #header-inner {
249 249 height:40px;
250 250 clear:both;
251 251 position:relative;
252 252 background:#003367 url("../images/header_inner.png") repeat-x;
253 253 border-bottom:2px solid #fff;
254 254 margin:0;
255 255 padding:0;
256 256 }
257 257
258 258 #header #header-inner #home a {
259 259 height:40px;
260 260 width:46px;
261 261 display:block;
262 262 background:url("../images/button_home.png");
263 263 background-position:0 0;
264 264 margin:0;
265 265 padding:0;
266 266 }
267 267
268 268 #header #header-inner #home a:hover {
269 269 background-position:0 -40px;
270 270 }
271 271
272 272 #header #header-inner #logo h1 {
273 273 color:#FFF;
274 274 font-size:18px;
275 275 margin:10px 0 0 13px;
276 276 padding:0;
277 277 }
278 278
279 279 #header #header-inner #logo a {
280 280 color:#fff;
281 281 text-decoration:none;
282 282 }
283 283
284 284 #header #header-inner #logo a:hover {
285 285 color:#bfe3ff;
286 286 }
287 287
288 288 #header #header-inner #quick,#header #header-inner #quick ul {
289 289 position:relative;
290 290 float:right;
291 291 list-style-type:none;
292 292 list-style-position:outside;
293 293 margin:10px 5px 0 0;
294 294 padding:0;
295 295 }
296 296
297 297 #header #header-inner #quick li {
298 298 position:relative;
299 299 float:left;
300 300 margin:0 5px 0 0;
301 301 padding:0;
302 302 }
303 303
304 304 #header #header-inner #quick li a {
305 305 top:0;
306 306 left:0;
307 307 height:1%;
308 308 display:block;
309 309 clear:both;
310 310 overflow:hidden;
311 311 color:#FFF;
312 312 font-weight:700;
313 313 text-decoration:none;
314 314 background:#369 url("../images/quick_l.png") no-repeat top left;
315 315 padding:0;
316 316 }
317 317
318 318 #header #header-inner #quick li span.short {
319 319 padding:9px 6px 8px 6px;
320 320 }
321 321
322 322 #header #header-inner #quick li span {
323 323 top:0;
324 324 right:0;
325 325 height:1%;
326 326 display:block;
327 327 float:left;
328 328 background:url("../images/quick_r.png") no-repeat top right;
329 329 border-left:1px solid #3f6f9f;
330 330 margin:0;
331 331 padding:10px 12px 8px 10px;
332 332 }
333 333
334 334 #header #header-inner #quick li span.normal {
335 335 border:none;
336 336 padding:10px 12px 8px;
337 337 }
338 338
339 339 #header #header-inner #quick li span.icon {
340 340 top:0;
341 341 left:0;
342 342 border-left:none;
343 343 background:url("../images/quick_l.png") no-repeat top left;
344 344 border-right:1px solid #2e5c89;
345 345 padding:8px 8px 4px;
346 346 }
347 347
348 348 #header #header-inner #quick li span.icon_short {
349 349 top:0;
350 350 left:0;
351 351 border-left:none;
352 352 background:url("../images/quick_l.png") no-repeat top left;
353 353 border-right:1px solid #2e5c89;
354 354 padding:9px 4px 4px;
355 355 }
356 356
357 357 #header #header-inner #quick li a:hover {
358 358 background:#4e4e4e url("../images/quick_l_selected.png") no-repeat top left;
359 359 }
360 360
361 361 #header #header-inner #quick li a:hover span {
362 362 border-left:1px solid #545454;
363 363 background:url("../images/quick_r_selected.png") no-repeat top right;
364 364 }
365 365
366 366 #header #header-inner #quick li a:hover span.icon,#header #header-inner #quick li a:hover span.icon_short {
367 367 border-left:none;
368 368 border-right:1px solid #464646;
369 369 background:url("../images/quick_l_selected.png") no-repeat top left;
370 370 }
371 371
372 372
373 373 #header #header-inner #quick ul {
374 374 top:29px;
375 375 right:0;
376 376 min-width:200px;
377 377 display:none;
378 378 position:absolute;
379 379 background:#FFF;
380 380 border:1px solid #666;
381 381 border-top:1px solid #003367;
382 382 z-index:100;
383 383 margin:0;
384 384 padding:0;
385 385 }
386 386
387 387 #header #header-inner #quick ul.repo_switcher {
388 388 max-height:275px;
389 389 overflow-x:hidden;
390 390 overflow-y:auto;
391 391 }
392 392
393 393 #header #header-inner #quick .repo_switcher_type{
394 394 position:absolute;
395 395 left:0;
396 396 top:9px;
397 397
398 398 }
399 399 #header #header-inner #quick li ul li {
400 400 border-bottom:1px solid #ddd;
401 401 }
402 402
403 403 #header #header-inner #quick li ul li a {
404 404 width:182px;
405 405 height:auto;
406 406 display:block;
407 407 float:left;
408 408 background:#FFF;
409 409 color:#003367;
410 410 font-weight:400;
411 411 margin:0;
412 412 padding:7px 9px;
413 413 }
414 414
415 415 #header #header-inner #quick li ul li a:hover {
416 416 color:#000;
417 417 background:#FFF;
418 418 }
419 419
420 420 #header #header-inner #quick ul ul {
421 421 top:auto;
422 422 }
423 423
424 424 #header #header-inner #quick li ul ul {
425 425 right:200px;
426 426 max-height:275px;
427 427 overflow:auto;
428 428 overflow-x:hidden;
429 429 white-space:normal;
430 430 }
431 431
432 432 #header #header-inner #quick li ul li a.journal,#header #header-inner #quick li ul li a.journal:hover {
433 433 background:url("../images/icons/book.png") no-repeat scroll 4px 9px #FFF;
434 434 width:167px;
435 435 margin:0;
436 436 padding:12px 9px 7px 24px;
437 437 }
438 438
439 439 #header #header-inner #quick li ul li a.private_repo,#header #header-inner #quick li ul li a.private_repo:hover {
440 440 background:url("../images/icons/lock.png") no-repeat scroll 4px 9px #FFF;
441 441 min-width:167px;
442 442 margin:0;
443 443 padding:12px 9px 7px 24px;
444 444 }
445 445
446 446 #header #header-inner #quick li ul li a.public_repo,#header #header-inner #quick li ul li a.public_repo:hover {
447 447 background:url("../images/icons/lock_open.png") no-repeat scroll 4px 9px #FFF;
448 448 min-width:167px;
449 449 margin:0;
450 450 padding:12px 9px 7px 24px;
451 451 }
452 452
453 453 #header #header-inner #quick li ul li a.hg,#header #header-inner #quick li ul li a.hg:hover {
454 454 background:url("../images/icons/hgicon.png") no-repeat scroll 4px 9px #FFF;
455 455 min-width:167px;
456 456 margin:0 0 0 14px;
457 457 padding:12px 9px 7px 24px;
458 458 }
459 459
460 460 #header #header-inner #quick li ul li a.git,#header #header-inner #quick li ul li a.git:hover {
461 461 background:url("../images/icons/giticon.png") no-repeat scroll 4px 9px #FFF;
462 462 min-width:167px;
463 463 margin:0 0 0 14px;
464 464 padding:12px 9px 7px 24px;
465 465 }
466 466
467 467 #header #header-inner #quick li ul li a.repos,#header #header-inner #quick li ul li a.repos:hover {
468 468 background:url("../images/icons/database_edit.png") no-repeat scroll 4px 9px #FFF;
469 469 width:167px;
470 470 margin:0;
471 471 padding:12px 9px 7px 24px;
472 472 }
473 473
474 474 #header #header-inner #quick li ul li a.users,#header #header-inner #quick li ul li a.users:hover {
475 475 background:#FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
476 476 width:167px;
477 477 margin:0;
478 478 padding:12px 9px 7px 24px;
479 479 }
480 480
481 481 #header #header-inner #quick li ul li a.groups,#header #header-inner #quick li ul li a.groups:hover {
482 482 background:#FFF url("../images/icons/group_edit.png") no-repeat 4px 9px;
483 483 width:167px;
484 484 margin:0;
485 485 padding:12px 9px 7px 24px;
486 486 }
487 487
488 488 #header #header-inner #quick li ul li a.settings,#header #header-inner #quick li ul li a.settings:hover {
489 489 background:#FFF url("../images/icons/cog.png") no-repeat 4px 9px;
490 490 width:167px;
491 491 margin:0;
492 492 padding:12px 9px 7px 24px;
493 493 }
494 494
495 495 #header #header-inner #quick li ul li a.permissions,#header #header-inner #quick li ul li a.permissions:hover {
496 496 background:#FFF url("../images/icons/key.png") no-repeat 4px 9px;
497 497 width:167px;
498 498 margin:0;
499 499 padding:12px 9px 7px 24px;
500 500 }
501 501
502 502 #header #header-inner #quick li ul li a.ldap,#header #header-inner #quick li ul li a.ldap:hover {
503 503 background:#FFF url("../images/icons/server_key.png") no-repeat 4px 9px;
504 504 width:167px;
505 505 margin:0;
506 506 padding:12px 9px 7px 24px;
507 507 }
508 508
509 509 #header #header-inner #quick li ul li a.fork,#header #header-inner #quick li ul li a.fork:hover {
510 510 background:#FFF url("../images/icons/arrow_divide.png") no-repeat 4px 9px;
511 511 width:167px;
512 512 margin:0;
513 513 padding:12px 9px 7px 24px;
514 514 }
515 515
516 516 #header #header-inner #quick li ul li a.search,#header #header-inner #quick li ul li a.search:hover {
517 517 background:#FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
518 518 width:167px;
519 519 margin:0;
520 520 padding:12px 9px 7px 24px;
521 521 }
522 522
523 523 #header #header-inner #quick li ul li a.delete,#header #header-inner #quick li ul li a.delete:hover {
524 524 background:#FFF url("../images/icons/delete.png") no-repeat 4px 9px;
525 525 width:167px;
526 526 margin:0;
527 527 padding:12px 9px 7px 24px;
528 528 }
529 529
530 530 #header #header-inner #quick li ul li a.branches,#header #header-inner #quick li ul li a.branches:hover {
531 531 background:#FFF url("../images/icons/arrow_branch.png") no-repeat 4px 9px;
532 532 width:167px;
533 533 margin:0;
534 534 padding:12px 9px 7px 24px;
535 535 }
536 536
537 537 #header #header-inner #quick li ul li a.tags,#header #header-inner #quick li ul li a.tags:hover {
538 538 background:#FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
539 539 width:167px;
540 540 margin:0;
541 541 padding:12px 9px 7px 24px;
542 542 }
543 543
544 544 #header #header-inner #quick li ul li a.admin,#header #header-inner #quick li ul li a.admin:hover {
545 545 background:#FFF url("../images/icons/cog_edit.png") no-repeat 4px 9px;
546 546 width:167px;
547 547 margin:0;
548 548 padding:12px 9px 7px 24px;
549 549 }
550 550
551 551 #content #left {
552 552 left:0;
553 553 width:280px;
554 554 position:absolute;
555 555 }
556 556
557 557 #content #right {
558 558 margin:0 60px 10px 290px;
559 559 }
560 560
561 561 #content div.box {
562 562 clear:both;
563 563 overflow:hidden;
564 564 background:#fff;
565 565 margin:0 0 10px;
566 566 padding:0 0 10px;
567 567 }
568 568
569 569 #content div.box-left {
570 570 width:49%;
571 571 clear:none;
572 572 float:left;
573 573 margin:0 0 10px;
574 574 }
575 575
576 576 #content div.box-right {
577 577 width:49%;
578 578 clear:none;
579 579 float:right;
580 580 margin:0 0 10px;
581 581 }
582 582
583 583 #content div.box div.title {
584 584 clear:both;
585 585 overflow:hidden;
586 586 background:#369 url("../images/header_inner.png") repeat-x;
587 587 margin:0 0 20px;
588 588 padding:0;
589 589 }
590 590
591 591 #content div.box div.title h5 {
592 592 float:left;
593 593 border:none;
594 594 color:#fff;
595 595 text-transform:uppercase;
596 596 margin:0;
597 597 padding:11px 0 11px 10px;
598 598 }
599 599
600 600 #content div.box div.title ul.links li {
601 601 list-style:none;
602 602 float:left;
603 603 margin:0;
604 604 padding:0;
605 605 }
606 606
607 607 #content div.box div.title ul.links li a {
608 608 height:1%;
609 609 display:block;
610 610 float:left;
611 611 border-left:1px solid #316293;
612 612 color:#fff;
613 613 font-size:11px;
614 614 font-weight:700;
615 615 text-decoration:none;
616 616 margin:0;
617 617 padding:13px 16px 12px;
618 618 }
619 619
620 620 #content div.box h1,#content div.box h2,#content div.box h3,#content div.box h4,#content div.box h5,#content div.box h6 {
621 621 clear:both;
622 622 overflow:hidden;
623 623 border-bottom:1px solid #DDD;
624 624 margin:10px 20px;
625 625 padding:0 0 15px;
626 626 }
627 627
628 628 #content div.box p {
629 629 color:#5f5f5f;
630 630 font-size:12px;
631 631 line-height:150%;
632 632 margin:0 24px 10px;
633 633 padding:0;
634 634 }
635 635
636 636 #content div.box blockquote {
637 637 border-left:4px solid #DDD;
638 638 color:#5f5f5f;
639 639 font-size:11px;
640 640 line-height:150%;
641 641 margin:0 34px;
642 642 padding:0 0 0 14px;
643 643 }
644 644
645 645 #content div.box blockquote p {
646 646 margin:10px 0;
647 647 padding:0;
648 648 }
649 649
650 650 #content div.box dl {
651 651 margin:10px 24px;
652 652 }
653 653
654 654 #content div.box dt {
655 655 font-size:12px;
656 656 margin:0;
657 657 }
658 658
659 659 #content div.box dd {
660 660 font-size:12px;
661 661 margin:0;
662 662 padding:8px 0 8px 15px;
663 663 }
664 664
665 665 #content div.box li {
666 666 font-size:12px;
667 667 padding:4px 0;
668 668 }
669 669
670 670 #content div.box ul.disc,#content div.box ul.circle {
671 671 margin:10px 24px 10px 38px;
672 672 }
673 673
674 674 #content div.box ul.square {
675 675 margin:10px 24px 10px 40px;
676 676 }
677 677
678 678 #content div.box img.left {
679 679 border:none;
680 680 float:left;
681 681 margin:10px 10px 10px 0;
682 682 }
683 683
684 684 #content div.box img.right {
685 685 border:none;
686 686 float:right;
687 687 margin:10px 0 10px 10px;
688 688 }
689 689
690 690 #content div.box div.messages {
691 691 clear:both;
692 692 overflow:hidden;
693 693 margin:0 20px;
694 694 padding:0;
695 695 }
696 696
697 697 #content div.box div.message {
698 698 clear:both;
699 699 overflow:hidden;
700 700 margin:0;
701 701 padding:10px 0;
702 702 }
703 703
704 704 #content div.box div.message a {
705 705 font-weight:400 !important;
706 706 }
707 707
708 708 #content div.box div.message div.image {
709 709 float:left;
710 710 margin:9px 0 0 5px;
711 711 padding:6px;
712 712 }
713 713
714 714 #content div.box div.message div.image img {
715 715 vertical-align:middle;
716 716 margin:0;
717 717 }
718 718
719 719 #content div.box div.message div.text {
720 720 float:left;
721 721 margin:0;
722 722 padding:9px 6px;
723 723 }
724 724
725 725 #content div.box div.message div.dismiss a {
726 726 height:16px;
727 727 width:16px;
728 728 display:block;
729 729 background:url("../images/icons/cross.png") no-repeat;
730 730 margin:15px 14px 0 0;
731 731 padding:0;
732 732 }
733 733
734 734 #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 {
735 735 border:none;
736 736 margin:0;
737 737 padding:0;
738 738 }
739 739
740 740 #content div.box div.message div.text span {
741 741 height:1%;
742 742 display:block;
743 743 margin:0;
744 744 padding:5px 0 0;
745 745 }
746 746
747 747 #content div.box div.message-error {
748 748 height:1%;
749 749 clear:both;
750 750 overflow:hidden;
751 751 background:#FBE3E4;
752 752 border:1px solid #FBC2C4;
753 753 color:#860006;
754 754 }
755 755
756 756 #content div.box div.message-error h6 {
757 757 color:#860006;
758 758 }
759 759
760 760 #content div.box div.message-warning {
761 761 height:1%;
762 762 clear:both;
763 763 overflow:hidden;
764 764 background:#FFF6BF;
765 765 border:1px solid #FFD324;
766 766 color:#5f5200;
767 767 }
768 768
769 769 #content div.box div.message-warning h6 {
770 770 color:#5f5200;
771 771 }
772 772
773 773 #content div.box div.message-notice {
774 774 height:1%;
775 775 clear:both;
776 776 overflow:hidden;
777 777 background:#8FBDE0;
778 778 border:1px solid #6BACDE;
779 779 color:#003863;
780 780 }
781 781
782 782 #content div.box div.message-notice h6 {
783 783 color:#003863;
784 784 }
785 785
786 786 #content div.box div.message-success {
787 787 height:1%;
788 788 clear:both;
789 789 overflow:hidden;
790 790 background:#E6EFC2;
791 791 border:1px solid #C6D880;
792 792 color:#4e6100;
793 793 }
794 794
795 795 #content div.box div.message-success h6 {
796 796 color:#4e6100;
797 797 }
798 798
799 799 #content div.box div.form div.fields div.field {
800 800 height:1%;
801 801 border-bottom:1px solid #DDD;
802 802 clear:both;
803 803 margin:0;
804 804 padding:10px 0;
805 805 }
806 806
807 807 #content div.box div.form div.fields div.field-first {
808 808 padding:0 0 10px;
809 809 }
810 810
811 811 #content div.box div.form div.fields div.field-noborder {
812 812 border-bottom:0 !important;
813 813 }
814 814
815 815 #content div.box div.form div.fields div.field span.error-message {
816 816 height:1%;
817 817 display:inline-block;
818 818 color:red;
819 819 margin:8px 0 0 4px;
820 820 padding:0;
821 821 }
822 822
823 823 #content div.box div.form div.fields div.field span.success {
824 824 height:1%;
825 825 display:block;
826 826 color:#316309;
827 827 margin:8px 0 0;
828 828 padding:0;
829 829 }
830 830
831 831 #content div.box div.form div.fields div.field div.label {
832 832 left:80px;
833 833 width:auto;
834 834 position:absolute;
835 835 margin:0;
836 836 padding:8px 0 0 5px;
837 837 }
838 838
839 839 #content div.box-left div.form div.fields div.field div.label,#content div.box-right div.form div.fields div.field div.label {
840 840 clear:both;
841 841 overflow:hidden;
842 842 left:0;
843 843 width:auto;
844 844 position:relative;
845 845 margin:0;
846 846 padding:0 0 8px;
847 847 }
848 848
849 849 #content div.box div.form div.fields div.field div.label-select {
850 850 padding:5px 0 0 5px;
851 851 }
852 852
853 853 #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 {
854 854 padding:0 0 8px;
855 855 }
856 856
857 857 #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 {
858 858 padding:0 0 8px !important;
859 859 }
860 860
861 861 #content div.box div.form div.fields div.field div.label label {
862 862 color:#393939;
863 863 font-weight:700;
864 864 }
865 865
866 866 #content div.box div.form div.fields div.field div.input {
867 867 margin:0 0 0 200px;
868 868 }
869 869 #content div.box-left div.form div.fields div.field div.input,#content div.box-right div.form div.fields div.field div.input {
870 870 margin:0 0 0 0px;
871 871 }
872 872
873 873 #content div.box div.form div.fields div.field div.input input {
874 874 background:#FFF;
875 875 border-top:1px solid #b3b3b3;
876 876 border-left:1px solid #b3b3b3;
877 877 border-right:1px solid #eaeaea;
878 878 border-bottom:1px solid #eaeaea;
879 879 color:#000;
880 880 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
881 881 font-size:11px;
882 882 margin:0;
883 883 padding:7px 7px 6px;
884 884 }
885 885
886 886
887 887
888 888 #content div.box div.form div.fields div.field div.input input.small {
889 889 width:30%;
890 890 }
891 891
892 892 #content div.box div.form div.fields div.field div.input input.medium {
893 893 width:55%;
894 894 }
895 895
896 896 #content div.box div.form div.fields div.field div.input input.large {
897 897 width:85%;
898 898 }
899 899
900 900 #content div.box div.form div.fields div.field div.input input.date {
901 901 width:177px;
902 902 }
903 903
904 904 #content div.box div.form div.fields div.field div.input input.button {
905 905 background:#D4D0C8;
906 906 border-top:1px solid #FFF;
907 907 border-left:1px solid #FFF;
908 908 border-right:1px solid #404040;
909 909 border-bottom:1px solid #404040;
910 910 color:#000;
911 911 margin:0;
912 912 padding:4px 8px;
913 913 }
914 914
915 915 #content div.box div.form div.fields div.field div.textarea {
916 916 border-top:1px solid #b3b3b3;
917 917 border-left:1px solid #b3b3b3;
918 918 border-right:1px solid #eaeaea;
919 919 border-bottom:1px solid #eaeaea;
920 920 margin:0 0 0 200px;
921 921 padding:10px;
922 922 }
923 923
924 924 #content div.box div.form div.fields div.field div.textarea-editor {
925 925 border:1px solid #ddd;
926 926 padding:0;
927 927 }
928 928
929 929 #content div.box div.form div.fields div.field div.textarea textarea {
930 930 width:100%;
931 931 height:220px;
932 932 overflow:hidden;
933 933 background:#FFF;
934 934 color:#000;
935 935 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
936 936 font-size:11px;
937 937 outline:none;
938 938 border-width:0;
939 939 margin:0;
940 940 padding:0;
941 941 }
942 942
943 943 #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 {
944 944 width:100%;
945 945 height:100px;
946 946 }
947 947
948 948 #content div.box div.form div.fields div.field div.textarea table {
949 949 width:100%;
950 950 border:none;
951 951 margin:0;
952 952 padding:0;
953 953 }
954 954
955 955 #content div.box div.form div.fields div.field div.textarea table td {
956 956 background:#DDD;
957 957 border:none;
958 958 padding:0;
959 959 }
960 960
961 961 #content div.box div.form div.fields div.field div.textarea table td table {
962 962 width:auto;
963 963 border:none;
964 964 margin:0;
965 965 padding:0;
966 966 }
967 967
968 968 #content div.box div.form div.fields div.field div.textarea table td table td {
969 969 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
970 970 font-size:11px;
971 971 padding:5px 5px 5px 0;
972 972 }
973 973
974 974 #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 {
975 975 background:#f6f6f6;
976 976 border-color:#666;
977 977 }
978 978
979 979 div.form div.fields div.field div.button {
980 980 margin:0;
981 981 padding:0 0 0 8px;
982 982 }
983 983
984 984 div.form div.fields div.field div.highlight .ui-button {
985 985 background:#4e85bb url("../images/button_highlight.png") repeat-x;
986 986 border-top:1px solid #5c91a4;
987 987 border-left:1px solid #2a6f89;
988 988 border-right:1px solid #2b7089;
989 989 border-bottom:1px solid #1a6480;
990 990 color:#FFF;
991 991 margin:0;
992 992 padding:6px 12px;
993 993 }
994 994
995 995 div.form div.fields div.field div.highlight .ui-state-hover {
996 996 background:#46a0c1 url("../images/button_highlight_selected.png") repeat-x;
997 997 border-top:1px solid #78acbf;
998 998 border-left:1px solid #34819e;
999 999 border-right:1px solid #35829f;
1000 1000 border-bottom:1px solid #257897;
1001 1001 color:#FFF;
1002 1002 margin:0;
1003 1003 padding:6px 12px;
1004 1004 }
1005 1005
1006 1006 #content div.box div.form div.fields div.buttons div.highlight input.ui-button {
1007 1007 background:#4e85bb url("../images/button_highlight.png") repeat-x;
1008 1008 border-top:1px solid #5c91a4;
1009 1009 border-left:1px solid #2a6f89;
1010 1010 border-right:1px solid #2b7089;
1011 1011 border-bottom:1px solid #1a6480;
1012 1012 color:#fff;
1013 1013 margin:0;
1014 1014 padding:6px 12px;
1015 1015 }
1016 1016
1017 1017 #content div.box div.form div.fields div.buttons div.highlight input.ui-state-hover {
1018 1018 background:#46a0c1 url("../images/button_highlight_selected.png") repeat-x;
1019 1019 border-top:1px solid #78acbf;
1020 1020 border-left:1px solid #34819e;
1021 1021 border-right:1px solid #35829f;
1022 1022 border-bottom:1px solid #257897;
1023 1023 color:#fff;
1024 1024 margin:0;
1025 1025 padding:6px 12px;
1026 1026 }
1027 1027
1028 1028 #content div.box table {
1029 1029 width:100%;
1030 1030 border-collapse:collapse;
1031 1031 margin:0;
1032 1032 padding:0;
1033 1033 }
1034 1034
1035 1035 #content div.box table th {
1036 1036 background:#eee;
1037 1037 border-bottom:1px solid #ddd;
1038 1038 padding:5px 0px 5px 5px;
1039 1039 }
1040 1040
1041 1041 #content div.box table th.left {
1042 1042 text-align:left;
1043 1043 }
1044 1044
1045 1045 #content div.box table th.right {
1046 1046 text-align:right;
1047 1047 }
1048 1048
1049 1049 #content div.box table th.center {
1050 1050 text-align:center;
1051 1051 }
1052 1052
1053 1053 #content div.box table th.selected {
1054 1054 vertical-align:middle;
1055 1055 padding:0;
1056 1056 }
1057 1057
1058 1058 #content div.box table td {
1059 1059 background:#fff;
1060 1060 border-bottom:1px solid #cdcdcd;
1061 1061 vertical-align:middle;
1062 1062 padding:5px;
1063 1063 }
1064 1064
1065 1065 #content div.box table tr.selected td {
1066 1066 background:#FFC;
1067 1067 }
1068 1068
1069 1069 #content div.box table td.selected {
1070 1070 width:3%;
1071 1071 text-align:center;
1072 1072 vertical-align:middle;
1073 1073 padding:0;
1074 1074 }
1075 1075
1076 1076 #content div.box table td.action {
1077 1077 width:45%;
1078 1078 text-align:left;
1079 1079 }
1080 1080
1081 1081 #content div.box table td.date {
1082 1082 width:33%;
1083 1083 text-align:center;
1084 1084 }
1085 1085
1086 1086 #content div.box div.action {
1087 1087 float:right;
1088 1088 background:#FFF;
1089 1089 text-align:right;
1090 1090 margin:10px 0 0;
1091 1091 padding:0;
1092 1092 }
1093 1093
1094 1094 #content div.box div.action select {
1095 1095 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1096 1096 font-size:11px;
1097 1097 margin:0;
1098 1098 }
1099 1099
1100 1100 #content div.box div.action .ui-selectmenu {
1101 1101 margin:0;
1102 1102 padding:0;
1103 1103 }
1104 1104
1105 1105 #content div.box div.pagination {
1106 1106 height:1%;
1107 1107 clear:both;
1108 1108 overflow:hidden;
1109 1109 margin:10px 0 0;
1110 1110 padding:0;
1111 1111 }
1112 1112
1113 1113 #content div.box div.pagination ul.pager {
1114 1114 float:right;
1115 1115 text-align:right;
1116 1116 margin:0;
1117 1117 padding:0;
1118 1118 }
1119 1119
1120 1120 #content div.box div.pagination ul.pager li {
1121 1121 height:1%;
1122 1122 float:left;
1123 1123 list-style:none;
1124 1124 background:#ebebeb url("../images/pager.png") repeat-x;
1125 1125 border-top:1px solid #dedede;
1126 1126 border-left:1px solid #cfcfcf;
1127 1127 border-right:1px solid #c4c4c4;
1128 1128 border-bottom:1px solid #c4c4c4;
1129 1129 color:#4A4A4A;
1130 1130 font-weight:700;
1131 1131 margin:0 0 0 4px;
1132 1132 padding:0;
1133 1133 }
1134 1134
1135 1135 #content div.box div.pagination ul.pager li.separator {
1136 1136 padding:6px;
1137 1137 }
1138 1138
1139 1139 #content div.box div.pagination ul.pager li.current {
1140 1140 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1141 1141 border-top:1px solid #ccc;
1142 1142 border-left:1px solid #bebebe;
1143 1143 border-right:1px solid #b1b1b1;
1144 1144 border-bottom:1px solid #afafaf;
1145 1145 color:#515151;
1146 1146 padding:6px;
1147 1147 }
1148 1148
1149 1149 #content div.box div.pagination ul.pager li a {
1150 1150 height:1%;
1151 1151 display:block;
1152 1152 float:left;
1153 1153 color:#515151;
1154 1154 text-decoration:none;
1155 1155 margin:0;
1156 1156 padding:6px;
1157 1157 }
1158 1158
1159 1159 #content div.box div.pagination ul.pager li a:hover,#content div.box div.pagination ul.pager li a:active {
1160 1160 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1161 1161 border-top:1px solid #ccc;
1162 1162 border-left:1px solid #bebebe;
1163 1163 border-right:1px solid #b1b1b1;
1164 1164 border-bottom:1px solid #afafaf;
1165 1165 margin:-1px;
1166 1166 }
1167 1167
1168 1168 #content div.box div.pagination-wh {
1169 1169 height:1%;
1170 1170 clear:both;
1171 1171 overflow:hidden;
1172 1172 text-align:right;
1173 1173 margin:10px 0 0;
1174 1174 padding:0;
1175 1175 }
1176 1176
1177 1177 #content div.box div.pagination-right {
1178 1178 float:right;
1179 1179 }
1180 1180
1181 1181 #content div.box div.pagination-wh a,#content div.box div.pagination-wh span.pager_dotdot {
1182 1182 height:1%;
1183 1183 float:left;
1184 1184 background:#ebebeb url("../images/pager.png") repeat-x;
1185 1185 border-top:1px solid #dedede;
1186 1186 border-left:1px solid #cfcfcf;
1187 1187 border-right:1px solid #c4c4c4;
1188 1188 border-bottom:1px solid #c4c4c4;
1189 1189 color:#4A4A4A;
1190 1190 font-weight:700;
1191 1191 margin:0 0 0 4px;
1192 1192 padding:6px;
1193 1193 }
1194 1194
1195 1195 #content div.box div.pagination-wh span.pager_curpage {
1196 1196 height:1%;
1197 1197 float:left;
1198 1198 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1199 1199 border-top:1px solid #ccc;
1200 1200 border-left:1px solid #bebebe;
1201 1201 border-right:1px solid #b1b1b1;
1202 1202 border-bottom:1px solid #afafaf;
1203 1203 color:#515151;
1204 1204 font-weight:700;
1205 1205 margin:0 0 0 4px;
1206 1206 padding:6px;
1207 1207 }
1208 1208
1209 1209 #content div.box div.pagination-wh a:hover,#content div.box div.pagination-wh a:active {
1210 1210 background:#b4b4b4 url("../images/pager_selected.png") repeat-x;
1211 1211 border-top:1px solid #ccc;
1212 1212 border-left:1px solid #bebebe;
1213 1213 border-right:1px solid #b1b1b1;
1214 1214 border-bottom:1px solid #afafaf;
1215 1215 text-decoration:none;
1216 1216 }
1217 1217
1218 1218 #content div.box div.traffic div.legend {
1219 1219 clear:both;
1220 1220 overflow:hidden;
1221 1221 border-bottom:1px solid #ddd;
1222 1222 margin:0 0 10px;
1223 1223 padding:0 0 10px;
1224 1224 }
1225 1225
1226 1226 #content div.box div.traffic div.legend h6 {
1227 1227 float:left;
1228 1228 border:none;
1229 1229 margin:0;
1230 1230 padding:0;
1231 1231 }
1232 1232
1233 1233 #content div.box div.traffic div.legend li {
1234 1234 list-style:none;
1235 1235 float:left;
1236 1236 font-size:11px;
1237 1237 margin:0;
1238 1238 padding:0 8px 0 4px;
1239 1239 }
1240 1240
1241 1241 #content div.box div.traffic div.legend li.visits {
1242 1242 border-left:12px solid #edc240;
1243 1243 }
1244 1244
1245 1245 #content div.box div.traffic div.legend li.pageviews {
1246 1246 border-left:12px solid #afd8f8;
1247 1247 }
1248 1248
1249 1249 #content div.box div.traffic table {
1250 1250 width:auto;
1251 1251 }
1252 1252
1253 1253 #content div.box div.traffic table td {
1254 1254 background:transparent;
1255 1255 border:none;
1256 1256 padding:2px 3px 3px;
1257 1257 }
1258 1258
1259 1259 #content div.box div.traffic table td.legendLabel {
1260 1260 padding:0 3px 2px;
1261 1261 }
1262 1262
1263 1263 #footer {
1264 1264 clear:both;
1265 1265 overflow:hidden;
1266 1266 text-align:right;
1267 1267 margin:0;
1268 1268 padding:0 30px 4px;
1269 1269 margin:-10px 0 0;
1270 1270 }
1271 1271
1272 1272 #footer div#footer-inner {
1273 1273 background:url("../images/header_inner.png") repeat-x scroll 0 0 #003367;
1274 1274 border-top:2px solid #FFFFFF;
1275 1275 }
1276 1276
1277 1277 #footer div#footer-inner p {
1278 1278 padding:15px 25px 15px 0;
1279 1279 color:#FFF;
1280 1280 font-weight:700;
1281 1281 }
1282 1282 #footer div#footer-inner .footer-link {
1283 1283 float:left;
1284 1284 padding-left:10px;
1285 1285 }
1286 1286 #footer div#footer-inner .footer-link a {
1287 1287 color:#FFF;
1288 1288 }
1289 1289
1290 1290 #login div.title {
1291 1291 width:420px;
1292 1292 clear:both;
1293 1293 overflow:hidden;
1294 1294 position:relative;
1295 1295 background:#003367 url("../images/header_inner.png") repeat-x;
1296 1296 margin:0 auto;
1297 1297 padding:0;
1298 1298 }
1299 1299
1300 1300 #login div.inner {
1301 1301 width:380px;
1302 1302 background:#FFF url("../images/login.png") no-repeat top left;
1303 1303 border-top:none;
1304 1304 border-bottom:none;
1305 1305 margin:0 auto;
1306 1306 padding:20px;
1307 1307 }
1308 1308
1309 1309 #login div.form div.fields div.field div.label {
1310 1310 width:173px;
1311 1311 float:left;
1312 1312 text-align:right;
1313 1313 margin:2px 10px 0 0;
1314 1314 padding:5px 0 0 5px;
1315 1315 }
1316 1316
1317 1317 #login div.form div.fields div.field div.input input {
1318 1318 width:176px;
1319 1319 background:#FFF;
1320 1320 border-top:1px solid #b3b3b3;
1321 1321 border-left:1px solid #b3b3b3;
1322 1322 border-right:1px solid #eaeaea;
1323 1323 border-bottom:1px solid #eaeaea;
1324 1324 color:#000;
1325 1325 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1326 1326 font-size:11px;
1327 1327 margin:0;
1328 1328 padding:7px 7px 6px;
1329 1329 }
1330 1330
1331 1331 #login div.form div.fields div.buttons {
1332 1332 clear:both;
1333 1333 overflow:hidden;
1334 1334 border-top:1px solid #DDD;
1335 1335 text-align:right;
1336 1336 margin:0;
1337 1337 padding:10px 0 0;
1338 1338 }
1339 1339
1340 1340 #login div.form div.links {
1341 1341 clear:both;
1342 1342 overflow:hidden;
1343 1343 margin:10px 0 0;
1344 1344 padding:0 0 2px;
1345 1345 }
1346 1346
1347 1347 #register div.title {
1348 1348 clear:both;
1349 1349 overflow:hidden;
1350 1350 position:relative;
1351 1351 background:#003367 url("../images/header_inner.png") repeat-x;
1352 1352 margin:0 auto;
1353 1353 padding:0;
1354 1354 }
1355 1355
1356 1356 #register div.inner {
1357 1357 background:#FFF;
1358 1358 border-top:none;
1359 1359 border-bottom:none;
1360 1360 margin:0 auto;
1361 1361 padding:20px;
1362 1362 }
1363 1363
1364 1364 #register div.form div.fields div.field div.label {
1365 1365 width:135px;
1366 1366 float:left;
1367 1367 text-align:right;
1368 1368 margin:2px 10px 0 0;
1369 1369 padding:5px 0 0 5px;
1370 1370 }
1371 1371
1372 1372 #register div.form div.fields div.field div.input input {
1373 1373 width:300px;
1374 1374 background:#FFF;
1375 1375 border-top:1px solid #b3b3b3;
1376 1376 border-left:1px solid #b3b3b3;
1377 1377 border-right:1px solid #eaeaea;
1378 1378 border-bottom:1px solid #eaeaea;
1379 1379 color:#000;
1380 1380 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
1381 1381 font-size:11px;
1382 1382 margin:0;
1383 1383 padding:7px 7px 6px;
1384 1384 }
1385 1385
1386 1386 #register div.form div.fields div.buttons {
1387 1387 clear:both;
1388 1388 overflow:hidden;
1389 1389 border-top:1px solid #DDD;
1390 1390 text-align:left;
1391 1391 margin:0;
1392 1392 padding:10px 0 0 150px;
1393 1393 }
1394 1394
1395 1395 #register div.form div.fields div.buttons div.highlight input.ui-button {
1396 1396 background:url("../images/button_highlight.png") repeat-x scroll 0 0 #4E85BB;
1397 1397 color:#FFF;
1398 1398 border-color:#5C91A4 #2B7089 #1A6480 #2A6F89;
1399 1399 border-style:solid;
1400 1400 border-width:1px;
1401 1401 }
1402 1402
1403 1403 #register div.form div.activation_msg {
1404 1404 padding-top:4px;
1405 1405 padding-bottom:4px;
1406 1406 }
1407 1407
1408 1408 #journal .journal_day{
1409 1409 font-size:20px;
1410 1410 padding:10px 0px;
1411 1411 border-bottom:2px solid #DDD;
1412 1412 margin-left:10px;
1413 1413 margin-right:10px;
1414 1414 }
1415 1415
1416 #journal .journal_container{
1417 padding:5px;
1418 clear:both;
1419 margin:0px 5px 0px 10px;
1420 }
1421
1422 #journal .journal_action_container{
1423 padding-left:38px;
1424 }
1425
1416 1426 #journal .journal_user{
1417 1427 color: #747474;
1418 1428 font-size: 14px;
1419 1429 font-weight: bold;
1420 1430 height: 30px;
1421 1431 }
1422 1432 #journal .journal_icon{
1423 1433 clear: both;
1424 1434 float: left;
1425 padding-left: 36px;
1426 1435 padding-right: 4px;
1427 1436 padding-top: 3px;
1428 1437 }
1429 1438 #journal .journal_action{
1430 1439 padding-top:4px;
1431 1440 min-height:2px;
1432 1441 float:left
1433 1442 }
1443 #journal .journal_action_params{
1444 clear: left;
1445 padding-left: 22px;
1446 }
1434 1447 #journal .journal_repo{
1435 1448 float: left;
1436 1449 margin-left: 6px;
1437 1450 padding-top: 3px;
1438 1451 }
1439 1452 #journal .date{
1440 1453 clear: both;
1441 1454 color: #777777;
1442 1455 font-size: 11px;
1443 padding-left: 56px;
1456 padding-left: 22px;
1444 1457 }
1445 1458 #journal .journal_repo .journal_repo_name{
1446 1459 font-weight: bold;
1447 1460 font-size: 1.1em;
1448 1461 }
1449 1462 #journal .compare_view{
1450 padding: 5px 0px 5px 3px;
1463 padding: 5px 0px 5px 0px;
1451 1464 width: 95px;
1452 1465 }
1453 1466 .journal_highlight{
1454 1467 font-weight: bold;
1455 1468 padding: 0 2px;
1456 1469 vertical-align: bottom;
1457 1470 }
1458 1471 .trending_language_tbl,.trending_language_tbl td {
1459 1472 border:0 !important;
1460 1473 margin:0 !important;
1461 1474 padding:0 !important;
1462 1475 }
1463 1476
1464 1477 .trending_language {
1465 1478 background-color:#003367;
1466 1479 color:#FFF;
1467 1480 display:block;
1468 1481 min-width:20px;
1469 1482 text-decoration:none;
1470 1483 height:12px;
1471 1484 margin-bottom:4px;
1472 1485 margin-left:5px;
1473 1486 white-space:pre;
1474 1487 padding:3px;
1475 1488 }
1476 1489
1477 1490 h3.files_location {
1478 1491 font-size:1.8em;
1479 1492 font-weight:700;
1480 1493 border-bottom:none !important;
1481 1494 margin:10px 0 !important;
1482 1495 }
1483 1496
1484 1497 #files_data dl dt {
1485 1498 float:left;
1486 1499 width:115px;
1487 1500 margin:0 !important;
1488 1501 padding:5px;
1489 1502 }
1490 1503
1491 1504 #files_data dl dd {
1492 1505 margin:0 !important;
1493 1506 padding:5px !important;
1494 1507 }
1495 1508
1496 1509 #changeset_content {
1497 1510 border:1px solid #CCC;
1498 1511 padding:5px;
1499 1512 }
1500 1513 #changeset_compare_view_content{
1501 1514 border:1px solid #CCC;
1502 1515 padding:5px;
1503 1516 }
1504 1517
1505 1518 #changeset_content .container {
1506 1519 min-height:120px;
1507 1520 font-size:1.2em;
1508 1521 overflow:hidden;
1509 1522 }
1510 1523
1511 1524 #changeset_compare_view_content .compare_view_commits{
1512 1525 width: auto !important;
1513 1526 }
1514 1527
1515 1528 #changeset_compare_view_content .compare_view_commits td{
1516 1529 padding:0px 0px 0px 12px !important;
1517 1530 }
1518 1531
1519 1532 #changeset_content .container .right {
1520 1533 float:right;
1521 1534 width:25%;
1522 1535 text-align:right;
1523 1536 }
1524 1537
1525 1538 #changeset_content .container .left .message {
1526 1539 font-style:italic;
1527 1540 color:#556CB5;
1528 1541 white-space:pre-wrap;
1529 1542 }
1530 1543
1531 1544 .cs_files .cur_cs{
1532 1545 margin:10px 2px;
1533 1546 font-weight: bold;
1534 1547 }
1535 1548
1536 1549 .cs_files .cs_added {
1537 1550 background:url("../images/icons/page_white_add.png") no-repeat scroll 3px;
1538 1551 height:16px;
1539 1552 padding-left:20px;
1540 1553 margin-top:7px;
1541 1554 text-align:left;
1542 1555 }
1543 1556
1544 1557 .cs_files .cs_changed {
1545 1558 background:url("../images/icons/page_white_edit.png") no-repeat scroll 3px;
1546 1559 height:16px;
1547 1560 padding-left:20px;
1548 1561 margin-top:7px;
1549 1562 text-align:left;
1550 1563 }
1551 1564
1552 1565 .cs_files .cs_removed {
1553 1566 background:url("../images/icons/page_white_delete.png") no-repeat scroll 3px;
1554 1567 height:16px;
1555 1568 padding-left:20px;
1556 1569 margin-top:7px;
1557 1570 text-align:left;
1558 1571 }
1559 1572
1560 1573 #graph {
1561 1574 overflow:hidden;
1562 1575 }
1563 1576
1564 1577 #graph_nodes {
1565 1578 width:160px;
1566 1579 float:left;
1567 1580 margin-left:-50px;
1568 1581 margin-top:5px;
1569 1582 }
1570 1583
1571 1584 #graph_content {
1572 1585 width:800px;
1573 1586 float:left;
1574 1587 }
1575 1588
1576 1589 #graph_content .container_header {
1577 1590 border:1px solid #CCC;
1578 1591 padding:10px;
1579 1592 }
1580 1593 #graph_content #rev_range_container{
1581 1594 padding:10px 0px;
1582 1595 }
1583 1596 #graph_content .container {
1584 1597 border-bottom:1px solid #CCC;
1585 1598 border-left:1px solid #CCC;
1586 1599 border-right:1px solid #CCC;
1587 1600 min-height:80px;
1588 1601 overflow:hidden;
1589 1602 font-size:1.2em;
1590 1603 }
1591 1604
1592 1605 #graph_content .container .right {
1593 1606 float:right;
1594 1607 width:28%;
1595 1608 text-align:right;
1596 1609 padding-bottom:5px;
1597 1610 }
1598 1611
1599 1612 #graph_content .container .left .date {
1600 1613 font-weight:700;
1601 1614 padding-bottom:5px;
1602 1615 }
1603 1616 #graph_content .container .left .date span{
1604 1617 vertical-align: text-top;
1605 1618 }
1606 1619
1607 1620 #graph_content .container .left .message {
1608 1621 font-size:100%;
1609 1622 padding-top:3px;
1610 1623 white-space:pre-wrap;
1611 1624 }
1612 1625
1613 1626 .right div {
1614 1627 clear:both;
1615 1628 }
1616 1629
1617 1630 .right .changes .added,.changed,.removed {
1618 1631 border:1px solid #DDD;
1619 1632 display:block;
1620 1633 float:right;
1621 1634 text-align:center;
1622 1635 min-width:15px;
1623 1636 cursor: help;
1624 1637 }
1625 1638
1626 1639 .right .changes .added {
1627 1640 background:#BFB;
1628 1641 }
1629 1642
1630 1643 .right .changes .changed {
1631 1644 background:#FD8;
1632 1645 }
1633 1646
1634 1647 .right .changes .removed {
1635 1648 background:#F88;
1636 1649 }
1637 1650
1638 1651 .right .merge {
1639 1652 vertical-align:top;
1640 1653 font-size:0.75em;
1641 1654 font-weight:700;
1642 1655 }
1643 1656
1644 1657 .right .parent {
1645 1658 font-size:90%;
1646 1659 font-family:monospace;
1647 1660 }
1648 1661
1649 1662 .right .logtags .branchtag {
1650 1663 background:#FFF url("../images/icons/arrow_branch.png") no-repeat right 6px;
1651 1664 display:block;
1652 1665 font-size:0.8em;
1653 1666 padding:11px 16px 0 0;
1654 1667 }
1655 1668
1656 1669 .right .logtags .tagtag {
1657 1670 background:#FFF url("../images/icons/tag_blue.png") no-repeat right 6px;
1658 1671 display:block;
1659 1672 font-size:0.8em;
1660 1673 padding:11px 16px 0 0;
1661 1674 }
1662 1675
1663 1676 div.browserblock {
1664 1677 overflow:hidden;
1665 1678 border:1px solid #ccc;
1666 1679 background:#f8f8f8;
1667 1680 font-size:100%;
1668 1681 line-height:125%;
1669 1682 padding:0;
1670 1683 }
1671 1684
1672 1685 div.browserblock .browser-header {
1673 1686 background:#FFF;
1674 1687 padding:10px 0px 35px 0px;
1675 1688 width: 100%;
1676 1689 }
1677 1690 div.browserblock .browser-nav {
1678 1691 float:left
1679 1692 }
1680 1693
1681 1694 div.browserblock .browser-branch {
1682 1695 padding:10px 0 0 0;
1683 1696 float:left;
1684 1697 }
1685 1698 div.browserblock .browser-branch label {
1686 1699 color:#4A4A4A;
1687 1700 vertical-align:text-top;
1688 1701 }
1689 1702
1690 1703 div.browserblock .browser-header span {
1691 1704 margin-left:25px;
1692 1705 font-weight:700;
1693 1706 }
1694 1707
1695 1708 div.browserblock .browser-body {
1696 1709 background:#EEE;
1697 1710 border-top:1px solid #CCC;
1698 1711 }
1699 1712
1700 1713 table.code-browser {
1701 1714 border-collapse:collapse;
1702 1715 width:100%;
1703 1716 }
1704 1717
1705 1718 table.code-browser tr {
1706 1719 margin:3px;
1707 1720 }
1708 1721
1709 1722 table.code-browser thead th {
1710 1723 background-color:#EEE;
1711 1724 height:20px;
1712 1725 font-size:1.1em;
1713 1726 font-weight:700;
1714 1727 text-align:left;
1715 1728 padding-left:10px;
1716 1729 }
1717 1730
1718 1731 table.code-browser tbody td {
1719 1732 padding-left:10px;
1720 1733 height:20px;
1721 1734 }
1722 1735
1723 1736 table.code-browser .browser-file {
1724 1737 background:url("../images/icons/document_16.png") no-repeat scroll 3px;
1725 1738 height:16px;
1726 1739 padding-left:20px;
1727 1740 text-align:left;
1728 1741 }
1729 1742 .diffblock .changeset_file{
1730 1743 background:url("../images/icons/file.png") no-repeat scroll 3px;
1731 1744 height:16px;
1732 1745 padding-left:22px;
1733 1746 text-align:left;
1734 1747 font-size: 14px;
1735 1748 }
1736 1749
1737 1750 .diffblock .changeset_header{
1738 1751 margin-left: 6px !important;
1739 1752 }
1740 1753
1741 1754 table.code-browser .browser-dir {
1742 1755 background:url("../images/icons/folder_16.png") no-repeat scroll 3px;
1743 1756 height:16px;
1744 1757 padding-left:20px;
1745 1758 text-align:left;
1746 1759 }
1747 1760
1748 1761 .box .search {
1749 1762 clear:both;
1750 1763 overflow:hidden;
1751 1764 margin:0;
1752 1765 padding:0 20px 10px;
1753 1766 }
1754 1767
1755 1768 .box .search div.search_path {
1756 1769 background:none repeat scroll 0 0 #EEE;
1757 1770 border:1px solid #CCC;
1758 1771 color:blue;
1759 1772 margin-bottom:10px;
1760 1773 padding:10px 0;
1761 1774 }
1762 1775
1763 1776 .box .search div.search_path div.link {
1764 1777 font-weight:700;
1765 1778 margin-left:25px;
1766 1779 }
1767 1780
1768 1781 .box .search div.search_path div.link a {
1769 1782 color:#003367;
1770 1783 cursor:pointer;
1771 1784 text-decoration:none;
1772 1785 }
1773 1786
1774 1787 #path_unlock {
1775 1788 color:red;
1776 1789 font-size:1.2em;
1777 1790 padding-left:4px;
1778 1791 }
1779 1792
1780 1793 .info_box * {
1781 1794 background:url("../images/pager.png") repeat-x scroll 0 0 #EBEBEB;
1782 1795 color:#4A4A4A;
1783 1796 font-weight:700;
1784 1797 height:1%;
1785 1798 display:inline;
1786 1799 border-color:#DEDEDE #C4C4C4 #C4C4C4 #CFCFCF;
1787 1800 border-style:solid;
1788 1801 border-width:1px;
1789 1802 padding:4px 6px;
1790 1803 }
1791 1804
1792 1805 .info_box span {
1793 1806 margin-left:3px;
1794 1807 margin-right:3px;
1795 1808 }
1796 1809
1797 1810 .info_box input#at_rev {
1798 1811 text-align:center;
1799 1812 padding:5px 3px 3px 2px;
1800 1813 }
1801 1814
1802 1815 .info_box input#view {
1803 1816 text-align:center;
1804 1817 padding:4px 3px 2px 2px;
1805 1818 }
1806 1819
1807 1820 .yui-overlay,.yui-panel-container {
1808 1821 visibility:hidden;
1809 1822 position:absolute;
1810 1823 z-index:2;
1811 1824 }
1812 1825
1813 1826 .yui-tt {
1814 1827 visibility:hidden;
1815 1828 position:absolute;
1816 1829 color:#666;
1817 1830 background-color:#FFF;
1818 1831 font-family:arial, helvetica, verdana, sans-serif;
1819 1832 border:2px solid #003367;
1820 1833 font:100% sans-serif;
1821 1834 width:auto;
1822 1835 opacity:1px;
1823 1836 padding:8px;
1824 1837 white-space: pre;
1825 1838 -webkit-border-radius: 8px 8px 8px 8px;
1826 1839 -khtml-border-radius: 8px 8px 8px 8px;
1827 1840 -moz-border-radius: 8px 8px 8px 8px;
1828 1841 border-radius: 8px 8px 8px 8px;
1829 1842 }
1830 1843
1831 1844 .ac {
1832 1845 vertical-align:top;
1833 1846 }
1834 1847
1835 1848 .ac .yui-ac {
1836 1849 position:relative;
1837 1850 font-family:arial;
1838 1851 font-size:100%;
1839 1852 }
1840 1853
1841 1854 .ac .perm_ac {
1842 1855 width:15em;
1843 1856 }
1844 1857
1845 1858 .ac .yui-ac-input {
1846 1859 width:100%;
1847 1860 }
1848 1861
1849 1862 .ac .yui-ac-container {
1850 1863 position:absolute;
1851 1864 top:1.6em;
1852 1865 width:100%;
1853 1866 }
1854 1867
1855 1868 .ac .yui-ac-content {
1856 1869 position:absolute;
1857 1870 width:100%;
1858 1871 border:1px solid gray;
1859 1872 background:#fff;
1860 1873 overflow:hidden;
1861 1874 z-index:9050;
1862 1875 }
1863 1876
1864 1877 .ac .yui-ac-shadow {
1865 1878 position:absolute;
1866 1879 width:100%;
1867 1880 background:#000;
1868 1881 -moz-opacity:0.1px;
1869 1882 opacity:.10;
1870 1883 filter:alpha(opacity = 10);
1871 1884 z-index:9049;
1872 1885 margin:.3em;
1873 1886 }
1874 1887
1875 1888 .ac .yui-ac-content ul {
1876 1889 width:100%;
1877 1890 margin:0;
1878 1891 padding:0;
1879 1892 }
1880 1893
1881 1894 .ac .yui-ac-content li {
1882 1895 cursor:default;
1883 1896 white-space:nowrap;
1884 1897 margin:0;
1885 1898 padding:2px 5px;
1886 1899 }
1887 1900
1888 1901 .ac .yui-ac-content li.yui-ac-prehighlight {
1889 1902 background:#B3D4FF;
1890 1903 }
1891 1904
1892 1905 .ac .yui-ac-content li.yui-ac-highlight {
1893 1906 background:#556CB5;
1894 1907 color:#FFF;
1895 1908 }
1896 1909
1897 1910 .follow{
1898 1911 background:url("../images/icons/heart_add.png") no-repeat scroll 3px;
1899 1912 height: 16px;
1900 1913 width: 20px;
1901 1914 cursor: pointer;
1902 1915 display: block;
1903 1916 float: right;
1904 1917 margin-top: 2px;
1905 1918 }
1906 1919
1907 1920 .following{
1908 1921 background:url("../images/icons/heart_delete.png") no-repeat scroll 3px;
1909 1922 height: 16px;
1910 1923 width: 20px;
1911 1924 cursor: pointer;
1912 1925 display: block;
1913 1926 float: right;
1914 1927 margin-top: 2px;
1915 1928 }
1916 1929
1917 1930 .currently_following{
1918 1931 padding-left: 10px;
1919 1932 padding-bottom:5px;
1920 1933 }
1921 1934
1922 1935 .add_icon {
1923 1936 background:url("../images/icons/add.png") no-repeat scroll 3px;
1924 1937 height:16px;
1925 1938 padding-left:20px;
1926 1939 padding-top:1px;
1927 1940 text-align:left;
1928 1941 }
1929 1942
1930 1943 .edit_icon {
1931 1944 background:url("../images/icons/folder_edit.png") no-repeat scroll 3px;
1932 1945 height:16px;
1933 1946 padding-left:20px;
1934 1947 padding-top:1px;
1935 1948 text-align:left;
1936 1949 }
1937 1950
1938 1951 .delete_icon {
1939 1952 background:url("../images/icons/delete.png") no-repeat scroll 3px;
1940 1953 height:16px;
1941 1954 padding-left:20px;
1942 1955 padding-top:1px;
1943 1956 text-align:left;
1944 1957 }
1945 1958
1946 1959 .refresh_icon {
1947 1960 background:url("../images/icons/arrow_refresh.png") no-repeat scroll 3px;
1948 1961 height:16px;
1949 1962 padding-left:20px;
1950 1963 padding-top:1px;
1951 1964 text-align:left;
1952 1965 }
1953 1966
1954 1967 .rss_icon {
1955 1968 background:url("../images/icons/rss_16.png") no-repeat scroll 3px;
1956 1969 height:16px;
1957 1970 padding-left:20px;
1958 1971 padding-top:1px;
1959 1972 text-align:left;
1960 1973 }
1961 1974
1962 1975 .atom_icon {
1963 1976 background:url("../images/icons/atom.png") no-repeat scroll 3px;
1964 1977 height:16px;
1965 1978 padding-left:20px;
1966 1979 padding-top:1px;
1967 1980 text-align:left;
1968 1981 }
1969 1982
1970 1983 .archive_icon {
1971 1984 background:url("../images/icons/compress.png") no-repeat scroll 3px;
1972 1985 height:16px;
1973 1986 padding-left:20px;
1974 1987 text-align:left;
1975 1988 padding-top:1px;
1976 1989 }
1977 1990
1978 1991 .action_button {
1979 1992 border:0;
1980 1993 display:block;
1981 1994 }
1982 1995
1983 1996 .action_button:hover {
1984 1997 border:0;
1985 1998 text-decoration:underline;
1986 1999 cursor:pointer;
1987 2000 }
1988 2001
1989 2002 #switch_repos {
1990 2003 position:absolute;
1991 2004 height:25px;
1992 2005 z-index:1;
1993 2006 }
1994 2007
1995 2008 #switch_repos select {
1996 2009 min-width:150px;
1997 2010 max-height:250px;
1998 2011 z-index:1;
1999 2012 }
2000 2013
2001 2014 .breadcrumbs {
2002 2015 border:medium none;
2003 2016 color:#FFF;
2004 2017 float:left;
2005 2018 text-transform:uppercase;
2006 2019 font-weight:700;
2007 2020 font-size:14px;
2008 2021 margin:0;
2009 2022 padding:11px 0 11px 10px;
2010 2023 }
2011 2024
2012 2025 .breadcrumbs a {
2013 2026 color:#FFF;
2014 2027 }
2015 2028
2016 2029 .flash_msg ul {
2017 2030 margin:0;
2018 2031 padding:0 0 10px;
2019 2032 }
2020 2033
2021 2034 .error_msg {
2022 2035 background-color:#FFCFCF;
2023 2036 background-image:url("../images/icons/error_msg.png");
2024 2037 border:1px solid #FF9595;
2025 2038 color:#C30;
2026 2039 }
2027 2040
2028 2041 .warning_msg {
2029 2042 background-color:#FFFBCC;
2030 2043 background-image:url("../images/icons/warning_msg.png");
2031 2044 border:1px solid #FFF35E;
2032 2045 color:#C69E00;
2033 2046 }
2034 2047
2035 2048 .success_msg {
2036 2049 background-color:#D5FFCF;
2037 2050 background-image:url("../images/icons/success_msg.png");
2038 2051 border:1px solid #97FF88;
2039 2052 color:#090;
2040 2053 }
2041 2054
2042 2055 .notice_msg {
2043 2056 background-color:#DCE3FF;
2044 2057 background-image:url("../images/icons/notice_msg.png");
2045 2058 border:1px solid #93A8FF;
2046 2059 color:#556CB5;
2047 2060 }
2048 2061
2049 2062 .success_msg,.error_msg,.notice_msg,.warning_msg {
2050 2063 background-position:10px center;
2051 2064 background-repeat:no-repeat;
2052 2065 font-size:12px;
2053 2066 font-weight:700;
2054 2067 min-height:14px;
2055 2068 line-height:14px;
2056 2069 margin-bottom:0;
2057 2070 margin-top:0;
2058 2071 display:block;
2059 2072 overflow:auto;
2060 2073 padding:6px 10px 6px 40px;
2061 2074 }
2062 2075
2063 2076 #msg_close {
2064 2077 background:transparent url("../icons/cross_grey_small.png") no-repeat scroll 0 0;
2065 2078 cursor:pointer;
2066 2079 height:16px;
2067 2080 position:absolute;
2068 2081 right:5px;
2069 2082 top:5px;
2070 2083 width:16px;
2071 2084 }
2072 2085
2073 2086 div#legend_container table,div#legend_choices table {
2074 2087 width:auto !important;
2075 2088 }
2076 2089
2077 2090 table#permissions_manage {
2078 2091 width:0 !important;
2079 2092 }
2080 2093
2081 2094 table#permissions_manage span.private_repo_msg {
2082 2095 font-size:0.8em;
2083 2096 opacity:0.6px;
2084 2097 }
2085 2098
2086 2099 table#permissions_manage td.private_repo_msg {
2087 2100 font-size:0.8em;
2088 2101 }
2089 2102
2090 2103 table#permissions_manage tr#add_perm_input td {
2091 2104 vertical-align:middle;
2092 2105 }
2093 2106
2094 2107 div.gravatar {
2095 2108 background-color:#FFF;
2096 2109 border:1px solid #D0D0D0;
2097 2110 float:left;
2098 2111 margin-right:0.7em;
2099 2112 padding:2px 2px 0;
2100 2113 }
2101 2114
2102 2115 #header,#content,#footer {
2103 2116 min-width:1024px;
2104 2117 }
2105 2118
2106 2119 #content {
2107 2120 min-height:100%;
2108 2121 clear:both;
2109 2122 overflow:hidden;
2110 2123 padding:14px 30px;
2111 2124 }
2112 2125
2113 2126 #content div.box div.title div.search {
2114 2127 background:url("../images/title_link.png") no-repeat top left;
2115 2128 border-left:1px solid #316293;
2116 2129 }
2117 2130
2118 2131 #content div.box div.title div.search div.input input {
2119 2132 border:1px solid #316293;
2120 2133 }
2121 2134
2122 2135 #content div.box div.title div.search div.button input.ui-button {
2123 2136 background:#4e85bb url("../images/button_highlight.png") repeat-x;
2124 2137 border:1px solid #316293;
2125 2138 border-left:none;
2126 2139 color:#FFF;
2127 2140 }
2128 2141
2129 2142 #content div.box div.title div.search div.button input.ui-state-hover {
2130 2143 background:#46a0c1 url("../images/button_highlight_selected.png") repeat-x;
2131 2144 border:1px solid #316293;
2132 2145 border-left:none;
2133 2146 color:#FFF;
2134 2147 }
2135 2148
2136 2149 #content div.box div.form div.fields div.field div.highlight .ui-button {
2137 2150 background:#4e85bb url("../images/button_highlight.png") repeat-x;
2138 2151 border-top:1px solid #5c91a4;
2139 2152 border-left:1px solid #2a6f89;
2140 2153 border-right:1px solid #2b7089;
2141 2154 border-bottom:1px solid #1a6480;
2142 2155 color:#fff;
2143 2156 }
2144 2157
2145 2158 #content div.box div.form div.fields div.field div.highlight .ui-state-hover {
2146 2159 background:#46a0c1 url("../images/button_highlight_selected.png") repeat-x;
2147 2160 border-top:1px solid #78acbf;
2148 2161 border-left:1px solid #34819e;
2149 2162 border-right:1px solid #35829f;
2150 2163 border-bottom:1px solid #257897;
2151 2164 color:#fff;
2152 2165 }
2153 2166
2154 2167 ins,div.options a:hover {
2155 2168 text-decoration:none;
2156 2169 }
2157 2170
2158 2171 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 {
2159 2172 border:none;
2160 2173 }
2161 2174
2162 2175 img.icon,.right .merge img {
2163 2176 vertical-align:bottom;
2164 2177 }
2165 2178
2166 2179 #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 {
2167 2180 float:right;
2168 2181 margin:0;
2169 2182 padding:0;
2170 2183 }
2171 2184
2172 2185 #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 {
2173 2186 float:left;
2174 2187 }
2175 2188
2176 2189 #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 {
2177 2190 display:none;
2178 2191 }
2179 2192
2180 2193 #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 {
2181 2194 display:block;
2182 2195 }
2183 2196
2184 2197 #content div.box div.title ul.links li a:hover,#content div.box div.title ul.links li.ui-tabs-selected a {
2185 2198 color:#bfe3ff;
2186 2199 }
2187 2200
2188 2201 #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 {
2189 2202 margin:10px 24px 10px 44px;
2190 2203 }
2191 2204
2192 2205 #content div.box div.form,#content div.box div.table,#content div.box div.traffic {
2193 2206 clear:both;
2194 2207 overflow:hidden;
2195 2208 margin:0;
2196 2209 padding:0 20px 10px;
2197 2210 }
2198 2211
2199 2212 #content div.box div.form div.fields,#login div.form,#login div.form div.fields,#register div.form,#register div.form div.fields {
2200 2213 clear:both;
2201 2214 overflow:hidden;
2202 2215 margin:0;
2203 2216 padding:0;
2204 2217 }
2205 2218
2206 2219 #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 {
2207 2220 height:1%;
2208 2221 display:block;
2209 2222 color:#363636;
2210 2223 margin:0;
2211 2224 padding:2px 0 0;
2212 2225 }
2213 2226
2214 2227 #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 {
2215 2228 background:#FBE3E4;
2216 2229 border-top:1px solid #e1b2b3;
2217 2230 border-left:1px solid #e1b2b3;
2218 2231 border-right:1px solid #FBC2C4;
2219 2232 border-bottom:1px solid #FBC2C4;
2220 2233 }
2221 2234
2222 2235 #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 {
2223 2236 background:#E6EFC2;
2224 2237 border-top:1px solid #cebb98;
2225 2238 border-left:1px solid #cebb98;
2226 2239 border-right:1px solid #c6d880;
2227 2240 border-bottom:1px solid #c6d880;
2228 2241 }
2229 2242
2230 2243 #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 {
2231 2244 margin:0;
2232 2245 }
2233 2246
2234 2247 #content div.box-left div.form div.fields div.field div.select,#content div.box-left div.form div.fields div.field div.checkboxes,#content div.box-left div.form div.fields div.field div.radios,#content div.box-right div.form div.fields div.field div.select,#content div.box-right div.form div.fields div.field div.checkboxes,#content div.box-right div.form div.fields div.field div.radios{
2235 2248 margin:0 0 0 0px !important;
2236 2249 padding:0;
2237 2250 }
2238 2251
2239 2252 #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 {
2240 2253 margin:0 0 0 200px;
2241 2254 padding:0;
2242 2255 }
2243 2256
2244 2257
2245 2258 #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 {
2246 2259 color:#000;
2247 2260 text-decoration:none;
2248 2261 }
2249 2262
2250 2263 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus,#content div.box div.action a.ui-selectmenu-focus {
2251 2264 border:1px solid #666;
2252 2265 }
2253 2266
2254 2267 #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 {
2255 2268 clear:both;
2256 2269 overflow:hidden;
2257 2270 margin:0;
2258 2271 padding:8px 0 2px;
2259 2272 }
2260 2273
2261 2274 #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 {
2262 2275 float:left;
2263 2276 margin:0;
2264 2277 }
2265 2278
2266 2279 #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 {
2267 2280 height:1%;
2268 2281 display:block;
2269 2282 float:left;
2270 2283 margin:2px 0 0 4px;
2271 2284 }
2272 2285
2273 2286 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 {
2274 2287 color:#000;
2275 2288 font-family:Lucida Grande, Verdana, Lucida Sans Regular, Lucida Sans Unicode, Arial, sans-serif;
2276 2289 font-size:11px;
2277 2290 font-weight:700;
2278 2291 margin:0;
2279 2292 }
2280 2293
2281 2294 div.form div.fields div.field div.button .ui-button,#content div.box div.form div.fields div.buttons input.ui-button {
2282 2295 background:#e5e3e3 url("../images/button.png") repeat-x;
2283 2296 border-top:1px solid #DDD;
2284 2297 border-left:1px solid #c6c6c6;
2285 2298 border-right:1px solid #DDD;
2286 2299 border-bottom:1px solid #c6c6c6;
2287 2300 color:#515151;
2288 2301 outline:none;
2289 2302 margin:0;
2290 2303 padding:6px 12px;
2291 2304 }
2292 2305
2293 2306 div.form div.fields div.field div.button .ui-state-hover,#content div.box div.form div.fields div.buttons input.ui-state-hover {
2294 2307 background:#b4b4b4 url("../images/button_selected.png") repeat-x;
2295 2308 border-top:1px solid #ccc;
2296 2309 border-left:1px solid #bebebe;
2297 2310 border-right:1px solid #b1b1b1;
2298 2311 border-bottom:1px solid #afafaf;
2299 2312 color:#515151;
2300 2313 outline:none;
2301 2314 margin:0;
2302 2315 padding:6px 12px;
2303 2316 }
2304 2317
2305 2318 div.form div.fields div.field div.highlight,#content div.box div.form div.fields div.buttons div.highlight {
2306 2319 display:inline;
2307 2320 }
2308 2321
2309 2322 #content div.box div.form div.fields div.buttons,div.form div.fields div.buttons {
2310 2323 margin:10px 0 0 200px;
2311 2324 padding:0;
2312 2325 }
2313 2326
2314 2327 #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 {
2315 2328 margin:10px 0 0;
2316 2329 }
2317 2330
2318 2331 #content div.box table td.user,#content div.box table td.address {
2319 2332 width:10%;
2320 2333 text-align:center;
2321 2334 }
2322 2335
2323 2336 #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 {
2324 2337 text-align:right;
2325 2338 margin:6px 0 0;
2326 2339 padding:0;
2327 2340 }
2328 2341
2329 2342 #content div.box div.action div.button input.ui-button,#login div.form div.fields div.buttons input.ui-button,#register div.form div.fields div.buttons input.ui-button {
2330 2343 background:#e5e3e3 url("../images/button.png") repeat-x;
2331 2344 border-top:1px solid #DDD;
2332 2345 border-left:1px solid #c6c6c6;
2333 2346 border-right:1px solid #DDD;
2334 2347 border-bottom:1px solid #c6c6c6;
2335 2348 color:#515151;
2336 2349 margin:0;
2337 2350 padding:6px 12px;
2338 2351 }
2339 2352
2340 2353 #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 {
2341 2354 background:#b4b4b4 url("../images/button_selected.png") repeat-x;
2342 2355 border-top:1px solid #ccc;
2343 2356 border-left:1px solid #bebebe;
2344 2357 border-right:1px solid #b1b1b1;
2345 2358 border-bottom:1px solid #afafaf;
2346 2359 color:#515151;
2347 2360 margin:0;
2348 2361 padding:6px 12px;
2349 2362 }
2350 2363
2351 2364 #content div.box div.pagination div.results,#content div.box div.pagination-wh div.results {
2352 2365 text-align:left;
2353 2366 float:left;
2354 2367 margin:0;
2355 2368 padding:0;
2356 2369 }
2357 2370
2358 2371 #content div.box div.pagination div.results span,#content div.box div.pagination-wh div.results span {
2359 2372 height:1%;
2360 2373 display:block;
2361 2374 float:left;
2362 2375 background:#ebebeb url("../images/pager.png") repeat-x;
2363 2376 border-top:1px solid #dedede;
2364 2377 border-left:1px solid #cfcfcf;
2365 2378 border-right:1px solid #c4c4c4;
2366 2379 border-bottom:1px solid #c4c4c4;
2367 2380 color:#4A4A4A;
2368 2381 font-weight:700;
2369 2382 margin:0;
2370 2383 padding:6px 8px;
2371 2384 }
2372 2385
2373 2386 #content div.box div.pagination ul.pager li.disabled,#content div.box div.pagination-wh a.disabled {
2374 2387 color:#B4B4B4;
2375 2388 padding:6px;
2376 2389 }
2377 2390
2378 2391 #login,#register {
2379 2392 width:520px;
2380 2393 margin:10% auto 0;
2381 2394 padding:0;
2382 2395 }
2383 2396
2384 2397 #login div.color,#register div.color {
2385 2398 clear:both;
2386 2399 overflow:hidden;
2387 2400 background:#FFF;
2388 2401 margin:10px auto 0;
2389 2402 padding:3px 3px 3px 0;
2390 2403 }
2391 2404
2392 2405 #login div.color a,#register div.color a {
2393 2406 width:20px;
2394 2407 height:20px;
2395 2408 display:block;
2396 2409 float:left;
2397 2410 margin:0 0 0 3px;
2398 2411 padding:0;
2399 2412 }
2400 2413
2401 2414 #login div.title h5,#register div.title h5 {
2402 2415 color:#fff;
2403 2416 margin:10px;
2404 2417 padding:0;
2405 2418 }
2406 2419
2407 2420 #login div.form div.fields div.field,#register div.form div.fields div.field {
2408 2421 clear:both;
2409 2422 overflow:hidden;
2410 2423 margin:0;
2411 2424 padding:0 0 10px;
2412 2425 }
2413 2426
2414 2427 #login div.form div.fields div.field span.error-message,#register div.form div.fields div.field span.error-message {
2415 2428 height:1%;
2416 2429 display:block;
2417 2430 color:red;
2418 2431 margin:8px 0 0;
2419 2432 padding:0;
2420 2433 max-width: 320px;
2421 2434 }
2422 2435
2423 2436 #login div.form div.fields div.field div.label label,#register div.form div.fields div.field div.label label {
2424 2437 color:#000;
2425 2438 font-weight:700;
2426 2439 }
2427 2440
2428 2441 #login div.form div.fields div.field div.input,#register div.form div.fields div.field div.input {
2429 2442 float:left;
2430 2443 margin:0;
2431 2444 padding:0;
2432 2445 }
2433 2446
2434 2447 #login div.form div.fields div.field div.checkbox,#register div.form div.fields div.field div.checkbox {
2435 2448 margin:0 0 0 184px;
2436 2449 padding:0;
2437 2450 }
2438 2451
2439 2452 #login div.form div.fields div.field div.checkbox label,#register div.form div.fields div.field div.checkbox label {
2440 2453 color:#565656;
2441 2454 font-weight:700;
2442 2455 }
2443 2456
2444 2457 #login div.form div.fields div.buttons input,#register div.form div.fields div.buttons input {
2445 2458 color:#000;
2446 2459 font-size:1em;
2447 2460 font-weight:700;
2448 2461 font-family:Verdana, Helvetica, Sans-Serif;
2449 2462 margin:0;
2450 2463 }
2451 2464
2452 2465 #changeset_content .container .wrapper,#graph_content .container .wrapper {
2453 2466 width:600px;
2454 2467 }
2455 2468
2456 2469 #changeset_content .container .left,#graph_content .container .left {
2457 2470 float:left;
2458 2471 width:70%;
2459 2472 padding-left:5px;
2460 2473 }
2461 2474
2462 2475 #changeset_content .container .left .date,.ac .match {
2463 2476 font-weight:700;
2464 2477 padding-top: 5px;
2465 2478 padding-bottom:5px;
2466 2479 }
2467 2480
2468 2481 div#legend_container table td,div#legend_choices table td {
2469 2482 border:none !important;
2470 2483 height:20px !important;
2471 2484 padding:0 !important;
2472 2485 }
2473 2486
2474 2487 #q_filter{
2475 2488 border:0 none;
2476 2489 color:#AAAAAA;
2477 2490 margin-bottom:-4px;
2478 2491 margin-top:-4px;
2479 2492 padding-left:3px;
2480 2493 }
2481 2494
@@ -1,55 +1,57 b''
1 1 ## -*- coding: utf-8 -*-
2 2
3 3 %if c.journal_day_aggreagate:
4 4 %for day,items in c.journal_day_aggreagate:
5 5 <div class="journal_day">${day}</div>
6 6 % for user,entries in items:
7 <div style="padding:10px">
7 <div class="journal_container">
8 8 <div class="gravatar">
9 9 <img alt="gravatar" src="${h.gravatar_url(user.email,24)}"/>
10 10 </div>
11 11 <div class="journal_user">${user.name} ${user.lastname}</div>
12 <div class="journal_action_container">
12 13 % for entry in entries:
13 14 <div class="journal_icon"> ${h.action_parser_icon(entry)}</div>
14 <div class="journal_action">${h.action_parser(entry)}</div>
15 <div class="journal_action">${h.action_parser(entry)[0]}</div>
15 16 <div class="journal_repo">
16 17 <span class="journal_repo_name">
17 18 %if entry.repository is not None:
18 19 ${h.link_to(entry.repository.repo_name,
19 20 h.url('summary_home',repo_name=entry.repository.repo_name))}
20 21 %else:
21 22 ${entry.repository_name}
22 23 %endif
23 24 </span>
24 25 </div>
26 <div class="journal_action_params">${h.literal(h.action_parser(entry)[1]())}</div>
25 27 <div class="date"><span class="tooltip" title="${entry.action_date}">${h.age(entry.action_date)}</span></div>
26 28 %endfor
27 29 </div>
28 <div style="clear:both;border-bottom:1px dashed #DDD;padding:3px 3px;margin:0px 10px 0px 10px"></div>
30 </div>
29 31 %endfor
30 32 %endfor
31 33
32 34 <div class="pagination-wh pagination-left">
33 35 <script type="text/javascript">
34 36 var data_div = 'journal';
35 37 YAHOO.util.Event.onDOMReady(function(){
36 38 YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName('pager_link'),"click",function(){
37 39 YAHOO.util.Dom.setStyle(data_div,'opacity','0.3');});});
38 40 </script>
39 41 ${c.journal_pager.pager('$link_previous ~2~ $link_next',
40 42 onclick="""YAHOO.util.Connect.asyncRequest('GET','$partial_url',{
41 43 success:function(o){YAHOO.util.Dom.get(data_div).innerHTML=o.responseText;
42 44 show_more_event();
43 45 tooltip_activate();
44 46 YUE.on(YAHOO.util.Dom.getElementsByClassName('pager_link'),"click",function(){
45 47 YAHOO.util.Dom.setStyle(data_div,'opacity','0.3');});
46 48 YAHOO.util.Dom.setStyle(data_div,'opacity','1');}},null); return false;""")}
47 49 </div>
48 50
49 51 %else:
50 52 ${_('No entries yet')}
51 53 %endif
52 54
53 55 <script type="text/javascript">
54 56 show_more_event();
55 57 </script> No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now