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