##// END OF EJS Templates
Implemented basic compare view(for pull requests) for mercurial.
marcink -
r2348:a07e04ef codereview
parent child Browse files
Show More
@@ -1,75 +1,76 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """
2 """
3 rhodecode.controllers.branches
3 rhodecode.controllers.branches
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
5
6 branches controller for rhodecode
6 branches controller for rhodecode
7
7
8 :created_on: Apr 21, 2010
8 :created_on: Apr 21, 2010
9 :author: marcink
9 :author: marcink
10 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
10 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
11 :license: GPLv3, see COPYING for more details.
11 :license: GPLv3, see COPYING for more details.
12 """
12 """
13 # This program is free software: you can redistribute it and/or modify
13 # This program is free software: you can redistribute it and/or modify
14 # it under the terms of the GNU General Public License as published by
14 # it under the terms of the GNU General Public License as published by
15 # the Free Software Foundation, either version 3 of the License, or
15 # the Free Software Foundation, either version 3 of the License, or
16 # (at your option) any later version.
16 # (at your option) any later version.
17 #
17 #
18 # This program is distributed in the hope that it will be useful,
18 # This program is distributed in the hope that it will be useful,
19 # but WITHOUT ANY WARRANTY; without even the implied warranty of
19 # but WITHOUT ANY WARRANTY; without even the implied warranty of
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 # GNU General Public License for more details.
21 # GNU General Public License for more details.
22 #
22 #
23 # You should have received a copy of the GNU General Public License
23 # You should have received a copy of the GNU General Public License
24 # along with this program. If not, see <http://www.gnu.org/licenses/>.
24 # along with this program. If not, see <http://www.gnu.org/licenses/>.
25
25
26 import logging
26 import logging
27 import binascii
27
28
28 from pylons import tmpl_context as c
29 from pylons import tmpl_context as c
29 import binascii
30
30
31 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
31 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
32 from rhodecode.lib.base import BaseRepoController, render
32 from rhodecode.lib.base import BaseRepoController, render
33 from rhodecode.lib.compat import OrderedDict
33 from rhodecode.lib.compat import OrderedDict
34 from rhodecode.lib.utils2 import safe_unicode
34 from rhodecode.lib.utils2 import safe_unicode
35
35 log = logging.getLogger(__name__)
36 log = logging.getLogger(__name__)
36
37
37
38
38 class BranchesController(BaseRepoController):
39 class BranchesController(BaseRepoController):
39
40
40 @LoginRequired()
41 @LoginRequired()
41 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
42 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
42 'repository.admin')
43 'repository.admin')
43 def __before__(self):
44 def __before__(self):
44 super(BranchesController, self).__before__()
45 super(BranchesController, self).__before__()
45
46
46 def index(self):
47 def index(self):
47
48
48 def _branchtags(localrepo):
49 def _branchtags(localrepo):
49 bt_closed = {}
50 bt_closed = {}
50 for bn, heads in localrepo.branchmap().iteritems():
51 for bn, heads in localrepo.branchmap().iteritems():
51 tip = heads[-1]
52 tip = heads[-1]
52 if 'close' in localrepo.changelog.read(tip)[5]:
53 if 'close' in localrepo.changelog.read(tip)[5]:
53 bt_closed[bn] = tip
54 bt_closed[bn] = tip
54 return bt_closed
55 return bt_closed
55
56
56 cs_g = c.rhodecode_repo.get_changeset
57 cs_g = c.rhodecode_repo.get_changeset
57
58
58 c.repo_closed_branches = {}
59 c.repo_closed_branches = {}
59 if c.rhodecode_db_repo.repo_type == 'hg':
60 if c.rhodecode_db_repo.repo_type == 'hg':
60 bt_closed = _branchtags(c.rhodecode_repo._repo)
61 bt_closed = _branchtags(c.rhodecode_repo._repo)
61 _closed_branches = [(safe_unicode(n), cs_g(binascii.hexlify(h)),)
62 _closed_branches = [(safe_unicode(n), cs_g(binascii.hexlify(h)),)
62 for n, h in bt_closed.items()]
63 for n, h in bt_closed.items()]
63
64
64 c.repo_closed_branches = OrderedDict(sorted(_closed_branches,
65 c.repo_closed_branches = OrderedDict(sorted(_closed_branches,
65 key=lambda ctx: ctx[0],
66 key=lambda ctx: ctx[0],
66 reverse=False))
67 reverse=False))
67
68
68 _branches = [(safe_unicode(n), cs_g(h))
69 _branches = [(safe_unicode(n), cs_g(h))
69 for n, h in c.rhodecode_repo.branches.items()]
70 for n, h in c.rhodecode_repo.branches.items()]
70 c.repo_branches = OrderedDict(sorted(_branches,
71 c.repo_branches = OrderedDict(sorted(_branches,
71 key=lambda ctx: ctx[0],
72 key=lambda ctx: ctx[0],
72 reverse=False))
73 reverse=False))
73
74
74
75
75 return render('branches/branches.html')
76 return render('branches/branches.html')
@@ -1,130 +1,134 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """
2 """
3 rhodecode.controllers.compare
3 rhodecode.controllers.compare
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
5
6 compare controller for pylons showoing differences between two
6 compare controller for pylons showoing differences between two
7 repos, branches, bookmarks or tips
7 repos, branches, bookmarks or tips
8
8
9 :created_on: May 6, 2012
9 :created_on: May 6, 2012
10 :author: marcink
10 :author: marcink
11 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
11 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
12 :license: GPLv3, see COPYING for more details.
12 :license: GPLv3, see COPYING for more details.
13 """
13 """
14 # This program is free software: you can redistribute it and/or modify
14 # This program is free software: you can redistribute it and/or modify
15 # it under the terms of the GNU General Public License as published by
15 # it under the terms of the GNU General Public License as published by
16 # the Free Software Foundation, either version 3 of the License, or
16 # the Free Software Foundation, either version 3 of the License, or
17 # (at your option) any later version.
17 # (at your option) any later version.
18 #
18 #
19 # This program is distributed in the hope that it will be useful,
19 # This program is distributed in the hope that it will be useful,
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 # GNU General Public License for more details.
22 # GNU General Public License for more details.
23 #
23 #
24 # You should have received a copy of the GNU General Public License
24 # You should have received a copy of the GNU General Public License
25 # along with this program. If not, see <http://www.gnu.org/licenses/>.
25 # along with this program. If not, see <http://www.gnu.org/licenses/>.
26 import logging
26 import logging
27 import traceback
27 import traceback
28 import binascii
28
29
29 from webob.exc import HTTPNotFound
30 from webob.exc import HTTPNotFound
30 from pylons import request, response, session, tmpl_context as c, url
31 from pylons import request, response, session, tmpl_context as c, url
31 from pylons.controllers.util import abort, redirect
32 from pylons.controllers.util import abort, redirect
32
33
34 from rhodecode.lib import helpers as h
33 from rhodecode.lib.base import BaseRepoController, render
35 from rhodecode.lib.base import BaseRepoController, render
34 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
36 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
35 from rhodecode.lib import diffs
37 from rhodecode.lib import diffs
36
38
37 from rhodecode.model.db import Repository
39 from rhodecode.model.db import Repository
38
40
39 log = logging.getLogger(__name__)
41 log = logging.getLogger(__name__)
40
42
41
43
42 class CompareController(BaseRepoController):
44 class CompareController(BaseRepoController):
43
45
44 @LoginRequired()
46 @LoginRequired()
45 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
47 @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
46 'repository.admin')
48 'repository.admin')
47 def __before__(self):
49 def __before__(self):
48 super(CompareController, self).__before__()
50 super(CompareController, self).__before__()
49
51
50 def _handle_ref(self, ref):
52 def _handle_ref(self, ref):
51 """
53 """
52 Parse the org...other string
54 Parse the org...other string
53 Possible formats are
55 Possible formats are
54 `(branch|book|tag):<name>...(branch|book|tag):<othername>`
56 `(branch|book|tag):<name>...(branch|book|tag):<othername>`
55
57
56 :param ref: <orginal_reference>...<other_reference>
58 :param ref: <orginal_reference>...<other_reference>
57 :type ref: str
59 :type ref: str
58 """
60 """
59 org_repo = c.rhodecode_repo.name
61 org_repo = c.rhodecode_repo.name
60
62
61 def org_parser(org):
63 def org_parser(org):
62 _repo = org_repo
64 _repo = org_repo
63 name, val = org.split(':')
65 name, val = org.split(':')
64 return _repo, (name, val)
66 return _repo, (name, val)
65
67
66 def other_parser(other):
68 def other_parser(other):
67 _other_repo = request.GET.get('repo')
69 _other_repo = request.GET.get('repo')
68 _repo = org_repo
70 _repo = org_repo
69 name, val = other.split(':')
71 name, val = other.split(':')
70 if _other_repo:
72 if _other_repo:
71 #TODO: do an actual repo loookup within rhodecode
73 #TODO: do an actual repo loookup within rhodecode
72 _repo = _other_repo
74 _repo = _other_repo
73
75
74 return _repo, (name, val)
76 return _repo, (name, val)
75
77
76 if '...' in ref:
78 if '...' in ref:
77 try:
79 try:
78 org, other = ref.split('...')
80 org, other = ref.split('...')
79 org_repo, org_ref = org_parser(org)
81 org_repo, org_ref = org_parser(org)
80 other_repo, other_ref = other_parser(other)
82 other_repo, other_ref = other_parser(other)
81 return org_repo, org_ref, other_repo, other_ref
83 return org_repo, org_ref, other_repo, other_ref
82 except:
84 except:
83 log.error(traceback.format_exc())
85 log.error(traceback.format_exc())
84
86
85 raise HTTPNotFound
87 raise HTTPNotFound
86
88
87 def _get_changesets(self, org_repo, org_ref, other_repo, other_ref):
89 def _get_changesets(self, org_repo, org_ref, other_repo, other_ref):
88 changesets = []
90 changesets = []
89 #case two independent repos
91 #case two independent repos
90 if org_repo != other_repo:
92 if org_repo != other_repo:
91 from mercurial import discovery
93 from mercurial import discovery
92 import binascii
93 out = discovery.findcommonoutgoing(org_repo._repo, other_repo._repo)
94 out = discovery.findcommonoutgoing(org_repo._repo, other_repo._repo)
94 for cs in map(binascii.hexlify, out.missing):
95 for cs in map(binascii.hexlify, out.missing):
95 changesets.append(org_repo.get_changeset(cs))
96 changesets.append(org_repo.get_changeset(cs))
96 else:
97 else:
97 for cs in map(binascii.hexlify, out):
98 revs = ['ancestors(%s) and not ancestors(%s)' % (org_ref[1],
99 other_ref[1])]
100 from mercurial import scmutil
101 out = scmutil.revrange(org_repo._repo, revs)
102 for cs in reversed(out):
98 changesets.append(org_repo.get_changeset(cs))
103 changesets.append(org_repo.get_changeset(cs))
99
104
100 return changesets
105 return changesets
101
106
102 def index(self, ref):
107 def index(self, ref):
103 org_repo, org_ref, other_repo, other_ref = self._handle_ref(ref)
108 org_repo, org_ref, other_repo, other_ref = self._handle_ref(ref)
104
109
105 c.org_repo = org_repo = Repository.get_by_repo_name(org_repo)
110 c.org_repo = org_repo = Repository.get_by_repo_name(org_repo)
106 c.other_repo = other_repo = Repository.get_by_repo_name(other_repo)
111 c.other_repo = other_repo = Repository.get_by_repo_name(other_repo)
107
112
108 c.cs_ranges = self._get_changesets(org_repo.scm_instance,
113 c.cs_ranges = self._get_changesets(org_repo.scm_instance,
109 org_ref,
114 org_ref,
110 other_repo.scm_instance,
115 other_repo.scm_instance,
111 other_ref)
116 other_ref)
112
117
113 c.org_ref = org_ref[1]
118 c.org_ref = org_ref[1]
114 c.other_ref = other_ref[1]
119 c.other_ref = other_ref[1]
115 cs1 = org_repo.scm_instance.get_changeset(org_ref[1])
116 cs2 = other_repo.scm_instance.get_changeset(other_ref[1])
117
120
118 _diff = diffs.differ(org_repo, org_ref, other_repo, other_ref)
121 _diff = diffs.differ(org_repo, org_ref, other_repo, other_ref)
119 diff_processor = diffs.DiffProcessor(_diff, format='gitdiff')
122 diff_processor = diffs.DiffProcessor(_diff, format='gitdiff')
123 _parsed = diff_processor.prepare()
120
124
121 diff = diff_processor.as_html(enable_comments=False)
125 c.files = []
122 stats = diff_processor.stat()
126 c.changes = {}
123
127
124 c.changes = [('change?', None, diff, cs1, cs2, stats,)]
128 for f in _parsed:
129 fid = h.FID('', f['filename'])
130 c.files.append([fid, f['operation'], f['filename'], f['stats']])
131 diff = diff_processor.as_html(enable_comments=False, diff_lines=[f])
132 c.changes[fid] = [f['operation'], f['filename'], diff]
125
133
126 return render('compare/compare_diff.html')
134 return render('compare/compare_diff.html')
127
128
129
130
@@ -1,611 +1,613 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """
2 """
3 vcs.nodes
3 vcs.nodes
4 ~~~~~~~~~
4 ~~~~~~~~~
5
5
6 Module holding everything related to vcs nodes.
6 Module holding everything related to vcs nodes.
7
7
8 :created_on: Apr 8, 2010
8 :created_on: Apr 8, 2010
9 :copyright: (c) 2010-2011 by Marcin Kuzminski, Lukasz Balcerzak.
9 :copyright: (c) 2010-2011 by Marcin Kuzminski, Lukasz Balcerzak.
10 """
10 """
11 import os
11 import os
12 import stat
12 import stat
13 import posixpath
13 import posixpath
14 import mimetypes
14 import mimetypes
15
15
16 from pygments import lexers
16 from pygments import lexers
17
17
18 from rhodecode.lib.vcs.utils.lazy import LazyProperty
18 from rhodecode.lib.vcs.utils.lazy import LazyProperty
19 from rhodecode.lib.vcs.utils import safe_unicode, safe_str
19 from rhodecode.lib.vcs.utils import safe_unicode, safe_str
20 from rhodecode.lib.vcs.exceptions import NodeError
20 from rhodecode.lib.vcs.exceptions import NodeError
21 from rhodecode.lib.vcs.exceptions import RemovedFileNodeError
21 from rhodecode.lib.vcs.exceptions import RemovedFileNodeError
22 from rhodecode.lib.vcs.backends.base import EmptyChangeset
22 from rhodecode.lib.vcs.backends.base import EmptyChangeset
23
23
24
24
25 class NodeKind:
25 class NodeKind:
26 SUBMODULE = -1
26 SUBMODULE = -1
27 DIR = 1
27 DIR = 1
28 FILE = 2
28 FILE = 2
29
29
30
30
31 class NodeState:
31 class NodeState:
32 ADDED = u'added'
32 ADDED = u'added'
33 CHANGED = u'changed'
33 CHANGED = u'changed'
34 NOT_CHANGED = u'not changed'
34 NOT_CHANGED = u'not changed'
35 REMOVED = u'removed'
35 REMOVED = u'removed'
36
36
37
37
38 class NodeGeneratorBase(object):
38 class NodeGeneratorBase(object):
39 """
39 """
40 Base class for removed added and changed filenodes, it's a lazy generator
40 Base class for removed added and changed filenodes, it's a lazy generator
41 class that will create filenodes only on iteration or call
41 class that will create filenodes only on iteration or call
42
42
43 The len method doesn't need to create filenodes at all
43 The len method doesn't need to create filenodes at all
44 """
44 """
45
45
46 def __init__(self, current_paths, cs):
46 def __init__(self, current_paths, cs):
47 self.cs = cs
47 self.cs = cs
48 self.current_paths = current_paths
48 self.current_paths = current_paths
49
49
50 def __call__(self):
50 def __call__(self):
51 return [n for n in self]
51 return [n for n in self]
52
52
53 def __getslice__(self, i, j):
53 def __getslice__(self, i, j):
54 for p in self.current_paths[i:j]:
54 for p in self.current_paths[i:j]:
55 yield self.cs.get_node(p)
55 yield self.cs.get_node(p)
56
56
57 def __len__(self):
57 def __len__(self):
58 return len(self.current_paths)
58 return len(self.current_paths)
59
59
60 def __iter__(self):
60 def __iter__(self):
61 for p in self.current_paths:
61 for p in self.current_paths:
62 yield self.cs.get_node(p)
62 yield self.cs.get_node(p)
63
63
64
64
65 class AddedFileNodesGenerator(NodeGeneratorBase):
65 class AddedFileNodesGenerator(NodeGeneratorBase):
66 """
66 """
67 Class holding Added files for current changeset
67 Class holding Added files for current changeset
68 """
68 """
69 pass
69 pass
70
70
71
71
72 class ChangedFileNodesGenerator(NodeGeneratorBase):
72 class ChangedFileNodesGenerator(NodeGeneratorBase):
73 """
73 """
74 Class holding Changed files for current changeset
74 Class holding Changed files for current changeset
75 """
75 """
76 pass
76 pass
77
77
78
78
79 class RemovedFileNodesGenerator(NodeGeneratorBase):
79 class RemovedFileNodesGenerator(NodeGeneratorBase):
80 """
80 """
81 Class holding removed files for current changeset
81 Class holding removed files for current changeset
82 """
82 """
83 def __iter__(self):
83 def __iter__(self):
84 for p in self.current_paths:
84 for p in self.current_paths:
85 yield RemovedFileNode(path=p)
85 yield RemovedFileNode(path=p)
86
86
87 def __getslice__(self, i, j):
87 def __getslice__(self, i, j):
88 for p in self.current_paths[i:j]:
88 for p in self.current_paths[i:j]:
89 yield RemovedFileNode(path=p)
89 yield RemovedFileNode(path=p)
90
90
91
91
92 class Node(object):
92 class Node(object):
93 """
93 """
94 Simplest class representing file or directory on repository. SCM backends
94 Simplest class representing file or directory on repository. SCM backends
95 should use ``FileNode`` and ``DirNode`` subclasses rather than ``Node``
95 should use ``FileNode`` and ``DirNode`` subclasses rather than ``Node``
96 directly.
96 directly.
97
97
98 Node's ``path`` cannot start with slash as we operate on *relative* paths
98 Node's ``path`` cannot start with slash as we operate on *relative* paths
99 only. Moreover, every single node is identified by the ``path`` attribute,
99 only. Moreover, every single node is identified by the ``path`` attribute,
100 so it cannot end with slash, too. Otherwise, path could lead to mistakes.
100 so it cannot end with slash, too. Otherwise, path could lead to mistakes.
101 """
101 """
102
102
103 def __init__(self, path, kind):
103 def __init__(self, path, kind):
104 if path.startswith('/'):
104 if path.startswith('/'):
105 raise NodeError("Cannot initialize Node objects with slash at "
105 raise NodeError("Cannot initialize Node objects with slash at "
106 "the beginning as only relative paths are supported")
106 "the beginning as only relative paths are supported")
107 self.path = path.rstrip('/')
107 self.path = path.rstrip('/')
108 if path == '' and kind != NodeKind.DIR:
108 if path == '' and kind != NodeKind.DIR:
109 raise NodeError("Only DirNode and its subclasses may be "
109 raise NodeError("Only DirNode and its subclasses may be "
110 "initialized with empty path")
110 "initialized with empty path")
111 self.kind = kind
111 self.kind = kind
112 #self.dirs, self.files = [], []
112 #self.dirs, self.files = [], []
113 if self.is_root() and not self.is_dir():
113 if self.is_root() and not self.is_dir():
114 raise NodeError("Root node cannot be FILE kind")
114 raise NodeError("Root node cannot be FILE kind")
115
115
116 @LazyProperty
116 @LazyProperty
117 def parent(self):
117 def parent(self):
118 parent_path = self.get_parent_path()
118 parent_path = self.get_parent_path()
119 if parent_path:
119 if parent_path:
120 if self.changeset:
120 if self.changeset:
121 return self.changeset.get_node(parent_path)
121 return self.changeset.get_node(parent_path)
122 return DirNode(parent_path)
122 return DirNode(parent_path)
123 return None
123 return None
124
124
125 @LazyProperty
125 @LazyProperty
126 def unicode_path(self):
126 def unicode_path(self):
127 return safe_unicode(self.path)
127 return safe_unicode(self.path)
128
128
129 @LazyProperty
129 @LazyProperty
130 def name(self):
130 def name(self):
131 """
131 """
132 Returns name of the node so if its path
132 Returns name of the node so if its path
133 then only last part is returned.
133 then only last part is returned.
134 """
134 """
135 return safe_unicode(self.path.rstrip('/').split('/')[-1])
135 return safe_unicode(self.path.rstrip('/').split('/')[-1])
136
136
137 def _get_kind(self):
137 def _get_kind(self):
138 return self._kind
138 return self._kind
139
139
140 def _set_kind(self, kind):
140 def _set_kind(self, kind):
141 if hasattr(self, '_kind'):
141 if hasattr(self, '_kind'):
142 raise NodeError("Cannot change node's kind")
142 raise NodeError("Cannot change node's kind")
143 else:
143 else:
144 self._kind = kind
144 self._kind = kind
145 # Post setter check (path's trailing slash)
145 # Post setter check (path's trailing slash)
146 if self.path.endswith('/'):
146 if self.path.endswith('/'):
147 raise NodeError("Node's path cannot end with slash")
147 raise NodeError("Node's path cannot end with slash")
148
148
149 kind = property(_get_kind, _set_kind)
149 kind = property(_get_kind, _set_kind)
150
150
151 def __cmp__(self, other):
151 def __cmp__(self, other):
152 """
152 """
153 Comparator using name of the node, needed for quick list sorting.
153 Comparator using name of the node, needed for quick list sorting.
154 """
154 """
155 kind_cmp = cmp(self.kind, other.kind)
155 kind_cmp = cmp(self.kind, other.kind)
156 if kind_cmp:
156 if kind_cmp:
157 return kind_cmp
157 return kind_cmp
158 return cmp(self.name, other.name)
158 return cmp(self.name, other.name)
159
159
160 def __eq__(self, other):
160 def __eq__(self, other):
161 for attr in ['name', 'path', 'kind']:
161 for attr in ['name', 'path', 'kind']:
162 if getattr(self, attr) != getattr(other, attr):
162 if getattr(self, attr) != getattr(other, attr):
163 return False
163 return False
164 if self.is_file():
164 if self.is_file():
165 if self.content != other.content:
165 if self.content != other.content:
166 return False
166 return False
167 else:
167 else:
168 # For DirNode's check without entering each dir
168 # For DirNode's check without entering each dir
169 self_nodes_paths = list(sorted(n.path for n in self.nodes))
169 self_nodes_paths = list(sorted(n.path for n in self.nodes))
170 other_nodes_paths = list(sorted(n.path for n in self.nodes))
170 other_nodes_paths = list(sorted(n.path for n in self.nodes))
171 if self_nodes_paths != other_nodes_paths:
171 if self_nodes_paths != other_nodes_paths:
172 return False
172 return False
173 return True
173 return True
174
174
175 def __nq__(self, other):
175 def __nq__(self, other):
176 return not self.__eq__(other)
176 return not self.__eq__(other)
177
177
178 def __repr__(self):
178 def __repr__(self):
179 return '<%s %r>' % (self.__class__.__name__, self.path)
179 return '<%s %r>' % (self.__class__.__name__, self.path)
180
180
181 def __str__(self):
181 def __str__(self):
182 return self.__repr__()
182 return self.__repr__()
183
183
184 def __unicode__(self):
184 def __unicode__(self):
185 return self.name
185 return self.name
186
186
187 def get_parent_path(self):
187 def get_parent_path(self):
188 """
188 """
189 Returns node's parent path or empty string if node is root.
189 Returns node's parent path or empty string if node is root.
190 """
190 """
191 if self.is_root():
191 if self.is_root():
192 return ''
192 return ''
193 return posixpath.dirname(self.path.rstrip('/')) + '/'
193 return posixpath.dirname(self.path.rstrip('/')) + '/'
194
194
195 def is_file(self):
195 def is_file(self):
196 """
196 """
197 Returns ``True`` if node's kind is ``NodeKind.FILE``, ``False``
197 Returns ``True`` if node's kind is ``NodeKind.FILE``, ``False``
198 otherwise.
198 otherwise.
199 """
199 """
200 return self.kind == NodeKind.FILE
200 return self.kind == NodeKind.FILE
201
201
202 def is_dir(self):
202 def is_dir(self):
203 """
203 """
204 Returns ``True`` if node's kind is ``NodeKind.DIR``, ``False``
204 Returns ``True`` if node's kind is ``NodeKind.DIR``, ``False``
205 otherwise.
205 otherwise.
206 """
206 """
207 return self.kind == NodeKind.DIR
207 return self.kind == NodeKind.DIR
208
208
209 def is_root(self):
209 def is_root(self):
210 """
210 """
211 Returns ``True`` if node is a root node and ``False`` otherwise.
211 Returns ``True`` if node is a root node and ``False`` otherwise.
212 """
212 """
213 return self.kind == NodeKind.DIR and self.path == ''
213 return self.kind == NodeKind.DIR and self.path == ''
214
214
215 def is_submodule(self):
215 def is_submodule(self):
216 """
216 """
217 Returns ``True`` if node's kind is ``NodeKind.SUBMODULE``, ``False``
217 Returns ``True`` if node's kind is ``NodeKind.SUBMODULE``, ``False``
218 otherwise.
218 otherwise.
219 """
219 """
220 return self.kind == NodeKind.SUBMODULE
220 return self.kind == NodeKind.SUBMODULE
221
221
222 @LazyProperty
222 @LazyProperty
223 def added(self):
223 def added(self):
224 return self.state is NodeState.ADDED
224 return self.state is NodeState.ADDED
225
225
226 @LazyProperty
226 @LazyProperty
227 def changed(self):
227 def changed(self):
228 return self.state is NodeState.CHANGED
228 return self.state is NodeState.CHANGED
229
229
230 @LazyProperty
230 @LazyProperty
231 def not_changed(self):
231 def not_changed(self):
232 return self.state is NodeState.NOT_CHANGED
232 return self.state is NodeState.NOT_CHANGED
233
233
234 @LazyProperty
234 @LazyProperty
235 def removed(self):
235 def removed(self):
236 return self.state is NodeState.REMOVED
236 return self.state is NodeState.REMOVED
237
237
238
238
239 class FileNode(Node):
239 class FileNode(Node):
240 """
240 """
241 Class representing file nodes.
241 Class representing file nodes.
242
242
243 :attribute: path: path to the node, relative to repostiory's root
243 :attribute: path: path to the node, relative to repostiory's root
244 :attribute: content: if given arbitrary sets content of the file
244 :attribute: content: if given arbitrary sets content of the file
245 :attribute: changeset: if given, first time content is accessed, callback
245 :attribute: changeset: if given, first time content is accessed, callback
246 :attribute: mode: octal stat mode for a node. Default is 0100644.
246 :attribute: mode: octal stat mode for a node. Default is 0100644.
247 """
247 """
248
248
249 def __init__(self, path, content=None, changeset=None, mode=None):
249 def __init__(self, path, content=None, changeset=None, mode=None):
250 """
250 """
251 Only one of ``content`` and ``changeset`` may be given. Passing both
251 Only one of ``content`` and ``changeset`` may be given. Passing both
252 would raise ``NodeError`` exception.
252 would raise ``NodeError`` exception.
253
253
254 :param path: relative path to the node
254 :param path: relative path to the node
255 :param content: content may be passed to constructor
255 :param content: content may be passed to constructor
256 :param changeset: if given, will use it to lazily fetch content
256 :param changeset: if given, will use it to lazily fetch content
257 :param mode: octal representation of ST_MODE (i.e. 0100644)
257 :param mode: octal representation of ST_MODE (i.e. 0100644)
258 """
258 """
259
259
260 if content and changeset:
260 if content and changeset:
261 raise NodeError("Cannot use both content and changeset")
261 raise NodeError("Cannot use both content and changeset")
262 super(FileNode, self).__init__(path, kind=NodeKind.FILE)
262 super(FileNode, self).__init__(path, kind=NodeKind.FILE)
263 self.changeset = changeset
263 self.changeset = changeset
264 self._content = content
264 self._content = content
265 self._mode = mode or 0100644
265 self._mode = mode or 0100644
266
266
267 @LazyProperty
267 @LazyProperty
268 def mode(self):
268 def mode(self):
269 """
269 """
270 Returns lazily mode of the FileNode. If ``changeset`` is not set, would
270 Returns lazily mode of the FileNode. If ``changeset`` is not set, would
271 use value given at initialization or 0100644 (default).
271 use value given at initialization or 0100644 (default).
272 """
272 """
273 if self.changeset:
273 if self.changeset:
274 mode = self.changeset.get_file_mode(self.path)
274 mode = self.changeset.get_file_mode(self.path)
275 else:
275 else:
276 mode = self._mode
276 mode = self._mode
277 return mode
277 return mode
278
278
279 @property
279 @property
280 def content(self):
280 def content(self):
281 """
281 """
282 Returns lazily content of the FileNode. If possible, would try to
282 Returns lazily content of the FileNode. If possible, would try to
283 decode content from UTF-8.
283 decode content from UTF-8.
284 """
284 """
285 if self.changeset:
285 if self.changeset:
286 content = self.changeset.get_file_content(self.path)
286 content = self.changeset.get_file_content(self.path)
287 else:
287 else:
288 content = self._content
288 content = self._content
289
289
290 if bool(content and '\0' in content):
290 if bool(content and '\0' in content):
291 return content
291 return content
292 return safe_unicode(content)
292 return safe_unicode(content)
293
293
294 @LazyProperty
294 @LazyProperty
295 def size(self):
295 def size(self):
296 if self.changeset:
296 if self.changeset:
297 return self.changeset.get_file_size(self.path)
297 return self.changeset.get_file_size(self.path)
298 raise NodeError("Cannot retrieve size of the file without related "
298 raise NodeError("Cannot retrieve size of the file without related "
299 "changeset attribute")
299 "changeset attribute")
300
300
301 @LazyProperty
301 @LazyProperty
302 def message(self):
302 def message(self):
303 if self.changeset:
303 if self.changeset:
304 return self.last_changeset.message
304 return self.last_changeset.message
305 raise NodeError("Cannot retrieve message of the file without related "
305 raise NodeError("Cannot retrieve message of the file without related "
306 "changeset attribute")
306 "changeset attribute")
307
307
308 @LazyProperty
308 @LazyProperty
309 def last_changeset(self):
309 def last_changeset(self):
310 if self.changeset:
310 if self.changeset:
311 return self.changeset.get_file_changeset(self.path)
311 return self.changeset.get_file_changeset(self.path)
312 raise NodeError("Cannot retrieve last changeset of the file without "
312 raise NodeError("Cannot retrieve last changeset of the file without "
313 "related changeset attribute")
313 "related changeset attribute")
314
314
315 def get_mimetype(self):
315 def get_mimetype(self):
316 """
316 """
317 Mimetype is calculated based on the file's content. If ``_mimetype``
317 Mimetype is calculated based on the file's content. If ``_mimetype``
318 attribute is available, it will be returned (backends which store
318 attribute is available, it will be returned (backends which store
319 mimetypes or can easily recognize them, should set this private
319 mimetypes or can easily recognize them, should set this private
320 attribute to indicate that type should *NOT* be calculated).
320 attribute to indicate that type should *NOT* be calculated).
321 """
321 """
322 if hasattr(self, '_mimetype'):
322 if hasattr(self, '_mimetype'):
323 if (isinstance(self._mimetype, (tuple, list,)) and
323 if (isinstance(self._mimetype, (tuple, list,)) and
324 len(self._mimetype) == 2):
324 len(self._mimetype) == 2):
325 return self._mimetype
325 return self._mimetype
326 else:
326 else:
327 raise NodeError('given _mimetype attribute must be an 2 '
327 raise NodeError('given _mimetype attribute must be an 2 '
328 'element list or tuple')
328 'element list or tuple')
329
329
330 mtype, encoding = mimetypes.guess_type(self.name)
330 mtype, encoding = mimetypes.guess_type(self.name)
331
331
332 if mtype is None:
332 if mtype is None:
333 if self.is_binary:
333 if self.is_binary:
334 mtype = 'application/octet-stream'
334 mtype = 'application/octet-stream'
335 encoding = None
335 encoding = None
336 else:
336 else:
337 mtype = 'text/plain'
337 mtype = 'text/plain'
338 encoding = None
338 encoding = None
339 return mtype, encoding
339 return mtype, encoding
340
340
341 @LazyProperty
341 @LazyProperty
342 def mimetype(self):
342 def mimetype(self):
343 """
343 """
344 Wrapper around full mimetype info. It returns only type of fetched
344 Wrapper around full mimetype info. It returns only type of fetched
345 mimetype without the encoding part. use get_mimetype function to fetch
345 mimetype without the encoding part. use get_mimetype function to fetch
346 full set of (type,encoding)
346 full set of (type,encoding)
347 """
347 """
348 return self.get_mimetype()[0]
348 return self.get_mimetype()[0]
349
349
350 @LazyProperty
350 @LazyProperty
351 def mimetype_main(self):
351 def mimetype_main(self):
352 return self.mimetype.split('/')[0]
352 return self.mimetype.split('/')[0]
353
353
354 @LazyProperty
354 @LazyProperty
355 def lexer(self):
355 def lexer(self):
356 """
356 """
357 Returns pygment's lexer class. Would try to guess lexer taking file's
357 Returns pygment's lexer class. Would try to guess lexer taking file's
358 content, name and mimetype.
358 content, name and mimetype.
359 """
359 """
360 try:
360 try:
361 lexer = lexers.guess_lexer_for_filename(self.name, self.content)
361 lexer = lexers.guess_lexer_for_filename(self.name, self.content)
362 except lexers.ClassNotFound:
362 except lexers.ClassNotFound:
363 lexer = lexers.TextLexer()
363 lexer = lexers.TextLexer()
364 # returns first alias
364 # returns first alias
365 return lexer
365 return lexer
366
366
367 @LazyProperty
367 @LazyProperty
368 def lexer_alias(self):
368 def lexer_alias(self):
369 """
369 """
370 Returns first alias of the lexer guessed for this file.
370 Returns first alias of the lexer guessed for this file.
371 """
371 """
372 return self.lexer.aliases[0]
372 return self.lexer.aliases[0]
373
373
374 @LazyProperty
374 @LazyProperty
375 def history(self):
375 def history(self):
376 """
376 """
377 Returns a list of changeset for this file in which the file was changed
377 Returns a list of changeset for this file in which the file was changed
378 """
378 """
379 if self.changeset is None:
379 if self.changeset is None:
380 raise NodeError('Unable to get changeset for this FileNode')
380 raise NodeError('Unable to get changeset for this FileNode')
381 return self.changeset.get_file_history(self.path)
381 return self.changeset.get_file_history(self.path)
382
382
383 @LazyProperty
383 @LazyProperty
384 def annotate(self):
384 def annotate(self):
385 """
385 """
386 Returns a list of three element tuples with lineno,changeset and line
386 Returns a list of three element tuples with lineno,changeset and line
387 """
387 """
388 if self.changeset is None:
388 if self.changeset is None:
389 raise NodeError('Unable to get changeset for this FileNode')
389 raise NodeError('Unable to get changeset for this FileNode')
390 return self.changeset.get_file_annotate(self.path)
390 return self.changeset.get_file_annotate(self.path)
391
391
392 @LazyProperty
392 @LazyProperty
393 def state(self):
393 def state(self):
394 if not self.changeset:
394 if not self.changeset:
395 raise NodeError("Cannot check state of the node if it's not "
395 raise NodeError("Cannot check state of the node if it's not "
396 "linked with changeset")
396 "linked with changeset")
397 elif self.path in (node.path for node in self.changeset.added):
397 elif self.path in (node.path for node in self.changeset.added):
398 return NodeState.ADDED
398 return NodeState.ADDED
399 elif self.path in (node.path for node in self.changeset.changed):
399 elif self.path in (node.path for node in self.changeset.changed):
400 return NodeState.CHANGED
400 return NodeState.CHANGED
401 else:
401 else:
402 return NodeState.NOT_CHANGED
402 return NodeState.NOT_CHANGED
403
403
404 @property
404 @property
405 def is_binary(self):
405 def is_binary(self):
406 """
406 """
407 Returns True if file has binary content.
407 Returns True if file has binary content.
408 """
408 """
409 _bin = '\0' in self.content
409 _bin = '\0' in self.content
410 return _bin
410 return _bin
411
411
412 @LazyProperty
412 @LazyProperty
413 def extension(self):
413 def extension(self):
414 """Returns filenode extension"""
414 """Returns filenode extension"""
415 return self.name.split('.')[-1]
415 return self.name.split('.')[-1]
416
416
417 def is_executable(self):
417 def is_executable(self):
418 """
418 """
419 Returns ``True`` if file has executable flag turned on.
419 Returns ``True`` if file has executable flag turned on.
420 """
420 """
421 return bool(self.mode & stat.S_IXUSR)
421 return bool(self.mode & stat.S_IXUSR)
422
422
423 def __repr__(self):
423 def __repr__(self):
424 return '<%s %r @ %s>' % (self.__class__.__name__, self.path,
424 return '<%s %r @ %s>' % (self.__class__.__name__, self.path,
425 self.changeset.short_id)
425 self.changeset.short_id)
426
426
427
427
428 class RemovedFileNode(FileNode):
428 class RemovedFileNode(FileNode):
429 """
429 """
430 Dummy FileNode class - trying to access any public attribute except path,
430 Dummy FileNode class - trying to access any public attribute except path,
431 name, kind or state (or methods/attributes checking those two) would raise
431 name, kind or state (or methods/attributes checking those two) would raise
432 RemovedFileNodeError.
432 RemovedFileNodeError.
433 """
433 """
434 ALLOWED_ATTRIBUTES = ['name', 'path', 'state', 'is_root', 'is_file',
434 ALLOWED_ATTRIBUTES = [
435 'is_dir', 'kind', 'added', 'changed', 'not_changed', 'removed']
435 'name', 'path', 'state', 'is_root', 'is_file', 'is_dir', 'kind',
436 'added', 'changed', 'not_changed', 'removed'
437 ]
436
438
437 def __init__(self, path):
439 def __init__(self, path):
438 """
440 """
439 :param path: relative path to the node
441 :param path: relative path to the node
440 """
442 """
441 super(RemovedFileNode, self).__init__(path=path)
443 super(RemovedFileNode, self).__init__(path=path)
442
444
443 def __getattribute__(self, attr):
445 def __getattribute__(self, attr):
444 if attr.startswith('_') or attr in RemovedFileNode.ALLOWED_ATTRIBUTES:
446 if attr.startswith('_') or attr in RemovedFileNode.ALLOWED_ATTRIBUTES:
445 return super(RemovedFileNode, self).__getattribute__(attr)
447 return super(RemovedFileNode, self).__getattribute__(attr)
446 raise RemovedFileNodeError("Cannot access attribute %s on "
448 raise RemovedFileNodeError("Cannot access attribute %s on "
447 "RemovedFileNode" % attr)
449 "RemovedFileNode" % attr)
448
450
449 @LazyProperty
451 @LazyProperty
450 def state(self):
452 def state(self):
451 return NodeState.REMOVED
453 return NodeState.REMOVED
452
454
453
455
454 class DirNode(Node):
456 class DirNode(Node):
455 """
457 """
456 DirNode stores list of files and directories within this node.
458 DirNode stores list of files and directories within this node.
457 Nodes may be used standalone but within repository context they
459 Nodes may be used standalone but within repository context they
458 lazily fetch data within same repositorty's changeset.
460 lazily fetch data within same repositorty's changeset.
459 """
461 """
460
462
461 def __init__(self, path, nodes=(), changeset=None):
463 def __init__(self, path, nodes=(), changeset=None):
462 """
464 """
463 Only one of ``nodes`` and ``changeset`` may be given. Passing both
465 Only one of ``nodes`` and ``changeset`` may be given. Passing both
464 would raise ``NodeError`` exception.
466 would raise ``NodeError`` exception.
465
467
466 :param path: relative path to the node
468 :param path: relative path to the node
467 :param nodes: content may be passed to constructor
469 :param nodes: content may be passed to constructor
468 :param changeset: if given, will use it to lazily fetch content
470 :param changeset: if given, will use it to lazily fetch content
469 :param size: always 0 for ``DirNode``
471 :param size: always 0 for ``DirNode``
470 """
472 """
471 if nodes and changeset:
473 if nodes and changeset:
472 raise NodeError("Cannot use both nodes and changeset")
474 raise NodeError("Cannot use both nodes and changeset")
473 super(DirNode, self).__init__(path, NodeKind.DIR)
475 super(DirNode, self).__init__(path, NodeKind.DIR)
474 self.changeset = changeset
476 self.changeset = changeset
475 self._nodes = nodes
477 self._nodes = nodes
476
478
477 @LazyProperty
479 @LazyProperty
478 def content(self):
480 def content(self):
479 raise NodeError("%s represents a dir and has no ``content`` attribute"
481 raise NodeError("%s represents a dir and has no ``content`` attribute"
480 % self)
482 % self)
481
483
482 @LazyProperty
484 @LazyProperty
483 def nodes(self):
485 def nodes(self):
484 if self.changeset:
486 if self.changeset:
485 nodes = self.changeset.get_nodes(self.path)
487 nodes = self.changeset.get_nodes(self.path)
486 else:
488 else:
487 nodes = self._nodes
489 nodes = self._nodes
488 self._nodes_dict = dict((node.path, node) for node in nodes)
490 self._nodes_dict = dict((node.path, node) for node in nodes)
489 return sorted(nodes)
491 return sorted(nodes)
490
492
491 @LazyProperty
493 @LazyProperty
492 def files(self):
494 def files(self):
493 return sorted((node for node in self.nodes if node.is_file()))
495 return sorted((node for node in self.nodes if node.is_file()))
494
496
495 @LazyProperty
497 @LazyProperty
496 def dirs(self):
498 def dirs(self):
497 return sorted((node for node in self.nodes if node.is_dir()))
499 return sorted((node for node in self.nodes if node.is_dir()))
498
500
499 def __iter__(self):
501 def __iter__(self):
500 for node in self.nodes:
502 for node in self.nodes:
501 yield node
503 yield node
502
504
503 def get_node(self, path):
505 def get_node(self, path):
504 """
506 """
505 Returns node from within this particular ``DirNode``, so it is now
507 Returns node from within this particular ``DirNode``, so it is now
506 allowed to fetch, i.e. node located at 'docs/api/index.rst' from node
508 allowed to fetch, i.e. node located at 'docs/api/index.rst' from node
507 'docs'. In order to access deeper nodes one must fetch nodes between
509 'docs'. In order to access deeper nodes one must fetch nodes between
508 them first - this would work::
510 them first - this would work::
509
511
510 docs = root.get_node('docs')
512 docs = root.get_node('docs')
511 docs.get_node('api').get_node('index.rst')
513 docs.get_node('api').get_node('index.rst')
512
514
513 :param: path - relative to the current node
515 :param: path - relative to the current node
514
516
515 .. note::
517 .. note::
516 To access lazily (as in example above) node have to be initialized
518 To access lazily (as in example above) node have to be initialized
517 with related changeset object - without it node is out of
519 with related changeset object - without it node is out of
518 context and may know nothing about anything else than nearest
520 context and may know nothing about anything else than nearest
519 (located at same level) nodes.
521 (located at same level) nodes.
520 """
522 """
521 try:
523 try:
522 path = path.rstrip('/')
524 path = path.rstrip('/')
523 if path == '':
525 if path == '':
524 raise NodeError("Cannot retrieve node without path")
526 raise NodeError("Cannot retrieve node without path")
525 self.nodes # access nodes first in order to set _nodes_dict
527 self.nodes # access nodes first in order to set _nodes_dict
526 paths = path.split('/')
528 paths = path.split('/')
527 if len(paths) == 1:
529 if len(paths) == 1:
528 if not self.is_root():
530 if not self.is_root():
529 path = '/'.join((self.path, paths[0]))
531 path = '/'.join((self.path, paths[0]))
530 else:
532 else:
531 path = paths[0]
533 path = paths[0]
532 return self._nodes_dict[path]
534 return self._nodes_dict[path]
533 elif len(paths) > 1:
535 elif len(paths) > 1:
534 if self.changeset is None:
536 if self.changeset is None:
535 raise NodeError("Cannot access deeper "
537 raise NodeError("Cannot access deeper "
536 "nodes without changeset")
538 "nodes without changeset")
537 else:
539 else:
538 path1, path2 = paths[0], '/'.join(paths[1:])
540 path1, path2 = paths[0], '/'.join(paths[1:])
539 return self.get_node(path1).get_node(path2)
541 return self.get_node(path1).get_node(path2)
540 else:
542 else:
541 raise KeyError
543 raise KeyError
542 except KeyError:
544 except KeyError:
543 raise NodeError("Node does not exist at %s" % path)
545 raise NodeError("Node does not exist at %s" % path)
544
546
545 @LazyProperty
547 @LazyProperty
546 def state(self):
548 def state(self):
547 raise NodeError("Cannot access state of DirNode")
549 raise NodeError("Cannot access state of DirNode")
548
550
549 @LazyProperty
551 @LazyProperty
550 def size(self):
552 def size(self):
551 size = 0
553 size = 0
552 for root, dirs, files in self.changeset.walk(self.path):
554 for root, dirs, files in self.changeset.walk(self.path):
553 for f in files:
555 for f in files:
554 size += f.size
556 size += f.size
555
557
556 return size
558 return size
557
559
558 def __repr__(self):
560 def __repr__(self):
559 return '<%s %r @ %s>' % (self.__class__.__name__, self.path,
561 return '<%s %r @ %s>' % (self.__class__.__name__, self.path,
560 self.changeset.short_id)
562 self.changeset.short_id)
561
563
562
564
563 class RootNode(DirNode):
565 class RootNode(DirNode):
564 """
566 """
565 DirNode being the root node of the repository.
567 DirNode being the root node of the repository.
566 """
568 """
567
569
568 def __init__(self, nodes=(), changeset=None):
570 def __init__(self, nodes=(), changeset=None):
569 super(RootNode, self).__init__(path='', nodes=nodes,
571 super(RootNode, self).__init__(path='', nodes=nodes,
570 changeset=changeset)
572 changeset=changeset)
571
573
572 def __repr__(self):
574 def __repr__(self):
573 return '<%s>' % self.__class__.__name__
575 return '<%s>' % self.__class__.__name__
574
576
575
577
576 class SubModuleNode(Node):
578 class SubModuleNode(Node):
577 """
579 """
578 represents a SubModule of Git or SubRepo of Mercurial
580 represents a SubModule of Git or SubRepo of Mercurial
579 """
581 """
580 is_binary = False
582 is_binary = False
581 size = 0
583 size = 0
582
584
583 def __init__(self, name, url=None, changeset=None, alias=None):
585 def __init__(self, name, url=None, changeset=None, alias=None):
584 self.path = name
586 self.path = name
585 self.kind = NodeKind.SUBMODULE
587 self.kind = NodeKind.SUBMODULE
586 self.alias = alias
588 self.alias = alias
587 # we have to use emptyChangeset here since this can point to svn/git/hg
589 # we have to use emptyChangeset here since this can point to svn/git/hg
588 # submodules we cannot get from repository
590 # submodules we cannot get from repository
589 self.changeset = EmptyChangeset(str(changeset), alias=alias)
591 self.changeset = EmptyChangeset(str(changeset), alias=alias)
590 self.url = url or self._extract_submodule_url()
592 self.url = url or self._extract_submodule_url()
591
593
592 def __repr__(self):
594 def __repr__(self):
593 return '<%s %r @ %s>' % (self.__class__.__name__, self.path,
595 return '<%s %r @ %s>' % (self.__class__.__name__, self.path,
594 self.changeset.short_id)
596 self.changeset.short_id)
595
597
596 def _extract_submodule_url(self):
598 def _extract_submodule_url(self):
597 if self.alias == 'git':
599 if self.alias == 'git':
598 #TODO: find a way to parse gits submodule file and extract the
600 #TODO: find a way to parse gits submodule file and extract the
599 # linking URL
601 # linking URL
600 return self.path
602 return self.path
601 if self.alias == 'hg':
603 if self.alias == 'hg':
602 return self.path
604 return self.path
603
605
604 @LazyProperty
606 @LazyProperty
605 def name(self):
607 def name(self):
606 """
608 """
607 Returns name of the node so if its path
609 Returns name of the node so if its path
608 then only last part is returned.
610 then only last part is returned.
609 """
611 """
610 org = safe_unicode(self.path.rstrip('/').split('/')[-1])
612 org = safe_unicode(self.path.rstrip('/').split('/')[-1])
611 return u'%s @ %s' % (org, self.changeset.short_id)
613 return u'%s @ %s' % (org, self.changeset.short_id)
@@ -1,4446 +1,4446 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 {
2 {
3 border: 0;
3 border: 0;
4 outline: 0;
4 outline: 0;
5 font-size: 100%;
5 font-size: 100%;
6 vertical-align: baseline;
6 vertical-align: baseline;
7 background: transparent;
7 background: transparent;
8 margin: 0;
8 margin: 0;
9 padding: 0;
9 padding: 0;
10 }
10 }
11
11
12 body {
12 body {
13 line-height: 1;
13 line-height: 1;
14 height: 100%;
14 height: 100%;
15 background: url("../images/background.png") repeat scroll 0 0 #B0B0B0;
15 background: url("../images/background.png") repeat scroll 0 0 #B0B0B0;
16 font-family: Lucida Grande, Verdana, Lucida Sans Regular,
16 font-family: Lucida Grande, Verdana, Lucida Sans Regular,
17 Lucida Sans Unicode, Arial, sans-serif; font-size : 12px;
17 Lucida Sans Unicode, Arial, sans-serif; font-size : 12px;
18 color: #000;
18 color: #000;
19 margin: 0;
19 margin: 0;
20 padding: 0;
20 padding: 0;
21 font-size: 12px;
21 font-size: 12px;
22 }
22 }
23
23
24 ol,ul {
24 ol,ul {
25 list-style: none;
25 list-style: none;
26 }
26 }
27
27
28 blockquote,q {
28 blockquote,q {
29 quotes: none;
29 quotes: none;
30 }
30 }
31
31
32 blockquote:before,blockquote:after,q:before,q:after {
32 blockquote:before,blockquote:after,q:before,q:after {
33 content: none;
33 content: none;
34 }
34 }
35
35
36 :focus {
36 :focus {
37 outline: 0;
37 outline: 0;
38 }
38 }
39
39
40 del {
40 del {
41 text-decoration: line-through;
41 text-decoration: line-through;
42 }
42 }
43
43
44 table {
44 table {
45 border-collapse: collapse;
45 border-collapse: collapse;
46 border-spacing: 0;
46 border-spacing: 0;
47 }
47 }
48
48
49 html {
49 html {
50 height: 100%;
50 height: 100%;
51 }
51 }
52
52
53 a {
53 a {
54 color: #003367;
54 color: #003367;
55 text-decoration: none;
55 text-decoration: none;
56 cursor: pointer;
56 cursor: pointer;
57 }
57 }
58
58
59 a:hover {
59 a:hover {
60 color: #316293;
60 color: #316293;
61 text-decoration: underline;
61 text-decoration: underline;
62 }
62 }
63
63
64 h1,h2,h3,h4,h5,h6 {
64 h1,h2,h3,h4,h5,h6 {
65 color: #292929;
65 color: #292929;
66 font-weight: 700;
66 font-weight: 700;
67 }
67 }
68
68
69 h1 {
69 h1 {
70 font-size: 22px;
70 font-size: 22px;
71 }
71 }
72
72
73 h2 {
73 h2 {
74 font-size: 20px;
74 font-size: 20px;
75 }
75 }
76
76
77 h3 {
77 h3 {
78 font-size: 18px;
78 font-size: 18px;
79 }
79 }
80
80
81 h4 {
81 h4 {
82 font-size: 16px;
82 font-size: 16px;
83 }
83 }
84
84
85 h5 {
85 h5 {
86 font-size: 14px;
86 font-size: 14px;
87 }
87 }
88
88
89 h6 {
89 h6 {
90 font-size: 11px;
90 font-size: 11px;
91 }
91 }
92
92
93 ul.circle {
93 ul.circle {
94 list-style-type: circle;
94 list-style-type: circle;
95 }
95 }
96
96
97 ul.disc {
97 ul.disc {
98 list-style-type: disc;
98 list-style-type: disc;
99 }
99 }
100
100
101 ul.square {
101 ul.square {
102 list-style-type: square;
102 list-style-type: square;
103 }
103 }
104
104
105 ol.lower-roman {
105 ol.lower-roman {
106 list-style-type: lower-roman;
106 list-style-type: lower-roman;
107 }
107 }
108
108
109 ol.upper-roman {
109 ol.upper-roman {
110 list-style-type: upper-roman;
110 list-style-type: upper-roman;
111 }
111 }
112
112
113 ol.lower-alpha {
113 ol.lower-alpha {
114 list-style-type: lower-alpha;
114 list-style-type: lower-alpha;
115 }
115 }
116
116
117 ol.upper-alpha {
117 ol.upper-alpha {
118 list-style-type: upper-alpha;
118 list-style-type: upper-alpha;
119 }
119 }
120
120
121 ol.decimal {
121 ol.decimal {
122 list-style-type: decimal;
122 list-style-type: decimal;
123 }
123 }
124
124
125 div.color {
125 div.color {
126 clear: both;
126 clear: both;
127 overflow: hidden;
127 overflow: hidden;
128 position: absolute;
128 position: absolute;
129 background: #FFF;
129 background: #FFF;
130 margin: 7px 0 0 60px;
130 margin: 7px 0 0 60px;
131 padding: 1px 1px 1px 0;
131 padding: 1px 1px 1px 0;
132 }
132 }
133
133
134 div.color a {
134 div.color a {
135 width: 15px;
135 width: 15px;
136 height: 15px;
136 height: 15px;
137 display: block;
137 display: block;
138 float: left;
138 float: left;
139 margin: 0 0 0 1px;
139 margin: 0 0 0 1px;
140 padding: 0;
140 padding: 0;
141 }
141 }
142
142
143 div.options {
143 div.options {
144 clear: both;
144 clear: both;
145 overflow: hidden;
145 overflow: hidden;
146 position: absolute;
146 position: absolute;
147 background: #FFF;
147 background: #FFF;
148 margin: 7px 0 0 162px;
148 margin: 7px 0 0 162px;
149 padding: 0;
149 padding: 0;
150 }
150 }
151
151
152 div.options a {
152 div.options a {
153 height: 1%;
153 height: 1%;
154 display: block;
154 display: block;
155 text-decoration: none;
155 text-decoration: none;
156 margin: 0;
156 margin: 0;
157 padding: 3px 8px;
157 padding: 3px 8px;
158 }
158 }
159
159
160 .top-left-rounded-corner {
160 .top-left-rounded-corner {
161 -webkit-border-top-left-radius: 8px;
161 -webkit-border-top-left-radius: 8px;
162 -khtml-border-radius-topleft: 8px;
162 -khtml-border-radius-topleft: 8px;
163 -moz-border-radius-topleft: 8px;
163 -moz-border-radius-topleft: 8px;
164 border-top-left-radius: 8px;
164 border-top-left-radius: 8px;
165 }
165 }
166
166
167 .top-right-rounded-corner {
167 .top-right-rounded-corner {
168 -webkit-border-top-right-radius: 8px;
168 -webkit-border-top-right-radius: 8px;
169 -khtml-border-radius-topright: 8px;
169 -khtml-border-radius-topright: 8px;
170 -moz-border-radius-topright: 8px;
170 -moz-border-radius-topright: 8px;
171 border-top-right-radius: 8px;
171 border-top-right-radius: 8px;
172 }
172 }
173
173
174 .bottom-left-rounded-corner {
174 .bottom-left-rounded-corner {
175 -webkit-border-bottom-left-radius: 8px;
175 -webkit-border-bottom-left-radius: 8px;
176 -khtml-border-radius-bottomleft: 8px;
176 -khtml-border-radius-bottomleft: 8px;
177 -moz-border-radius-bottomleft: 8px;
177 -moz-border-radius-bottomleft: 8px;
178 border-bottom-left-radius: 8px;
178 border-bottom-left-radius: 8px;
179 }
179 }
180
180
181 .bottom-right-rounded-corner {
181 .bottom-right-rounded-corner {
182 -webkit-border-bottom-right-radius: 8px;
182 -webkit-border-bottom-right-radius: 8px;
183 -khtml-border-radius-bottomright: 8px;
183 -khtml-border-radius-bottomright: 8px;
184 -moz-border-radius-bottomright: 8px;
184 -moz-border-radius-bottomright: 8px;
185 border-bottom-right-radius: 8px;
185 border-bottom-right-radius: 8px;
186 }
186 }
187
187
188 .top-left-rounded-corner-mid {
188 .top-left-rounded-corner-mid {
189 -webkit-border-top-left-radius: 4px;
189 -webkit-border-top-left-radius: 4px;
190 -khtml-border-radius-topleft: 4px;
190 -khtml-border-radius-topleft: 4px;
191 -moz-border-radius-topleft: 4px;
191 -moz-border-radius-topleft: 4px;
192 border-top-left-radius: 4px;
192 border-top-left-radius: 4px;
193 }
193 }
194
194
195 .top-right-rounded-corner-mid {
195 .top-right-rounded-corner-mid {
196 -webkit-border-top-right-radius: 4px;
196 -webkit-border-top-right-radius: 4px;
197 -khtml-border-radius-topright: 4px;
197 -khtml-border-radius-topright: 4px;
198 -moz-border-radius-topright: 4px;
198 -moz-border-radius-topright: 4px;
199 border-top-right-radius: 4px;
199 border-top-right-radius: 4px;
200 }
200 }
201
201
202 .bottom-left-rounded-corner-mid {
202 .bottom-left-rounded-corner-mid {
203 -webkit-border-bottom-left-radius: 4px;
203 -webkit-border-bottom-left-radius: 4px;
204 -khtml-border-radius-bottomleft: 4px;
204 -khtml-border-radius-bottomleft: 4px;
205 -moz-border-radius-bottomleft: 4px;
205 -moz-border-radius-bottomleft: 4px;
206 border-bottom-left-radius: 4px;
206 border-bottom-left-radius: 4px;
207 }
207 }
208
208
209 .bottom-right-rounded-corner-mid {
209 .bottom-right-rounded-corner-mid {
210 -webkit-border-bottom-right-radius: 4px;
210 -webkit-border-bottom-right-radius: 4px;
211 -khtml-border-radius-bottomright: 4px;
211 -khtml-border-radius-bottomright: 4px;
212 -moz-border-radius-bottomright: 4px;
212 -moz-border-radius-bottomright: 4px;
213 border-bottom-right-radius: 4px;
213 border-bottom-right-radius: 4px;
214 }
214 }
215
215
216 .help-block {
216 .help-block {
217 color: #999999;
217 color: #999999;
218 display: block;
218 display: block;
219 margin-bottom: 0;
219 margin-bottom: 0;
220 margin-top: 5px;
220 margin-top: 5px;
221 }
221 }
222
222
223 #header {
223 #header {
224 margin: 0;
224 margin: 0;
225 padding: 0 10px;
225 padding: 0 10px;
226 }
226 }
227
227
228 #header ul#logged-user {
228 #header ul#logged-user {
229 margin-bottom: 5px !important;
229 margin-bottom: 5px !important;
230 -webkit-border-radius: 0px 0px 8px 8px;
230 -webkit-border-radius: 0px 0px 8px 8px;
231 -khtml-border-radius: 0px 0px 8px 8px;
231 -khtml-border-radius: 0px 0px 8px 8px;
232 -moz-border-radius: 0px 0px 8px 8px;
232 -moz-border-radius: 0px 0px 8px 8px;
233 border-radius: 0px 0px 8px 8px;
233 border-radius: 0px 0px 8px 8px;
234 height: 37px;
234 height: 37px;
235 background-color: #003B76;
235 background-color: #003B76;
236 background-repeat: repeat-x;
236 background-repeat: repeat-x;
237 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
237 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
238 background-image: -moz-linear-gradient(top, #003b76, #00376e);
238 background-image: -moz-linear-gradient(top, #003b76, #00376e);
239 background-image: -ms-linear-gradient(top, #003b76, #00376e);
239 background-image: -ms-linear-gradient(top, #003b76, #00376e);
240 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
240 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
241 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
241 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
242 background-image: -o-linear-gradient(top, #003b76, #00376e);
242 background-image: -o-linear-gradient(top, #003b76, #00376e);
243 background-image: linear-gradient(top, #003b76, #00376e);
243 background-image: linear-gradient(top, #003b76, #00376e);
244 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
244 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
245 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
245 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
246 }
246 }
247
247
248 #header ul#logged-user li {
248 #header ul#logged-user li {
249 list-style: none;
249 list-style: none;
250 float: left;
250 float: left;
251 margin: 8px 0 0;
251 margin: 8px 0 0;
252 padding: 4px 12px;
252 padding: 4px 12px;
253 border-left: 1px solid #316293;
253 border-left: 1px solid #316293;
254 }
254 }
255
255
256 #header ul#logged-user li.first {
256 #header ul#logged-user li.first {
257 border-left: none;
257 border-left: none;
258 margin: 4px;
258 margin: 4px;
259 }
259 }
260
260
261 #header ul#logged-user li.first div.gravatar {
261 #header ul#logged-user li.first div.gravatar {
262 margin-top: -2px;
262 margin-top: -2px;
263 }
263 }
264
264
265 #header ul#logged-user li.first div.account {
265 #header ul#logged-user li.first div.account {
266 padding-top: 4px;
266 padding-top: 4px;
267 float: left;
267 float: left;
268 }
268 }
269
269
270 #header ul#logged-user li.last {
270 #header ul#logged-user li.last {
271 border-right: none;
271 border-right: none;
272 }
272 }
273
273
274 #header ul#logged-user li a {
274 #header ul#logged-user li a {
275 color: #fff;
275 color: #fff;
276 font-weight: 700;
276 font-weight: 700;
277 text-decoration: none;
277 text-decoration: none;
278 }
278 }
279
279
280 #header ul#logged-user li a:hover {
280 #header ul#logged-user li a:hover {
281 text-decoration: underline;
281 text-decoration: underline;
282 }
282 }
283
283
284 #header ul#logged-user li.highlight a {
284 #header ul#logged-user li.highlight a {
285 color: #fff;
285 color: #fff;
286 }
286 }
287
287
288 #header ul#logged-user li.highlight a:hover {
288 #header ul#logged-user li.highlight a:hover {
289 color: #FFF;
289 color: #FFF;
290 }
290 }
291
291
292 #header #header-inner {
292 #header #header-inner {
293 min-height: 44px;
293 min-height: 44px;
294 clear: both;
294 clear: both;
295 position: relative;
295 position: relative;
296 background-color: #003B76;
296 background-color: #003B76;
297 background-repeat: repeat-x;
297 background-repeat: repeat-x;
298 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
298 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
299 background-image: -moz-linear-gradient(top, #003b76, #00376e);
299 background-image: -moz-linear-gradient(top, #003b76, #00376e);
300 background-image: -ms-linear-gradient(top, #003b76, #00376e);
300 background-image: -ms-linear-gradient(top, #003b76, #00376e);
301 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76),color-stop(100%, #00376e) );
301 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76),color-stop(100%, #00376e) );
302 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
302 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
303 background-image: -o-linear-gradient(top, #003b76, #00376e);
303 background-image: -o-linear-gradient(top, #003b76, #00376e);
304 background-image: linear-gradient(top, #003b76, #00376e);
304 background-image: linear-gradient(top, #003b76, #00376e);
305 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
305 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
306 margin: 0;
306 margin: 0;
307 padding: 0;
307 padding: 0;
308 display: block;
308 display: block;
309 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
309 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
310 -webkit-border-radius: 4px 4px 4px 4px;
310 -webkit-border-radius: 4px 4px 4px 4px;
311 -khtml-border-radius: 4px 4px 4px 4px;
311 -khtml-border-radius: 4px 4px 4px 4px;
312 -moz-border-radius: 4px 4px 4px 4px;
312 -moz-border-radius: 4px 4px 4px 4px;
313 border-radius: 4px 4px 4px 4px;
313 border-radius: 4px 4px 4px 4px;
314 }
314 }
315 #header #header-inner.hover{
315 #header #header-inner.hover{
316 position: fixed !important;
316 position: fixed !important;
317 width: 100% !important;
317 width: 100% !important;
318 margin-left: -10px !important;
318 margin-left: -10px !important;
319 z-index: 10000;
319 z-index: 10000;
320 -webkit-border-radius: 0px 0px 0px 0px;
320 -webkit-border-radius: 0px 0px 0px 0px;
321 -khtml-border-radius: 0px 0px 0px 0px;
321 -khtml-border-radius: 0px 0px 0px 0px;
322 -moz-border-radius: 0px 0px 0px 0px;
322 -moz-border-radius: 0px 0px 0px 0px;
323 border-radius: 0px 0px 0px 0px;
323 border-radius: 0px 0px 0px 0px;
324 }
324 }
325
325
326 .ie7 #header #header-inner.hover,
326 .ie7 #header #header-inner.hover,
327 .ie8 #header #header-inner.hover,
327 .ie8 #header #header-inner.hover,
328 .ie9 #header #header-inner.hover
328 .ie9 #header #header-inner.hover
329 {
329 {
330 z-index: auto !important;
330 z-index: auto !important;
331 }
331 }
332
332
333 #header #header-inner #home a {
333 #header #header-inner #home a {
334 height: 40px;
334 height: 40px;
335 width: 46px;
335 width: 46px;
336 display: block;
336 display: block;
337 background: url("../images/button_home.png");
337 background: url("../images/button_home.png");
338 background-position: 0 0;
338 background-position: 0 0;
339 margin: 0;
339 margin: 0;
340 padding: 0;
340 padding: 0;
341 }
341 }
342
342
343 #header #header-inner #home a:hover {
343 #header #header-inner #home a:hover {
344 background-position: 0 -40px;
344 background-position: 0 -40px;
345 }
345 }
346
346
347 #header #header-inner #logo {
347 #header #header-inner #logo {
348 float: left;
348 float: left;
349 position: absolute;
349 position: absolute;
350 }
350 }
351
351
352 #header #header-inner #logo h1 {
352 #header #header-inner #logo h1 {
353 color: #FFF;
353 color: #FFF;
354 font-size: 20px;
354 font-size: 20px;
355 margin: 12px 0 0 13px;
355 margin: 12px 0 0 13px;
356 padding: 0;
356 padding: 0;
357 }
357 }
358
358
359 #header #header-inner #logo a {
359 #header #header-inner #logo a {
360 color: #fff;
360 color: #fff;
361 text-decoration: none;
361 text-decoration: none;
362 }
362 }
363
363
364 #header #header-inner #logo a:hover {
364 #header #header-inner #logo a:hover {
365 color: #bfe3ff;
365 color: #bfe3ff;
366 }
366 }
367
367
368 #header #header-inner #quick,#header #header-inner #quick ul {
368 #header #header-inner #quick,#header #header-inner #quick ul {
369 position: relative;
369 position: relative;
370 float: right;
370 float: right;
371 list-style-type: none;
371 list-style-type: none;
372 list-style-position: outside;
372 list-style-position: outside;
373 margin: 8px 8px 0 0;
373 margin: 8px 8px 0 0;
374 padding: 0;
374 padding: 0;
375 }
375 }
376
376
377 #header #header-inner #quick li {
377 #header #header-inner #quick li {
378 position: relative;
378 position: relative;
379 float: left;
379 float: left;
380 margin: 0 5px 0 0;
380 margin: 0 5px 0 0;
381 padding: 0;
381 padding: 0;
382 }
382 }
383
383
384 #header #header-inner #quick li a.menu_link {
384 #header #header-inner #quick li a.menu_link {
385 top: 0;
385 top: 0;
386 left: 0;
386 left: 0;
387 height: 1%;
387 height: 1%;
388 display: block;
388 display: block;
389 clear: both;
389 clear: both;
390 overflow: hidden;
390 overflow: hidden;
391 color: #FFF;
391 color: #FFF;
392 font-weight: 700;
392 font-weight: 700;
393 text-decoration: none;
393 text-decoration: none;
394 background: #369;
394 background: #369;
395 padding: 0;
395 padding: 0;
396 -webkit-border-radius: 4px 4px 4px 4px;
396 -webkit-border-radius: 4px 4px 4px 4px;
397 -khtml-border-radius: 4px 4px 4px 4px;
397 -khtml-border-radius: 4px 4px 4px 4px;
398 -moz-border-radius: 4px 4px 4px 4px;
398 -moz-border-radius: 4px 4px 4px 4px;
399 border-radius: 4px 4px 4px 4px;
399 border-radius: 4px 4px 4px 4px;
400 }
400 }
401
401
402 #header #header-inner #quick li span.short {
402 #header #header-inner #quick li span.short {
403 padding: 9px 6px 8px 6px;
403 padding: 9px 6px 8px 6px;
404 }
404 }
405
405
406 #header #header-inner #quick li span {
406 #header #header-inner #quick li span {
407 top: 0;
407 top: 0;
408 right: 0;
408 right: 0;
409 height: 1%;
409 height: 1%;
410 display: block;
410 display: block;
411 float: left;
411 float: left;
412 border-left: 1px solid #3f6f9f;
412 border-left: 1px solid #3f6f9f;
413 margin: 0;
413 margin: 0;
414 padding: 10px 12px 8px 10px;
414 padding: 10px 12px 8px 10px;
415 }
415 }
416
416
417 #header #header-inner #quick li span.normal {
417 #header #header-inner #quick li span.normal {
418 border: none;
418 border: none;
419 padding: 10px 12px 8px;
419 padding: 10px 12px 8px;
420 }
420 }
421
421
422 #header #header-inner #quick li span.icon {
422 #header #header-inner #quick li span.icon {
423 top: 0;
423 top: 0;
424 left: 0;
424 left: 0;
425 border-left: none;
425 border-left: none;
426 border-right: 1px solid #2e5c89;
426 border-right: 1px solid #2e5c89;
427 padding: 8px 6px 4px;
427 padding: 8px 6px 4px;
428 }
428 }
429
429
430 #header #header-inner #quick li span.icon_short {
430 #header #header-inner #quick li span.icon_short {
431 top: 0;
431 top: 0;
432 left: 0;
432 left: 0;
433 border-left: none;
433 border-left: none;
434 border-right: 1px solid #2e5c89;
434 border-right: 1px solid #2e5c89;
435 padding: 8px 6px 4px;
435 padding: 8px 6px 4px;
436 }
436 }
437
437
438 #header #header-inner #quick li span.icon img,#header #header-inner #quick li span.icon_short img
438 #header #header-inner #quick li span.icon img,#header #header-inner #quick li span.icon_short img
439 {
439 {
440 margin: 0px -2px 0px 0px;
440 margin: 0px -2px 0px 0px;
441 }
441 }
442
442
443 #header #header-inner #quick li a:hover {
443 #header #header-inner #quick li a:hover {
444 background: #4e4e4e no-repeat top left;
444 background: #4e4e4e no-repeat top left;
445 }
445 }
446
446
447 #header #header-inner #quick li a:hover span {
447 #header #header-inner #quick li a:hover span {
448 border-left: 1px solid #545454;
448 border-left: 1px solid #545454;
449 }
449 }
450
450
451 #header #header-inner #quick li a:hover span.icon,#header #header-inner #quick li a:hover span.icon_short
451 #header #header-inner #quick li a:hover span.icon,#header #header-inner #quick li a:hover span.icon_short
452 {
452 {
453 border-left: none;
453 border-left: none;
454 border-right: 1px solid #464646;
454 border-right: 1px solid #464646;
455 }
455 }
456
456
457 #header #header-inner #quick ul {
457 #header #header-inner #quick ul {
458 top: 29px;
458 top: 29px;
459 right: 0;
459 right: 0;
460 min-width: 200px;
460 min-width: 200px;
461 display: none;
461 display: none;
462 position: absolute;
462 position: absolute;
463 background: #FFF;
463 background: #FFF;
464 border: 1px solid #666;
464 border: 1px solid #666;
465 border-top: 1px solid #003367;
465 border-top: 1px solid #003367;
466 z-index: 100;
466 z-index: 100;
467 margin: 0px 0px 0px 0px;
467 margin: 0px 0px 0px 0px;
468 padding: 0;
468 padding: 0;
469 }
469 }
470
470
471 #header #header-inner #quick ul.repo_switcher {
471 #header #header-inner #quick ul.repo_switcher {
472 max-height: 275px;
472 max-height: 275px;
473 overflow-x: hidden;
473 overflow-x: hidden;
474 overflow-y: auto;
474 overflow-y: auto;
475 }
475 }
476
476
477 #header #header-inner #quick ul.repo_switcher li.qfilter_rs {
477 #header #header-inner #quick ul.repo_switcher li.qfilter_rs {
478 float: none;
478 float: none;
479 margin: 0;
479 margin: 0;
480 border-bottom: 2px solid #003367;
480 border-bottom: 2px solid #003367;
481 }
481 }
482
482
483 #header #header-inner #quick .repo_switcher_type {
483 #header #header-inner #quick .repo_switcher_type {
484 position: absolute;
484 position: absolute;
485 left: 0;
485 left: 0;
486 top: 9px;
486 top: 9px;
487 }
487 }
488
488
489 #header #header-inner #quick li ul li {
489 #header #header-inner #quick li ul li {
490 border-bottom: 1px solid #ddd;
490 border-bottom: 1px solid #ddd;
491 }
491 }
492
492
493 #header #header-inner #quick li ul li a {
493 #header #header-inner #quick li ul li a {
494 width: 182px;
494 width: 182px;
495 height: auto;
495 height: auto;
496 display: block;
496 display: block;
497 float: left;
497 float: left;
498 background: #FFF;
498 background: #FFF;
499 color: #003367;
499 color: #003367;
500 font-weight: 400;
500 font-weight: 400;
501 margin: 0;
501 margin: 0;
502 padding: 7px 9px;
502 padding: 7px 9px;
503 }
503 }
504
504
505 #header #header-inner #quick li ul li a:hover {
505 #header #header-inner #quick li ul li a:hover {
506 color: #000;
506 color: #000;
507 background: #FFF;
507 background: #FFF;
508 }
508 }
509
509
510 #header #header-inner #quick ul ul {
510 #header #header-inner #quick ul ul {
511 top: auto;
511 top: auto;
512 }
512 }
513
513
514 #header #header-inner #quick li ul ul {
514 #header #header-inner #quick li ul ul {
515 right: 200px;
515 right: 200px;
516 max-height: 275px;
516 max-height: 275px;
517 overflow: auto;
517 overflow: auto;
518 overflow-x: hidden;
518 overflow-x: hidden;
519 white-space: normal;
519 white-space: normal;
520 }
520 }
521
521
522 #header #header-inner #quick li ul li a.journal,#header #header-inner #quick li ul li a.journal:hover
522 #header #header-inner #quick li ul li a.journal,#header #header-inner #quick li ul li a.journal:hover
523 {
523 {
524 background: url("../images/icons/book.png") no-repeat scroll 4px 9px
524 background: url("../images/icons/book.png") no-repeat scroll 4px 9px
525 #FFF;
525 #FFF;
526 width: 167px;
526 width: 167px;
527 margin: 0;
527 margin: 0;
528 padding: 12px 9px 7px 24px;
528 padding: 12px 9px 7px 24px;
529 }
529 }
530
530
531 #header #header-inner #quick li ul li a.private_repo,#header #header-inner #quick li ul li a.private_repo:hover
531 #header #header-inner #quick li ul li a.private_repo,#header #header-inner #quick li ul li a.private_repo:hover
532 {
532 {
533 background: url("../images/icons/lock.png") no-repeat scroll 4px 9px
533 background: url("../images/icons/lock.png") no-repeat scroll 4px 9px
534 #FFF;
534 #FFF;
535 min-width: 167px;
535 min-width: 167px;
536 margin: 0;
536 margin: 0;
537 padding: 12px 9px 7px 24px;
537 padding: 12px 9px 7px 24px;
538 }
538 }
539
539
540 #header #header-inner #quick li ul li a.public_repo,#header #header-inner #quick li ul li a.public_repo:hover
540 #header #header-inner #quick li ul li a.public_repo,#header #header-inner #quick li ul li a.public_repo:hover
541 {
541 {
542 background: url("../images/icons/lock_open.png") no-repeat scroll 4px
542 background: url("../images/icons/lock_open.png") no-repeat scroll 4px
543 9px #FFF;
543 9px #FFF;
544 min-width: 167px;
544 min-width: 167px;
545 margin: 0;
545 margin: 0;
546 padding: 12px 9px 7px 24px;
546 padding: 12px 9px 7px 24px;
547 }
547 }
548
548
549 #header #header-inner #quick li ul li a.hg,#header #header-inner #quick li ul li a.hg:hover
549 #header #header-inner #quick li ul li a.hg,#header #header-inner #quick li ul li a.hg:hover
550 {
550 {
551 background: url("../images/icons/hgicon.png") no-repeat scroll 4px 9px
551 background: url("../images/icons/hgicon.png") no-repeat scroll 4px 9px
552 #FFF;
552 #FFF;
553 min-width: 167px;
553 min-width: 167px;
554 margin: 0 0 0 14px;
554 margin: 0 0 0 14px;
555 padding: 12px 9px 7px 24px;
555 padding: 12px 9px 7px 24px;
556 }
556 }
557
557
558 #header #header-inner #quick li ul li a.git,#header #header-inner #quick li ul li a.git:hover
558 #header #header-inner #quick li ul li a.git,#header #header-inner #quick li ul li a.git:hover
559 {
559 {
560 background: url("../images/icons/giticon.png") no-repeat scroll 4px 9px
560 background: url("../images/icons/giticon.png") no-repeat scroll 4px 9px
561 #FFF;
561 #FFF;
562 min-width: 167px;
562 min-width: 167px;
563 margin: 0 0 0 14px;
563 margin: 0 0 0 14px;
564 padding: 12px 9px 7px 24px;
564 padding: 12px 9px 7px 24px;
565 }
565 }
566
566
567 #header #header-inner #quick li ul li a.repos,#header #header-inner #quick li ul li a.repos:hover
567 #header #header-inner #quick li ul li a.repos,#header #header-inner #quick li ul li a.repos:hover
568 {
568 {
569 background: url("../images/icons/database_edit.png") no-repeat scroll
569 background: url("../images/icons/database_edit.png") no-repeat scroll
570 4px 9px #FFF;
570 4px 9px #FFF;
571 width: 167px;
571 width: 167px;
572 margin: 0;
572 margin: 0;
573 padding: 12px 9px 7px 24px;
573 padding: 12px 9px 7px 24px;
574 }
574 }
575
575
576 #header #header-inner #quick li ul li a.repos_groups,#header #header-inner #quick li ul li a.repos_groups:hover
576 #header #header-inner #quick li ul li a.repos_groups,#header #header-inner #quick li ul li a.repos_groups:hover
577 {
577 {
578 background: url("../images/icons/database_link.png") no-repeat scroll
578 background: url("../images/icons/database_link.png") no-repeat scroll
579 4px 9px #FFF;
579 4px 9px #FFF;
580 width: 167px;
580 width: 167px;
581 margin: 0;
581 margin: 0;
582 padding: 12px 9px 7px 24px;
582 padding: 12px 9px 7px 24px;
583 }
583 }
584
584
585 #header #header-inner #quick li ul li a.users,#header #header-inner #quick li ul li a.users:hover
585 #header #header-inner #quick li ul li a.users,#header #header-inner #quick li ul li a.users:hover
586 {
586 {
587 background: #FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
587 background: #FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
588 width: 167px;
588 width: 167px;
589 margin: 0;
589 margin: 0;
590 padding: 12px 9px 7px 24px;
590 padding: 12px 9px 7px 24px;
591 }
591 }
592
592
593 #header #header-inner #quick li ul li a.groups,#header #header-inner #quick li ul li a.groups:hover
593 #header #header-inner #quick li ul li a.groups,#header #header-inner #quick li ul li a.groups:hover
594 {
594 {
595 background: #FFF url("../images/icons/group_edit.png") no-repeat 4px 9px;
595 background: #FFF url("../images/icons/group_edit.png") no-repeat 4px 9px;
596 width: 167px;
596 width: 167px;
597 margin: 0;
597 margin: 0;
598 padding: 12px 9px 7px 24px;
598 padding: 12px 9px 7px 24px;
599 }
599 }
600
600
601 #header #header-inner #quick li ul li a.settings,#header #header-inner #quick li ul li a.settings:hover
601 #header #header-inner #quick li ul li a.settings,#header #header-inner #quick li ul li a.settings:hover
602 {
602 {
603 background: #FFF url("../images/icons/cog.png") no-repeat 4px 9px;
603 background: #FFF url("../images/icons/cog.png") no-repeat 4px 9px;
604 width: 167px;
604 width: 167px;
605 margin: 0;
605 margin: 0;
606 padding: 12px 9px 7px 24px;
606 padding: 12px 9px 7px 24px;
607 }
607 }
608
608
609 #header #header-inner #quick li ul li a.permissions,#header #header-inner #quick li ul li a.permissions:hover
609 #header #header-inner #quick li ul li a.permissions,#header #header-inner #quick li ul li a.permissions:hover
610 {
610 {
611 background: #FFF url("../images/icons/key.png") no-repeat 4px 9px;
611 background: #FFF url("../images/icons/key.png") no-repeat 4px 9px;
612 width: 167px;
612 width: 167px;
613 margin: 0;
613 margin: 0;
614 padding: 12px 9px 7px 24px;
614 padding: 12px 9px 7px 24px;
615 }
615 }
616
616
617 #header #header-inner #quick li ul li a.ldap,#header #header-inner #quick li ul li a.ldap:hover
617 #header #header-inner #quick li ul li a.ldap,#header #header-inner #quick li ul li a.ldap:hover
618 {
618 {
619 background: #FFF url("../images/icons/server_key.png") no-repeat 4px 9px;
619 background: #FFF url("../images/icons/server_key.png") no-repeat 4px 9px;
620 width: 167px;
620 width: 167px;
621 margin: 0;
621 margin: 0;
622 padding: 12px 9px 7px 24px;
622 padding: 12px 9px 7px 24px;
623 }
623 }
624
624
625 #header #header-inner #quick li ul li a.fork,#header #header-inner #quick li ul li a.fork:hover
625 #header #header-inner #quick li ul li a.fork,#header #header-inner #quick li ul li a.fork:hover
626 {
626 {
627 background: #FFF url("../images/icons/arrow_divide.png") no-repeat 4px
627 background: #FFF url("../images/icons/arrow_divide.png") no-repeat 4px
628 9px;
628 9px;
629 width: 167px;
629 width: 167px;
630 margin: 0;
630 margin: 0;
631 padding: 12px 9px 7px 24px;
631 padding: 12px 9px 7px 24px;
632 }
632 }
633
633
634 #header #header-inner #quick li ul li a.search,#header #header-inner #quick li ul li a.search:hover
634 #header #header-inner #quick li ul li a.search,#header #header-inner #quick li ul li a.search:hover
635 {
635 {
636 background: #FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
636 background: #FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
637 width: 167px;
637 width: 167px;
638 margin: 0;
638 margin: 0;
639 padding: 12px 9px 7px 24px;
639 padding: 12px 9px 7px 24px;
640 }
640 }
641
641
642 #header #header-inner #quick li ul li a.delete,#header #header-inner #quick li ul li a.delete:hover
642 #header #header-inner #quick li ul li a.delete,#header #header-inner #quick li ul li a.delete:hover
643 {
643 {
644 background: #FFF url("../images/icons/delete.png") no-repeat 4px 9px;
644 background: #FFF url("../images/icons/delete.png") no-repeat 4px 9px;
645 width: 167px;
645 width: 167px;
646 margin: 0;
646 margin: 0;
647 padding: 12px 9px 7px 24px;
647 padding: 12px 9px 7px 24px;
648 }
648 }
649
649
650 #header #header-inner #quick li ul li a.branches,#header #header-inner #quick li ul li a.branches:hover
650 #header #header-inner #quick li ul li a.branches,#header #header-inner #quick li ul li a.branches:hover
651 {
651 {
652 background: #FFF url("../images/icons/arrow_branch.png") no-repeat 4px
652 background: #FFF url("../images/icons/arrow_branch.png") no-repeat 4px
653 9px;
653 9px;
654 width: 167px;
654 width: 167px;
655 margin: 0;
655 margin: 0;
656 padding: 12px 9px 7px 24px;
656 padding: 12px 9px 7px 24px;
657 }
657 }
658
658
659 #header #header-inner #quick li ul li a.tags,
659 #header #header-inner #quick li ul li a.tags,
660 #header #header-inner #quick li ul li a.tags:hover{
660 #header #header-inner #quick li ul li a.tags:hover{
661 background: #FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
661 background: #FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
662 width: 167px;
662 width: 167px;
663 margin: 0;
663 margin: 0;
664 padding: 12px 9px 7px 24px;
664 padding: 12px 9px 7px 24px;
665 }
665 }
666
666
667 #header #header-inner #quick li ul li a.bookmarks,
667 #header #header-inner #quick li ul li a.bookmarks,
668 #header #header-inner #quick li ul li a.bookmarks:hover{
668 #header #header-inner #quick li ul li a.bookmarks:hover{
669 background: #FFF url("../images/icons/tag_green.png") no-repeat 4px 9px;
669 background: #FFF url("../images/icons/tag_green.png") no-repeat 4px 9px;
670 width: 167px;
670 width: 167px;
671 margin: 0;
671 margin: 0;
672 padding: 12px 9px 7px 24px;
672 padding: 12px 9px 7px 24px;
673 }
673 }
674
674
675 #header #header-inner #quick li ul li a.admin,
675 #header #header-inner #quick li ul li a.admin,
676 #header #header-inner #quick li ul li a.admin:hover{
676 #header #header-inner #quick li ul li a.admin:hover{
677 background: #FFF url("../images/icons/cog_edit.png") no-repeat 4px 9px;
677 background: #FFF url("../images/icons/cog_edit.png") no-repeat 4px 9px;
678 width: 167px;
678 width: 167px;
679 margin: 0;
679 margin: 0;
680 padding: 12px 9px 7px 24px;
680 padding: 12px 9px 7px 24px;
681 }
681 }
682
682
683 .groups_breadcrumbs a {
683 .groups_breadcrumbs a {
684 color: #fff;
684 color: #fff;
685 }
685 }
686
686
687 .groups_breadcrumbs a:hover {
687 .groups_breadcrumbs a:hover {
688 color: #bfe3ff;
688 color: #bfe3ff;
689 text-decoration: none;
689 text-decoration: none;
690 }
690 }
691
691
692 td.quick_repo_menu {
692 td.quick_repo_menu {
693 background: #FFF url("../images/vertical-indicator.png") 8px 50% no-repeat !important;
693 background: #FFF url("../images/vertical-indicator.png") 8px 50% no-repeat !important;
694 cursor: pointer;
694 cursor: pointer;
695 width: 8px;
695 width: 8px;
696 border: 1px solid transparent;
696 border: 1px solid transparent;
697 }
697 }
698
698
699 td.quick_repo_menu.active {
699 td.quick_repo_menu.active {
700 background: url("../images/dt-arrow-dn.png") no-repeat scroll 5px 50% #FFFFFF !important;
700 background: url("../images/dt-arrow-dn.png") no-repeat scroll 5px 50% #FFFFFF !important;
701 border: 1px solid #003367;
701 border: 1px solid #003367;
702 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
702 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
703 cursor: pointer;
703 cursor: pointer;
704 }
704 }
705
705
706 td.quick_repo_menu .menu_items {
706 td.quick_repo_menu .menu_items {
707 margin-top: 10px;
707 margin-top: 10px;
708 margin-left:-6px;
708 margin-left:-6px;
709 width: 150px;
709 width: 150px;
710 position: absolute;
710 position: absolute;
711 background-color: #FFF;
711 background-color: #FFF;
712 background: none repeat scroll 0 0 #FFFFFF;
712 background: none repeat scroll 0 0 #FFFFFF;
713 border-color: #003367 #666666 #666666;
713 border-color: #003367 #666666 #666666;
714 border-right: 1px solid #666666;
714 border-right: 1px solid #666666;
715 border-style: solid;
715 border-style: solid;
716 border-width: 1px;
716 border-width: 1px;
717 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
717 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
718 border-top-style: none;
718 border-top-style: none;
719 }
719 }
720
720
721 td.quick_repo_menu .menu_items li {
721 td.quick_repo_menu .menu_items li {
722 padding: 0 !important;
722 padding: 0 !important;
723 }
723 }
724
724
725 td.quick_repo_menu .menu_items a {
725 td.quick_repo_menu .menu_items a {
726 display: block;
726 display: block;
727 padding: 4px 12px 4px 8px;
727 padding: 4px 12px 4px 8px;
728 }
728 }
729
729
730 td.quick_repo_menu .menu_items a:hover {
730 td.quick_repo_menu .menu_items a:hover {
731 background-color: #EEE;
731 background-color: #EEE;
732 text-decoration: none;
732 text-decoration: none;
733 }
733 }
734
734
735 td.quick_repo_menu .menu_items .icon img {
735 td.quick_repo_menu .menu_items .icon img {
736 margin-bottom: -2px;
736 margin-bottom: -2px;
737 }
737 }
738
738
739 td.quick_repo_menu .menu_items.hidden {
739 td.quick_repo_menu .menu_items.hidden {
740 display: none;
740 display: none;
741 }
741 }
742
742
743 .yui-dt-first th {
743 .yui-dt-first th {
744 text-align: left;
744 text-align: left;
745 }
745 }
746
746
747 /*
747 /*
748 Copyright (c) 2011, Yahoo! Inc. All rights reserved.
748 Copyright (c) 2011, Yahoo! Inc. All rights reserved.
749 Code licensed under the BSD License:
749 Code licensed under the BSD License:
750 http://developer.yahoo.com/yui/license.html
750 http://developer.yahoo.com/yui/license.html
751 version: 2.9.0
751 version: 2.9.0
752 */
752 */
753 .yui-skin-sam .yui-dt-mask {
753 .yui-skin-sam .yui-dt-mask {
754 position: absolute;
754 position: absolute;
755 z-index: 9500;
755 z-index: 9500;
756 }
756 }
757 .yui-dt-tmp {
757 .yui-dt-tmp {
758 position: absolute;
758 position: absolute;
759 left: -9000px;
759 left: -9000px;
760 }
760 }
761 .yui-dt-scrollable .yui-dt-bd { overflow: auto }
761 .yui-dt-scrollable .yui-dt-bd { overflow: auto }
762 .yui-dt-scrollable .yui-dt-hd {
762 .yui-dt-scrollable .yui-dt-hd {
763 overflow: hidden;
763 overflow: hidden;
764 position: relative;
764 position: relative;
765 }
765 }
766 .yui-dt-scrollable .yui-dt-bd thead tr,
766 .yui-dt-scrollable .yui-dt-bd thead tr,
767 .yui-dt-scrollable .yui-dt-bd thead th {
767 .yui-dt-scrollable .yui-dt-bd thead th {
768 position: absolute;
768 position: absolute;
769 left: -1500px;
769 left: -1500px;
770 }
770 }
771 .yui-dt-scrollable tbody { -moz-outline: 0 }
771 .yui-dt-scrollable tbody { -moz-outline: 0 }
772 .yui-skin-sam thead .yui-dt-sortable { cursor: pointer }
772 .yui-skin-sam thead .yui-dt-sortable { cursor: pointer }
773 .yui-skin-sam thead .yui-dt-draggable { cursor: move }
773 .yui-skin-sam thead .yui-dt-draggable { cursor: move }
774 .yui-dt-coltarget {
774 .yui-dt-coltarget {
775 position: absolute;
775 position: absolute;
776 z-index: 999;
776 z-index: 999;
777 }
777 }
778 .yui-dt-hd { zoom: 1 }
778 .yui-dt-hd { zoom: 1 }
779 th.yui-dt-resizeable .yui-dt-resizerliner { position: relative }
779 th.yui-dt-resizeable .yui-dt-resizerliner { position: relative }
780 .yui-dt-resizer {
780 .yui-dt-resizer {
781 position: absolute;
781 position: absolute;
782 right: 0;
782 right: 0;
783 bottom: 0;
783 bottom: 0;
784 height: 100%;
784 height: 100%;
785 cursor: e-resize;
785 cursor: e-resize;
786 cursor: col-resize;
786 cursor: col-resize;
787 background-color: #CCC;
787 background-color: #CCC;
788 opacity: 0;
788 opacity: 0;
789 filter: alpha(opacity=0);
789 filter: alpha(opacity=0);
790 }
790 }
791 .yui-dt-resizerproxy {
791 .yui-dt-resizerproxy {
792 visibility: hidden;
792 visibility: hidden;
793 position: absolute;
793 position: absolute;
794 z-index: 9000;
794 z-index: 9000;
795 background-color: #CCC;
795 background-color: #CCC;
796 opacity: 0;
796 opacity: 0;
797 filter: alpha(opacity=0);
797 filter: alpha(opacity=0);
798 }
798 }
799 th.yui-dt-hidden .yui-dt-liner,
799 th.yui-dt-hidden .yui-dt-liner,
800 td.yui-dt-hidden .yui-dt-liner,
800 td.yui-dt-hidden .yui-dt-liner,
801 th.yui-dt-hidden .yui-dt-resizer { display: none }
801 th.yui-dt-hidden .yui-dt-resizer { display: none }
802 .yui-dt-editor,
802 .yui-dt-editor,
803 .yui-dt-editor-shim {
803 .yui-dt-editor-shim {
804 position: absolute;
804 position: absolute;
805 z-index: 9000;
805 z-index: 9000;
806 }
806 }
807 .yui-skin-sam .yui-dt table {
807 .yui-skin-sam .yui-dt table {
808 margin: 0;
808 margin: 0;
809 padding: 0;
809 padding: 0;
810 font-family: arial;
810 font-family: arial;
811 font-size: inherit;
811 font-size: inherit;
812 border-collapse: separate;
812 border-collapse: separate;
813 *border-collapse: collapse;
813 *border-collapse: collapse;
814 border-spacing: 0;
814 border-spacing: 0;
815 border: 1px solid #7f7f7f;
815 border: 1px solid #7f7f7f;
816 }
816 }
817 .yui-skin-sam .yui-dt thead { border-spacing: 0 }
817 .yui-skin-sam .yui-dt thead { border-spacing: 0 }
818 .yui-skin-sam .yui-dt caption {
818 .yui-skin-sam .yui-dt caption {
819 color: #000;
819 color: #000;
820 font-size: 85%;
820 font-size: 85%;
821 font-weight: normal;
821 font-weight: normal;
822 font-style: italic;
822 font-style: italic;
823 line-height: 1;
823 line-height: 1;
824 padding: 1em 0;
824 padding: 1em 0;
825 text-align: center;
825 text-align: center;
826 }
826 }
827 .yui-skin-sam .yui-dt th { background: #d8d8da url(../images/sprite.png) repeat-x 0 0 }
827 .yui-skin-sam .yui-dt th { background: #d8d8da url(../images/sprite.png) repeat-x 0 0 }
828 .yui-skin-sam .yui-dt th,
828 .yui-skin-sam .yui-dt th,
829 .yui-skin-sam .yui-dt th a {
829 .yui-skin-sam .yui-dt th a {
830 font-weight: normal;
830 font-weight: normal;
831 text-decoration: none;
831 text-decoration: none;
832 color: #000;
832 color: #000;
833 vertical-align: bottom;
833 vertical-align: bottom;
834 }
834 }
835 .yui-skin-sam .yui-dt th {
835 .yui-skin-sam .yui-dt th {
836 margin: 0;
836 margin: 0;
837 padding: 0;
837 padding: 0;
838 border: 0;
838 border: 0;
839 border-right: 1px solid #cbcbcb;
839 border-right: 1px solid #cbcbcb;
840 }
840 }
841 .yui-skin-sam .yui-dt tr.yui-dt-first td { border-top: 1px solid #7f7f7f }
841 .yui-skin-sam .yui-dt tr.yui-dt-first td { border-top: 1px solid #7f7f7f }
842 .yui-skin-sam .yui-dt th .yui-dt-liner { white-space: nowrap }
842 .yui-skin-sam .yui-dt th .yui-dt-liner { white-space: nowrap }
843 .yui-skin-sam .yui-dt-liner {
843 .yui-skin-sam .yui-dt-liner {
844 margin: 0;
844 margin: 0;
845 padding: 0;
845 padding: 0;
846 }
846 }
847 .yui-skin-sam .yui-dt-coltarget {
847 .yui-skin-sam .yui-dt-coltarget {
848 width: 5px;
848 width: 5px;
849 background-color: red;
849 background-color: red;
850 }
850 }
851 .yui-skin-sam .yui-dt td {
851 .yui-skin-sam .yui-dt td {
852 margin: 0;
852 margin: 0;
853 padding: 0;
853 padding: 0;
854 border: 0;
854 border: 0;
855 border-right: 1px solid #cbcbcb;
855 border-right: 1px solid #cbcbcb;
856 text-align: left;
856 text-align: left;
857 }
857 }
858 .yui-skin-sam .yui-dt-list td { border-right: 0 }
858 .yui-skin-sam .yui-dt-list td { border-right: 0 }
859 .yui-skin-sam .yui-dt-resizer { width: 6px }
859 .yui-skin-sam .yui-dt-resizer { width: 6px }
860 .yui-skin-sam .yui-dt-mask {
860 .yui-skin-sam .yui-dt-mask {
861 background-color: #000;
861 background-color: #000;
862 opacity: .25;
862 opacity: .25;
863 filter: alpha(opacity=25);
863 filter: alpha(opacity=25);
864 }
864 }
865 .yui-skin-sam .yui-dt-message { background-color: #FFF }
865 .yui-skin-sam .yui-dt-message { background-color: #FFF }
866 .yui-skin-sam .yui-dt-scrollable table { border: 0 }
866 .yui-skin-sam .yui-dt-scrollable table { border: 0 }
867 .yui-skin-sam .yui-dt-scrollable .yui-dt-hd {
867 .yui-skin-sam .yui-dt-scrollable .yui-dt-hd {
868 border-left: 1px solid #7f7f7f;
868 border-left: 1px solid #7f7f7f;
869 border-top: 1px solid #7f7f7f;
869 border-top: 1px solid #7f7f7f;
870 border-right: 1px solid #7f7f7f;
870 border-right: 1px solid #7f7f7f;
871 }
871 }
872 .yui-skin-sam .yui-dt-scrollable .yui-dt-bd {
872 .yui-skin-sam .yui-dt-scrollable .yui-dt-bd {
873 border-left: 1px solid #7f7f7f;
873 border-left: 1px solid #7f7f7f;
874 border-bottom: 1px solid #7f7f7f;
874 border-bottom: 1px solid #7f7f7f;
875 border-right: 1px solid #7f7f7f;
875 border-right: 1px solid #7f7f7f;
876 background-color: #FFF;
876 background-color: #FFF;
877 }
877 }
878 .yui-skin-sam .yui-dt-scrollable .yui-dt-data tr.yui-dt-last td { border-bottom: 1px solid #7f7f7f }
878 .yui-skin-sam .yui-dt-scrollable .yui-dt-data tr.yui-dt-last td { border-bottom: 1px solid #7f7f7f }
879 .yui-skin-sam th.yui-dt-asc,
879 .yui-skin-sam th.yui-dt-asc,
880 .yui-skin-sam th.yui-dt-desc { background: url(../images/sprite.png) repeat-x 0 -100px }
880 .yui-skin-sam th.yui-dt-desc { background: url(../images/sprite.png) repeat-x 0 -100px }
881 .yui-skin-sam th.yui-dt-sortable .yui-dt-label { margin-right: 10px }
881 .yui-skin-sam th.yui-dt-sortable .yui-dt-label { margin-right: 10px }
882 .yui-skin-sam th.yui-dt-asc .yui-dt-liner { background: url(../images/dt-arrow-up.png) no-repeat right }
882 .yui-skin-sam th.yui-dt-asc .yui-dt-liner { background: url(../images/dt-arrow-up.png) no-repeat right }
883 .yui-skin-sam th.yui-dt-desc .yui-dt-liner { background: url(../images/dt-arrow-dn.png) no-repeat right }
883 .yui-skin-sam th.yui-dt-desc .yui-dt-liner { background: url(../images/dt-arrow-dn.png) no-repeat right }
884 tbody .yui-dt-editable { cursor: pointer }
884 tbody .yui-dt-editable { cursor: pointer }
885 .yui-dt-editor {
885 .yui-dt-editor {
886 text-align: left;
886 text-align: left;
887 background-color: #f2f2f2;
887 background-color: #f2f2f2;
888 border: 1px solid #808080;
888 border: 1px solid #808080;
889 padding: 6px;
889 padding: 6px;
890 }
890 }
891 .yui-dt-editor label {
891 .yui-dt-editor label {
892 padding-left: 4px;
892 padding-left: 4px;
893 padding-right: 6px;
893 padding-right: 6px;
894 }
894 }
895 .yui-dt-editor .yui-dt-button {
895 .yui-dt-editor .yui-dt-button {
896 padding-top: 6px;
896 padding-top: 6px;
897 text-align: right;
897 text-align: right;
898 }
898 }
899 .yui-dt-editor .yui-dt-button button {
899 .yui-dt-editor .yui-dt-button button {
900 background: url(../images/sprite.png) repeat-x 0 0;
900 background: url(../images/sprite.png) repeat-x 0 0;
901 border: 1px solid #999;
901 border: 1px solid #999;
902 width: 4em;
902 width: 4em;
903 height: 1.8em;
903 height: 1.8em;
904 margin-left: 6px;
904 margin-left: 6px;
905 }
905 }
906 .yui-dt-editor .yui-dt-button button.yui-dt-default {
906 .yui-dt-editor .yui-dt-button button.yui-dt-default {
907 background: url(../images/sprite.png) repeat-x 0 -1400px;
907 background: url(../images/sprite.png) repeat-x 0 -1400px;
908 background-color: #5584e0;
908 background-color: #5584e0;
909 border: 1px solid #304369;
909 border: 1px solid #304369;
910 color: #FFF;
910 color: #FFF;
911 }
911 }
912 .yui-dt-editor .yui-dt-button button:hover {
912 .yui-dt-editor .yui-dt-button button:hover {
913 background: url(../images/sprite.png) repeat-x 0 -1300px;
913 background: url(../images/sprite.png) repeat-x 0 -1300px;
914 color: #000;
914 color: #000;
915 }
915 }
916 .yui-dt-editor .yui-dt-button button:active {
916 .yui-dt-editor .yui-dt-button button:active {
917 background: url(../images/sprite.png) repeat-x 0 -1700px;
917 background: url(../images/sprite.png) repeat-x 0 -1700px;
918 color: #000;
918 color: #000;
919 }
919 }
920 .yui-skin-sam tr.yui-dt-even { background-color: #FFF }
920 .yui-skin-sam tr.yui-dt-even { background-color: #FFF }
921 .yui-skin-sam tr.yui-dt-odd { background-color: #edf5ff }
921 .yui-skin-sam tr.yui-dt-odd { background-color: #edf5ff }
922 .yui-skin-sam tr.yui-dt-even td.yui-dt-asc,
922 .yui-skin-sam tr.yui-dt-even td.yui-dt-asc,
923 .yui-skin-sam tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
923 .yui-skin-sam tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
924 .yui-skin-sam tr.yui-dt-odd td.yui-dt-asc,
924 .yui-skin-sam tr.yui-dt-odd td.yui-dt-asc,
925 .yui-skin-sam tr.yui-dt-odd td.yui-dt-desc { background-color: #dbeaff }
925 .yui-skin-sam tr.yui-dt-odd td.yui-dt-desc { background-color: #dbeaff }
926 .yui-skin-sam .yui-dt-list tr.yui-dt-even { background-color: #FFF }
926 .yui-skin-sam .yui-dt-list tr.yui-dt-even { background-color: #FFF }
927 .yui-skin-sam .yui-dt-list tr.yui-dt-odd { background-color: #FFF }
927 .yui-skin-sam .yui-dt-list tr.yui-dt-odd { background-color: #FFF }
928 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-asc,
928 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-asc,
929 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
929 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
930 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-asc,
930 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-asc,
931 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-desc { background-color: #edf5ff }
931 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-desc { background-color: #edf5ff }
932 .yui-skin-sam th.yui-dt-highlighted,
932 .yui-skin-sam th.yui-dt-highlighted,
933 .yui-skin-sam th.yui-dt-highlighted a { background-color: #b2d2ff }
933 .yui-skin-sam th.yui-dt-highlighted a { background-color: #b2d2ff }
934 .yui-skin-sam tr.yui-dt-highlighted,
934 .yui-skin-sam tr.yui-dt-highlighted,
935 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-asc,
935 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-asc,
936 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-desc,
936 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-desc,
937 .yui-skin-sam tr.yui-dt-even td.yui-dt-highlighted,
937 .yui-skin-sam tr.yui-dt-even td.yui-dt-highlighted,
938 .yui-skin-sam tr.yui-dt-odd td.yui-dt-highlighted {
938 .yui-skin-sam tr.yui-dt-odd td.yui-dt-highlighted {
939 cursor: pointer;
939 cursor: pointer;
940 background-color: #b2d2ff;
940 background-color: #b2d2ff;
941 }
941 }
942 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted,
942 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted,
943 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted a { background-color: #b2d2ff }
943 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted a { background-color: #b2d2ff }
944 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted,
944 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted,
945 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,
945 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,
946 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,
946 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,
947 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,
947 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,
948 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted {
948 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted {
949 cursor: pointer;
949 cursor: pointer;
950 background-color: #b2d2ff;
950 background-color: #b2d2ff;
951 }
951 }
952 .yui-skin-sam th.yui-dt-selected,
952 .yui-skin-sam th.yui-dt-selected,
953 .yui-skin-sam th.yui-dt-selected a { background-color: #446cd7 }
953 .yui-skin-sam th.yui-dt-selected a { background-color: #446cd7 }
954 .yui-skin-sam tr.yui-dt-selected td,
954 .yui-skin-sam tr.yui-dt-selected td,
955 .yui-skin-sam tr.yui-dt-selected td.yui-dt-asc,
955 .yui-skin-sam tr.yui-dt-selected td.yui-dt-asc,
956 .yui-skin-sam tr.yui-dt-selected td.yui-dt-desc {
956 .yui-skin-sam tr.yui-dt-selected td.yui-dt-desc {
957 background-color: #426fd9;
957 background-color: #426fd9;
958 color: #FFF;
958 color: #FFF;
959 }
959 }
960 .yui-skin-sam tr.yui-dt-even td.yui-dt-selected,
960 .yui-skin-sam tr.yui-dt-even td.yui-dt-selected,
961 .yui-skin-sam tr.yui-dt-odd td.yui-dt-selected {
961 .yui-skin-sam tr.yui-dt-odd td.yui-dt-selected {
962 background-color: #446cd7;
962 background-color: #446cd7;
963 color: #FFF;
963 color: #FFF;
964 }
964 }
965 .yui-skin-sam .yui-dt-list th.yui-dt-selected,
965 .yui-skin-sam .yui-dt-list th.yui-dt-selected,
966 .yui-skin-sam .yui-dt-list th.yui-dt-selected a { background-color: #446cd7 }
966 .yui-skin-sam .yui-dt-list th.yui-dt-selected a { background-color: #446cd7 }
967 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td,
967 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td,
968 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-asc,
968 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-asc,
969 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-desc {
969 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-desc {
970 background-color: #426fd9;
970 background-color: #426fd9;
971 color: #FFF;
971 color: #FFF;
972 }
972 }
973 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-selected,
973 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-selected,
974 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-selected {
974 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-selected {
975 background-color: #446cd7;
975 background-color: #446cd7;
976 color: #FFF;
976 color: #FFF;
977 }
977 }
978 .yui-skin-sam .yui-dt-paginator {
978 .yui-skin-sam .yui-dt-paginator {
979 display: block;
979 display: block;
980 margin: 6px 0;
980 margin: 6px 0;
981 white-space: nowrap;
981 white-space: nowrap;
982 }
982 }
983 .yui-skin-sam .yui-dt-paginator .yui-dt-first,
983 .yui-skin-sam .yui-dt-paginator .yui-dt-first,
984 .yui-skin-sam .yui-dt-paginator .yui-dt-last,
984 .yui-skin-sam .yui-dt-paginator .yui-dt-last,
985 .yui-skin-sam .yui-dt-paginator .yui-dt-selected { padding: 2px 6px }
985 .yui-skin-sam .yui-dt-paginator .yui-dt-selected { padding: 2px 6px }
986 .yui-skin-sam .yui-dt-paginator a.yui-dt-first,
986 .yui-skin-sam .yui-dt-paginator a.yui-dt-first,
987 .yui-skin-sam .yui-dt-paginator a.yui-dt-last { text-decoration: none }
987 .yui-skin-sam .yui-dt-paginator a.yui-dt-last { text-decoration: none }
988 .yui-skin-sam .yui-dt-paginator .yui-dt-previous,
988 .yui-skin-sam .yui-dt-paginator .yui-dt-previous,
989 .yui-skin-sam .yui-dt-paginator .yui-dt-next { display: none }
989 .yui-skin-sam .yui-dt-paginator .yui-dt-next { display: none }
990 .yui-skin-sam a.yui-dt-page {
990 .yui-skin-sam a.yui-dt-page {
991 border: 1px solid #cbcbcb;
991 border: 1px solid #cbcbcb;
992 padding: 2px 6px;
992 padding: 2px 6px;
993 text-decoration: none;
993 text-decoration: none;
994 background-color: #fff;
994 background-color: #fff;
995 }
995 }
996 .yui-skin-sam .yui-dt-selected {
996 .yui-skin-sam .yui-dt-selected {
997 border: 1px solid #fff;
997 border: 1px solid #fff;
998 background-color: #fff;
998 background-color: #fff;
999 }
999 }
1000
1000
1001 #content #left {
1001 #content #left {
1002 left: 0;
1002 left: 0;
1003 width: 280px;
1003 width: 280px;
1004 position: absolute;
1004 position: absolute;
1005 }
1005 }
1006
1006
1007 #content #right {
1007 #content #right {
1008 margin: 0 60px 10px 290px;
1008 margin: 0 60px 10px 290px;
1009 }
1009 }
1010
1010
1011 #content div.box {
1011 #content div.box {
1012 clear: both;
1012 clear: both;
1013 overflow: hidden;
1013 overflow: hidden;
1014 background: #fff;
1014 background: #fff;
1015 margin: 0 0 10px;
1015 margin: 0 0 10px;
1016 padding: 0 0 10px;
1016 padding: 0 0 10px;
1017 -webkit-border-radius: 4px 4px 4px 4px;
1017 -webkit-border-radius: 4px 4px 4px 4px;
1018 -khtml-border-radius: 4px 4px 4px 4px;
1018 -khtml-border-radius: 4px 4px 4px 4px;
1019 -moz-border-radius: 4px 4px 4px 4px;
1019 -moz-border-radius: 4px 4px 4px 4px;
1020 border-radius: 4px 4px 4px 4px;
1020 border-radius: 4px 4px 4px 4px;
1021 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1021 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1022 }
1022 }
1023
1023
1024 #content div.box-left {
1024 #content div.box-left {
1025 width: 49%;
1025 width: 49%;
1026 clear: none;
1026 clear: none;
1027 float: left;
1027 float: left;
1028 margin: 0 0 10px;
1028 margin: 0 0 10px;
1029 }
1029 }
1030
1030
1031 #content div.box-right {
1031 #content div.box-right {
1032 width: 49%;
1032 width: 49%;
1033 clear: none;
1033 clear: none;
1034 float: right;
1034 float: right;
1035 margin: 0 0 10px;
1035 margin: 0 0 10px;
1036 }
1036 }
1037
1037
1038 #content div.box div.title {
1038 #content div.box div.title {
1039 clear: both;
1039 clear: both;
1040 overflow: hidden;
1040 overflow: hidden;
1041 background-color: #003B76;
1041 background-color: #003B76;
1042 background-repeat: repeat-x;
1042 background-repeat: repeat-x;
1043 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1043 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1044 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1044 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1045 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1045 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1046 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1046 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1047 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1047 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1048 background-image: -o-linear-gradient(top, #003b76, #00376e);
1048 background-image: -o-linear-gradient(top, #003b76, #00376e);
1049 background-image: linear-gradient(top, #003b76, #00376e);
1049 background-image: linear-gradient(top, #003b76, #00376e);
1050 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1050 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1051 margin: 0 0 20px;
1051 margin: 0 0 20px;
1052 padding: 0;
1052 padding: 0;
1053 }
1053 }
1054
1054
1055 #content div.box div.title h5 {
1055 #content div.box div.title h5 {
1056 float: left;
1056 float: left;
1057 border: none;
1057 border: none;
1058 color: #fff;
1058 color: #fff;
1059 text-transform: uppercase;
1059 text-transform: uppercase;
1060 margin: 0;
1060 margin: 0;
1061 padding: 11px 0 11px 10px;
1061 padding: 11px 0 11px 10px;
1062 }
1062 }
1063
1063
1064 #content div.box div.title .link-white{
1064 #content div.box div.title .link-white{
1065 color: #FFFFFF;
1065 color: #FFFFFF;
1066 }
1066 }
1067
1067
1068 #content div.box div.title ul.links li {
1068 #content div.box div.title ul.links li {
1069 list-style: none;
1069 list-style: none;
1070 float: left;
1070 float: left;
1071 margin: 0;
1071 margin: 0;
1072 padding: 0;
1072 padding: 0;
1073 }
1073 }
1074
1074
1075 #content div.box div.title ul.links li a {
1075 #content div.box div.title ul.links li a {
1076 border-left: 1px solid #316293;
1076 border-left: 1px solid #316293;
1077 color: #FFFFFF;
1077 color: #FFFFFF;
1078 display: block;
1078 display: block;
1079 float: left;
1079 float: left;
1080 font-size: 13px;
1080 font-size: 13px;
1081 font-weight: 700;
1081 font-weight: 700;
1082 height: 1%;
1082 height: 1%;
1083 margin: 0;
1083 margin: 0;
1084 padding: 11px 22px 12px;
1084 padding: 11px 22px 12px;
1085 text-decoration: none;
1085 text-decoration: none;
1086 }
1086 }
1087
1087
1088 #content div.box h1,#content div.box h2,#content div.box h3,#content div.box h4,#content div.box h5,#content div.box h6
1088 #content div.box h1,#content div.box h2,#content div.box h3,#content div.box h4,#content div.box h5,#content div.box h6
1089 {
1089 {
1090 clear: both;
1090 clear: both;
1091 overflow: hidden;
1091 overflow: hidden;
1092 border-bottom: 1px solid #DDD;
1092 border-bottom: 1px solid #DDD;
1093 margin: 10px 20px;
1093 margin: 10px 20px;
1094 padding: 0 0 15px;
1094 padding: 0 0 15px;
1095 }
1095 }
1096
1096
1097 #content div.box p {
1097 #content div.box p {
1098 color: #5f5f5f;
1098 color: #5f5f5f;
1099 font-size: 12px;
1099 font-size: 12px;
1100 line-height: 150%;
1100 line-height: 150%;
1101 margin: 0 24px 10px;
1101 margin: 0 24px 10px;
1102 padding: 0;
1102 padding: 0;
1103 }
1103 }
1104
1104
1105 #content div.box blockquote {
1105 #content div.box blockquote {
1106 border-left: 4px solid #DDD;
1106 border-left: 4px solid #DDD;
1107 color: #5f5f5f;
1107 color: #5f5f5f;
1108 font-size: 11px;
1108 font-size: 11px;
1109 line-height: 150%;
1109 line-height: 150%;
1110 margin: 0 34px;
1110 margin: 0 34px;
1111 padding: 0 0 0 14px;
1111 padding: 0 0 0 14px;
1112 }
1112 }
1113
1113
1114 #content div.box blockquote p {
1114 #content div.box blockquote p {
1115 margin: 10px 0;
1115 margin: 10px 0;
1116 padding: 0;
1116 padding: 0;
1117 }
1117 }
1118
1118
1119 #content div.box dl {
1119 #content div.box dl {
1120 margin: 10px 0px;
1120 margin: 10px 0px;
1121 }
1121 }
1122
1122
1123 #content div.box dt {
1123 #content div.box dt {
1124 font-size: 12px;
1124 font-size: 12px;
1125 margin: 0;
1125 margin: 0;
1126 }
1126 }
1127
1127
1128 #content div.box dd {
1128 #content div.box dd {
1129 font-size: 12px;
1129 font-size: 12px;
1130 margin: 0;
1130 margin: 0;
1131 padding: 8px 0 8px 15px;
1131 padding: 8px 0 8px 15px;
1132 }
1132 }
1133
1133
1134 #content div.box li {
1134 #content div.box li {
1135 font-size: 12px;
1135 font-size: 12px;
1136 padding: 4px 0;
1136 padding: 4px 0;
1137 }
1137 }
1138
1138
1139 #content div.box ul.disc,#content div.box ul.circle {
1139 #content div.box ul.disc,#content div.box ul.circle {
1140 margin: 10px 24px 10px 38px;
1140 margin: 10px 24px 10px 38px;
1141 }
1141 }
1142
1142
1143 #content div.box ul.square {
1143 #content div.box ul.square {
1144 margin: 10px 24px 10px 40px;
1144 margin: 10px 24px 10px 40px;
1145 }
1145 }
1146
1146
1147 #content div.box img.left {
1147 #content div.box img.left {
1148 border: none;
1148 border: none;
1149 float: left;
1149 float: left;
1150 margin: 10px 10px 10px 0;
1150 margin: 10px 10px 10px 0;
1151 }
1151 }
1152
1152
1153 #content div.box img.right {
1153 #content div.box img.right {
1154 border: none;
1154 border: none;
1155 float: right;
1155 float: right;
1156 margin: 10px 0 10px 10px;
1156 margin: 10px 0 10px 10px;
1157 }
1157 }
1158
1158
1159 #content div.box div.messages {
1159 #content div.box div.messages {
1160 clear: both;
1160 clear: both;
1161 overflow: hidden;
1161 overflow: hidden;
1162 margin: 0 20px;
1162 margin: 0 20px;
1163 padding: 0;
1163 padding: 0;
1164 }
1164 }
1165
1165
1166 #content div.box div.message {
1166 #content div.box div.message {
1167 clear: both;
1167 clear: both;
1168 overflow: hidden;
1168 overflow: hidden;
1169 margin: 0;
1169 margin: 0;
1170 padding: 5px 0;
1170 padding: 5px 0;
1171 white-space: pre-wrap;
1171 white-space: pre-wrap;
1172 }
1172 }
1173 #content div.box div.expand {
1173 #content div.box div.expand {
1174 width: 110%;
1174 width: 110%;
1175 height:14px;
1175 height:14px;
1176 font-size:10px;
1176 font-size:10px;
1177 text-align:center;
1177 text-align:center;
1178 cursor: pointer;
1178 cursor: pointer;
1179 color:#666;
1179 color:#666;
1180
1180
1181 background:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,rgba(255,255,255,0)),color-stop(100%,rgba(64,96,128,0.1)));
1181 background:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,rgba(255,255,255,0)),color-stop(100%,rgba(64,96,128,0.1)));
1182 background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1182 background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1183 background:-moz-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1183 background:-moz-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1184 background:-o-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1184 background:-o-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1185 background:-ms-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1185 background:-ms-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1186 background:linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1186 background:linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1187
1187
1188 display: none;
1188 display: none;
1189 }
1189 }
1190 #content div.box div.expand .expandtext {
1190 #content div.box div.expand .expandtext {
1191 background-color: #ffffff;
1191 background-color: #ffffff;
1192 padding: 2px;
1192 padding: 2px;
1193 border-radius: 2px;
1193 border-radius: 2px;
1194 }
1194 }
1195
1195
1196 #content div.box div.message a {
1196 #content div.box div.message a {
1197 font-weight: 400 !important;
1197 font-weight: 400 !important;
1198 }
1198 }
1199
1199
1200 #content div.box div.message div.image {
1200 #content div.box div.message div.image {
1201 float: left;
1201 float: left;
1202 margin: 9px 0 0 5px;
1202 margin: 9px 0 0 5px;
1203 padding: 6px;
1203 padding: 6px;
1204 }
1204 }
1205
1205
1206 #content div.box div.message div.image img {
1206 #content div.box div.message div.image img {
1207 vertical-align: middle;
1207 vertical-align: middle;
1208 margin: 0;
1208 margin: 0;
1209 }
1209 }
1210
1210
1211 #content div.box div.message div.text {
1211 #content div.box div.message div.text {
1212 float: left;
1212 float: left;
1213 margin: 0;
1213 margin: 0;
1214 padding: 9px 6px;
1214 padding: 9px 6px;
1215 }
1215 }
1216
1216
1217 #content div.box div.message div.dismiss a {
1217 #content div.box div.message div.dismiss a {
1218 height: 16px;
1218 height: 16px;
1219 width: 16px;
1219 width: 16px;
1220 display: block;
1220 display: block;
1221 background: url("../images/icons/cross.png") no-repeat;
1221 background: url("../images/icons/cross.png") no-repeat;
1222 margin: 15px 14px 0 0;
1222 margin: 15px 14px 0 0;
1223 padding: 0;
1223 padding: 0;
1224 }
1224 }
1225
1225
1226 #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
1226 #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
1227 {
1227 {
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.message div.text span {
1233 #content div.box div.message div.text span {
1234 height: 1%;
1234 height: 1%;
1235 display: block;
1235 display: block;
1236 margin: 0;
1236 margin: 0;
1237 padding: 5px 0 0;
1237 padding: 5px 0 0;
1238 }
1238 }
1239
1239
1240 #content div.box div.message-error {
1240 #content div.box div.message-error {
1241 height: 1%;
1241 height: 1%;
1242 clear: both;
1242 clear: both;
1243 overflow: hidden;
1243 overflow: hidden;
1244 background: #FBE3E4;
1244 background: #FBE3E4;
1245 border: 1px solid #FBC2C4;
1245 border: 1px solid #FBC2C4;
1246 color: #860006;
1246 color: #860006;
1247 }
1247 }
1248
1248
1249 #content div.box div.message-error h6 {
1249 #content div.box div.message-error h6 {
1250 color: #860006;
1250 color: #860006;
1251 }
1251 }
1252
1252
1253 #content div.box div.message-warning {
1253 #content div.box div.message-warning {
1254 height: 1%;
1254 height: 1%;
1255 clear: both;
1255 clear: both;
1256 overflow: hidden;
1256 overflow: hidden;
1257 background: #FFF6BF;
1257 background: #FFF6BF;
1258 border: 1px solid #FFD324;
1258 border: 1px solid #FFD324;
1259 color: #5f5200;
1259 color: #5f5200;
1260 }
1260 }
1261
1261
1262 #content div.box div.message-warning h6 {
1262 #content div.box div.message-warning h6 {
1263 color: #5f5200;
1263 color: #5f5200;
1264 }
1264 }
1265
1265
1266 #content div.box div.message-notice {
1266 #content div.box div.message-notice {
1267 height: 1%;
1267 height: 1%;
1268 clear: both;
1268 clear: both;
1269 overflow: hidden;
1269 overflow: hidden;
1270 background: #8FBDE0;
1270 background: #8FBDE0;
1271 border: 1px solid #6BACDE;
1271 border: 1px solid #6BACDE;
1272 color: #003863;
1272 color: #003863;
1273 }
1273 }
1274
1274
1275 #content div.box div.message-notice h6 {
1275 #content div.box div.message-notice h6 {
1276 color: #003863;
1276 color: #003863;
1277 }
1277 }
1278
1278
1279 #content div.box div.message-success {
1279 #content div.box div.message-success {
1280 height: 1%;
1280 height: 1%;
1281 clear: both;
1281 clear: both;
1282 overflow: hidden;
1282 overflow: hidden;
1283 background: #E6EFC2;
1283 background: #E6EFC2;
1284 border: 1px solid #C6D880;
1284 border: 1px solid #C6D880;
1285 color: #4e6100;
1285 color: #4e6100;
1286 }
1286 }
1287
1287
1288 #content div.box div.message-success h6 {
1288 #content div.box div.message-success h6 {
1289 color: #4e6100;
1289 color: #4e6100;
1290 }
1290 }
1291
1291
1292 #content div.box div.form div.fields div.field {
1292 #content div.box div.form div.fields div.field {
1293 height: 1%;
1293 height: 1%;
1294 border-bottom: 1px solid #DDD;
1294 border-bottom: 1px solid #DDD;
1295 clear: both;
1295 clear: both;
1296 margin: 0;
1296 margin: 0;
1297 padding: 10px 0;
1297 padding: 10px 0;
1298 }
1298 }
1299
1299
1300 #content div.box div.form div.fields div.field-first {
1300 #content div.box div.form div.fields div.field-first {
1301 padding: 0 0 10px;
1301 padding: 0 0 10px;
1302 }
1302 }
1303
1303
1304 #content div.box div.form div.fields div.field-noborder {
1304 #content div.box div.form div.fields div.field-noborder {
1305 border-bottom: 0 !important;
1305 border-bottom: 0 !important;
1306 }
1306 }
1307
1307
1308 #content div.box div.form div.fields div.field span.error-message {
1308 #content div.box div.form div.fields div.field span.error-message {
1309 height: 1%;
1309 height: 1%;
1310 display: inline-block;
1310 display: inline-block;
1311 color: red;
1311 color: red;
1312 margin: 8px 0 0 4px;
1312 margin: 8px 0 0 4px;
1313 padding: 0;
1313 padding: 0;
1314 }
1314 }
1315
1315
1316 #content div.box div.form div.fields div.field span.success {
1316 #content div.box div.form div.fields div.field span.success {
1317 height: 1%;
1317 height: 1%;
1318 display: block;
1318 display: block;
1319 color: #316309;
1319 color: #316309;
1320 margin: 8px 0 0;
1320 margin: 8px 0 0;
1321 padding: 0;
1321 padding: 0;
1322 }
1322 }
1323
1323
1324 #content div.box div.form div.fields div.field div.label {
1324 #content div.box div.form div.fields div.field div.label {
1325 left: 70px;
1325 left: 70px;
1326 width: 155px;
1326 width: 155px;
1327 position: absolute;
1327 position: absolute;
1328 margin: 0;
1328 margin: 0;
1329 padding: 5px 0 0 0px;
1329 padding: 5px 0 0 0px;
1330 }
1330 }
1331
1331
1332 #content div.box div.form div.fields div.field div.label-summary {
1332 #content div.box div.form div.fields div.field div.label-summary {
1333 left: 30px;
1333 left: 30px;
1334 width: 155px;
1334 width: 155px;
1335 position: absolute;
1335 position: absolute;
1336 margin: 0;
1336 margin: 0;
1337 padding: 0px 0 0 0px;
1337 padding: 0px 0 0 0px;
1338 }
1338 }
1339
1339
1340 #content div.box-left div.form div.fields div.field div.label,
1340 #content div.box-left div.form div.fields div.field div.label,
1341 #content div.box-right div.form div.fields div.field div.label,
1341 #content div.box-right div.form div.fields div.field div.label,
1342 #content div.box-left div.form div.fields div.field div.label,
1342 #content div.box-left div.form div.fields div.field div.label,
1343 #content div.box-left div.form div.fields div.field div.label-summary,
1343 #content div.box-left div.form div.fields div.field div.label-summary,
1344 #content div.box-right div.form div.fields div.field div.label-summary,
1344 #content div.box-right div.form div.fields div.field div.label-summary,
1345 #content div.box-left div.form div.fields div.field div.label-summary
1345 #content div.box-left div.form div.fields div.field div.label-summary
1346 {
1346 {
1347 clear: both;
1347 clear: both;
1348 overflow: hidden;
1348 overflow: hidden;
1349 left: 0;
1349 left: 0;
1350 width: auto;
1350 width: auto;
1351 position: relative;
1351 position: relative;
1352 margin: 0;
1352 margin: 0;
1353 padding: 0 0 8px;
1353 padding: 0 0 8px;
1354 }
1354 }
1355
1355
1356 #content div.box div.form div.fields div.field div.label-select {
1356 #content div.box div.form div.fields div.field div.label-select {
1357 padding: 5px 0 0 5px;
1357 padding: 5px 0 0 5px;
1358 }
1358 }
1359
1359
1360 #content div.box-left div.form div.fields div.field div.label-select,
1360 #content div.box-left div.form div.fields div.field div.label-select,
1361 #content div.box-right div.form div.fields div.field div.label-select
1361 #content div.box-right div.form div.fields div.field div.label-select
1362 {
1362 {
1363 padding: 0 0 8px;
1363 padding: 0 0 8px;
1364 }
1364 }
1365
1365
1366 #content div.box-left div.form div.fields div.field div.label-textarea,
1366 #content div.box-left div.form div.fields div.field div.label-textarea,
1367 #content div.box-right div.form div.fields div.field div.label-textarea
1367 #content div.box-right div.form div.fields div.field div.label-textarea
1368 {
1368 {
1369 padding: 0 0 8px !important;
1369 padding: 0 0 8px !important;
1370 }
1370 }
1371
1371
1372 #content div.box div.form div.fields div.field div.label label,div.label label
1372 #content div.box div.form div.fields div.field div.label label,div.label label
1373 {
1373 {
1374 color: #393939;
1374 color: #393939;
1375 font-weight: 700;
1375 font-weight: 700;
1376 }
1376 }
1377 #content div.box div.form div.fields div.field div.label label,div.label-summary label
1377 #content div.box div.form div.fields div.field div.label label,div.label-summary label
1378 {
1378 {
1379 color: #393939;
1379 color: #393939;
1380 font-weight: 700;
1380 font-weight: 700;
1381 }
1381 }
1382 #content div.box div.form div.fields div.field div.input {
1382 #content div.box div.form div.fields div.field div.input {
1383 margin: 0 0 0 200px;
1383 margin: 0 0 0 200px;
1384 }
1384 }
1385
1385
1386 #content div.box div.form div.fields div.field div.input.summary {
1386 #content div.box div.form div.fields div.field div.input.summary {
1387 margin: 0 0 0 110px;
1387 margin: 0 0 0 110px;
1388 }
1388 }
1389 #content div.box div.form div.fields div.field div.input.summary-short {
1389 #content div.box div.form div.fields div.field div.input.summary-short {
1390 margin: 0 0 0 110px;
1390 margin: 0 0 0 110px;
1391 }
1391 }
1392 #content div.box div.form div.fields div.field div.file {
1392 #content div.box div.form div.fields div.field div.file {
1393 margin: 0 0 0 200px;
1393 margin: 0 0 0 200px;
1394 }
1394 }
1395
1395
1396 #content div.box-left div.form div.fields div.field div.input,#content div.box-right div.form div.fields div.field div.input
1396 #content div.box-left div.form div.fields div.field div.input,#content div.box-right div.form div.fields div.field div.input
1397 {
1397 {
1398 margin: 0 0 0 0px;
1398 margin: 0 0 0 0px;
1399 }
1399 }
1400
1400
1401 #content div.box div.form div.fields div.field div.input input {
1401 #content div.box div.form div.fields div.field div.input input {
1402 background: #FFF;
1402 background: #FFF;
1403 border-top: 1px solid #b3b3b3;
1403 border-top: 1px solid #b3b3b3;
1404 border-left: 1px solid #b3b3b3;
1404 border-left: 1px solid #b3b3b3;
1405 border-right: 1px solid #eaeaea;
1405 border-right: 1px solid #eaeaea;
1406 border-bottom: 1px solid #eaeaea;
1406 border-bottom: 1px solid #eaeaea;
1407 color: #000;
1407 color: #000;
1408 font-size: 11px;
1408 font-size: 11px;
1409 margin: 0;
1409 margin: 0;
1410 padding: 7px 7px 6px;
1410 padding: 7px 7px 6px;
1411 }
1411 }
1412
1412
1413 #content div.box div.form div.fields div.field div.input input#clone_url,
1413 #content div.box div.form div.fields div.field div.input input#clone_url,
1414 #content div.box div.form div.fields div.field div.input input#clone_url_id
1414 #content div.box div.form div.fields div.field div.input input#clone_url_id
1415 {
1415 {
1416 font-size: 16px;
1416 font-size: 16px;
1417 padding: 2px;
1417 padding: 2px;
1418 }
1418 }
1419
1419
1420 #content div.box div.form div.fields div.field div.file input {
1420 #content div.box div.form div.fields div.field div.file input {
1421 background: none repeat scroll 0 0 #FFFFFF;
1421 background: none repeat scroll 0 0 #FFFFFF;
1422 border-color: #B3B3B3 #EAEAEA #EAEAEA #B3B3B3;
1422 border-color: #B3B3B3 #EAEAEA #EAEAEA #B3B3B3;
1423 border-style: solid;
1423 border-style: solid;
1424 border-width: 1px;
1424 border-width: 1px;
1425 color: #000000;
1425 color: #000000;
1426 font-size: 11px;
1426 font-size: 11px;
1427 margin: 0;
1427 margin: 0;
1428 padding: 7px 7px 6px;
1428 padding: 7px 7px 6px;
1429 }
1429 }
1430
1430
1431 input.disabled {
1431 input.disabled {
1432 background-color: #F5F5F5 !important;
1432 background-color: #F5F5F5 !important;
1433 }
1433 }
1434 #content div.box div.form div.fields div.field div.input input.small {
1434 #content div.box div.form div.fields div.field div.input input.small {
1435 width: 30%;
1435 width: 30%;
1436 }
1436 }
1437
1437
1438 #content div.box div.form div.fields div.field div.input input.medium {
1438 #content div.box div.form div.fields div.field div.input input.medium {
1439 width: 55%;
1439 width: 55%;
1440 }
1440 }
1441
1441
1442 #content div.box div.form div.fields div.field div.input input.large {
1442 #content div.box div.form div.fields div.field div.input input.large {
1443 width: 85%;
1443 width: 85%;
1444 }
1444 }
1445
1445
1446 #content div.box div.form div.fields div.field div.input input.date {
1446 #content div.box div.form div.fields div.field div.input input.date {
1447 width: 177px;
1447 width: 177px;
1448 }
1448 }
1449
1449
1450 #content div.box div.form div.fields div.field div.input input.button {
1450 #content div.box div.form div.fields div.field div.input input.button {
1451 background: #D4D0C8;
1451 background: #D4D0C8;
1452 border-top: 1px solid #FFF;
1452 border-top: 1px solid #FFF;
1453 border-left: 1px solid #FFF;
1453 border-left: 1px solid #FFF;
1454 border-right: 1px solid #404040;
1454 border-right: 1px solid #404040;
1455 border-bottom: 1px solid #404040;
1455 border-bottom: 1px solid #404040;
1456 color: #000;
1456 color: #000;
1457 margin: 0;
1457 margin: 0;
1458 padding: 4px 8px;
1458 padding: 4px 8px;
1459 }
1459 }
1460
1460
1461 #content div.box div.form div.fields div.field div.textarea {
1461 #content div.box div.form div.fields div.field div.textarea {
1462 border-top: 1px solid #b3b3b3;
1462 border-top: 1px solid #b3b3b3;
1463 border-left: 1px solid #b3b3b3;
1463 border-left: 1px solid #b3b3b3;
1464 border-right: 1px solid #eaeaea;
1464 border-right: 1px solid #eaeaea;
1465 border-bottom: 1px solid #eaeaea;
1465 border-bottom: 1px solid #eaeaea;
1466 margin: 0 0 0 200px;
1466 margin: 0 0 0 200px;
1467 padding: 10px;
1467 padding: 10px;
1468 }
1468 }
1469
1469
1470 #content div.box div.form div.fields div.field div.textarea-editor {
1470 #content div.box div.form div.fields div.field div.textarea-editor {
1471 border: 1px solid #ddd;
1471 border: 1px solid #ddd;
1472 padding: 0;
1472 padding: 0;
1473 }
1473 }
1474
1474
1475 #content div.box div.form div.fields div.field div.textarea textarea {
1475 #content div.box div.form div.fields div.field div.textarea textarea {
1476 width: 100%;
1476 width: 100%;
1477 height: 220px;
1477 height: 220px;
1478 overflow: hidden;
1478 overflow: hidden;
1479 background: #FFF;
1479 background: #FFF;
1480 color: #000;
1480 color: #000;
1481 font-size: 11px;
1481 font-size: 11px;
1482 outline: none;
1482 outline: none;
1483 border-width: 0;
1483 border-width: 0;
1484 margin: 0;
1484 margin: 0;
1485 padding: 0;
1485 padding: 0;
1486 }
1486 }
1487
1487
1488 #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
1488 #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
1489 {
1489 {
1490 width: 100%;
1490 width: 100%;
1491 height: 100px;
1491 height: 100px;
1492 }
1492 }
1493
1493
1494 #content div.box div.form div.fields div.field div.textarea table {
1494 #content div.box div.form div.fields div.field div.textarea table {
1495 width: 100%;
1495 width: 100%;
1496 border: none;
1496 border: none;
1497 margin: 0;
1497 margin: 0;
1498 padding: 0;
1498 padding: 0;
1499 }
1499 }
1500
1500
1501 #content div.box div.form div.fields div.field div.textarea table td {
1501 #content div.box div.form div.fields div.field div.textarea table td {
1502 background: #DDD;
1502 background: #DDD;
1503 border: none;
1503 border: none;
1504 padding: 0;
1504 padding: 0;
1505 }
1505 }
1506
1506
1507 #content div.box div.form div.fields div.field div.textarea table td table
1507 #content div.box div.form div.fields div.field div.textarea table td table
1508 {
1508 {
1509 width: auto;
1509 width: auto;
1510 border: none;
1510 border: none;
1511 margin: 0;
1511 margin: 0;
1512 padding: 0;
1512 padding: 0;
1513 }
1513 }
1514
1514
1515 #content div.box div.form div.fields div.field div.textarea table td table td
1515 #content div.box div.form div.fields div.field div.textarea table td table td
1516 {
1516 {
1517 font-size: 11px;
1517 font-size: 11px;
1518 padding: 5px 5px 5px 0;
1518 padding: 5px 5px 5px 0;
1519 }
1519 }
1520
1520
1521 #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
1521 #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
1522 {
1522 {
1523 background: #f6f6f6;
1523 background: #f6f6f6;
1524 border-color: #666;
1524 border-color: #666;
1525 }
1525 }
1526
1526
1527 div.form div.fields div.field div.button {
1527 div.form div.fields div.field div.button {
1528 margin: 0;
1528 margin: 0;
1529 padding: 0 0 0 8px;
1529 padding: 0 0 0 8px;
1530 }
1530 }
1531 #content div.box table.noborder {
1531 #content div.box table.noborder {
1532 border: 1px solid transparent;
1532 border: 1px solid transparent;
1533 }
1533 }
1534
1534
1535 #content div.box table {
1535 #content div.box table {
1536 width: 100%;
1536 width: 100%;
1537 border-collapse: separate;
1537 border-collapse: separate;
1538 margin: 0;
1538 margin: 0;
1539 padding: 0;
1539 padding: 0;
1540 border: 1px solid #eee;
1540 border: 1px solid #eee;
1541 -webkit-border-radius: 4px;
1541 -webkit-border-radius: 4px;
1542 -moz-border-radius: 4px;
1542 -moz-border-radius: 4px;
1543 border-radius: 4px;
1543 border-radius: 4px;
1544 }
1544 }
1545
1545
1546 #content div.box table th {
1546 #content div.box table th {
1547 background: #eee;
1547 background: #eee;
1548 border-bottom: 1px solid #ddd;
1548 border-bottom: 1px solid #ddd;
1549 padding: 5px 0px 5px 5px;
1549 padding: 5px 0px 5px 5px;
1550 }
1550 }
1551
1551
1552 #content div.box table th.left {
1552 #content div.box table th.left {
1553 text-align: left;
1553 text-align: left;
1554 }
1554 }
1555
1555
1556 #content div.box table th.right {
1556 #content div.box table th.right {
1557 text-align: right;
1557 text-align: right;
1558 }
1558 }
1559
1559
1560 #content div.box table th.center {
1560 #content div.box table th.center {
1561 text-align: center;
1561 text-align: center;
1562 }
1562 }
1563
1563
1564 #content div.box table th.selected {
1564 #content div.box table th.selected {
1565 vertical-align: middle;
1565 vertical-align: middle;
1566 padding: 0;
1566 padding: 0;
1567 }
1567 }
1568
1568
1569 #content div.box table td {
1569 #content div.box table td {
1570 background: #fff;
1570 background: #fff;
1571 border-bottom: 1px solid #cdcdcd;
1571 border-bottom: 1px solid #cdcdcd;
1572 vertical-align: middle;
1572 vertical-align: middle;
1573 padding: 5px;
1573 padding: 5px;
1574 }
1574 }
1575
1575
1576 #content div.box table tr.selected td {
1576 #content div.box table tr.selected td {
1577 background: #FFC;
1577 background: #FFC;
1578 }
1578 }
1579
1579
1580 #content div.box table td.selected {
1580 #content div.box table td.selected {
1581 width: 3%;
1581 width: 3%;
1582 text-align: center;
1582 text-align: center;
1583 vertical-align: middle;
1583 vertical-align: middle;
1584 padding: 0;
1584 padding: 0;
1585 }
1585 }
1586
1586
1587 #content div.box table td.action {
1587 #content div.box table td.action {
1588 width: 45%;
1588 width: 45%;
1589 text-align: left;
1589 text-align: left;
1590 }
1590 }
1591
1591
1592 #content div.box table td.date {
1592 #content div.box table td.date {
1593 width: 33%;
1593 width: 33%;
1594 text-align: center;
1594 text-align: center;
1595 }
1595 }
1596
1596
1597 #content div.box div.action {
1597 #content div.box div.action {
1598 float: right;
1598 float: right;
1599 background: #FFF;
1599 background: #FFF;
1600 text-align: right;
1600 text-align: right;
1601 margin: 10px 0 0;
1601 margin: 10px 0 0;
1602 padding: 0;
1602 padding: 0;
1603 }
1603 }
1604
1604
1605 #content div.box div.action select {
1605 #content div.box div.action select {
1606 font-size: 11px;
1606 font-size: 11px;
1607 margin: 0;
1607 margin: 0;
1608 }
1608 }
1609
1609
1610 #content div.box div.action .ui-selectmenu {
1610 #content div.box div.action .ui-selectmenu {
1611 margin: 0;
1611 margin: 0;
1612 padding: 0;
1612 padding: 0;
1613 }
1613 }
1614
1614
1615 #content div.box div.pagination {
1615 #content div.box div.pagination {
1616 height: 1%;
1616 height: 1%;
1617 clear: both;
1617 clear: both;
1618 overflow: hidden;
1618 overflow: hidden;
1619 margin: 10px 0 0;
1619 margin: 10px 0 0;
1620 padding: 0;
1620 padding: 0;
1621 }
1621 }
1622
1622
1623 #content div.box div.pagination ul.pager {
1623 #content div.box div.pagination ul.pager {
1624 float: right;
1624 float: right;
1625 text-align: right;
1625 text-align: right;
1626 margin: 0;
1626 margin: 0;
1627 padding: 0;
1627 padding: 0;
1628 }
1628 }
1629
1629
1630 #content div.box div.pagination ul.pager li {
1630 #content div.box div.pagination ul.pager li {
1631 height: 1%;
1631 height: 1%;
1632 float: left;
1632 float: left;
1633 list-style: none;
1633 list-style: none;
1634 background: #ebebeb url("../images/pager.png") repeat-x;
1634 background: #ebebeb url("../images/pager.png") repeat-x;
1635 border-top: 1px solid #dedede;
1635 border-top: 1px solid #dedede;
1636 border-left: 1px solid #cfcfcf;
1636 border-left: 1px solid #cfcfcf;
1637 border-right: 1px solid #c4c4c4;
1637 border-right: 1px solid #c4c4c4;
1638 border-bottom: 1px solid #c4c4c4;
1638 border-bottom: 1px solid #c4c4c4;
1639 color: #4A4A4A;
1639 color: #4A4A4A;
1640 font-weight: 700;
1640 font-weight: 700;
1641 margin: 0 0 0 4px;
1641 margin: 0 0 0 4px;
1642 padding: 0;
1642 padding: 0;
1643 }
1643 }
1644
1644
1645 #content div.box div.pagination ul.pager li.separator {
1645 #content div.box div.pagination ul.pager li.separator {
1646 padding: 6px;
1646 padding: 6px;
1647 }
1647 }
1648
1648
1649 #content div.box div.pagination ul.pager li.current {
1649 #content div.box div.pagination ul.pager li.current {
1650 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1650 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1651 border-top: 1px solid #ccc;
1651 border-top: 1px solid #ccc;
1652 border-left: 1px solid #bebebe;
1652 border-left: 1px solid #bebebe;
1653 border-right: 1px solid #b1b1b1;
1653 border-right: 1px solid #b1b1b1;
1654 border-bottom: 1px solid #afafaf;
1654 border-bottom: 1px solid #afafaf;
1655 color: #515151;
1655 color: #515151;
1656 padding: 6px;
1656 padding: 6px;
1657 }
1657 }
1658
1658
1659 #content div.box div.pagination ul.pager li a {
1659 #content div.box div.pagination ul.pager li a {
1660 height: 1%;
1660 height: 1%;
1661 display: block;
1661 display: block;
1662 float: left;
1662 float: left;
1663 color: #515151;
1663 color: #515151;
1664 text-decoration: none;
1664 text-decoration: none;
1665 margin: 0;
1665 margin: 0;
1666 padding: 6px;
1666 padding: 6px;
1667 }
1667 }
1668
1668
1669 #content div.box div.pagination ul.pager li a:hover,#content div.box div.pagination ul.pager li a:active
1669 #content div.box div.pagination ul.pager li a:hover,#content div.box div.pagination ul.pager li a:active
1670 {
1670 {
1671 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1671 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1672 border-top: 1px solid #ccc;
1672 border-top: 1px solid #ccc;
1673 border-left: 1px solid #bebebe;
1673 border-left: 1px solid #bebebe;
1674 border-right: 1px solid #b1b1b1;
1674 border-right: 1px solid #b1b1b1;
1675 border-bottom: 1px solid #afafaf;
1675 border-bottom: 1px solid #afafaf;
1676 margin: -1px;
1676 margin: -1px;
1677 }
1677 }
1678
1678
1679 #content div.box div.pagination-wh {
1679 #content div.box div.pagination-wh {
1680 height: 1%;
1680 height: 1%;
1681 clear: both;
1681 clear: both;
1682 overflow: hidden;
1682 overflow: hidden;
1683 text-align: right;
1683 text-align: right;
1684 margin: 10px 0 0;
1684 margin: 10px 0 0;
1685 padding: 0;
1685 padding: 0;
1686 }
1686 }
1687
1687
1688 #content div.box div.pagination-right {
1688 #content div.box div.pagination-right {
1689 float: right;
1689 float: right;
1690 }
1690 }
1691
1691
1692 #content div.box div.pagination-wh a,#content div.box div.pagination-wh span.pager_dotdot
1692 #content div.box div.pagination-wh a,#content div.box div.pagination-wh span.pager_dotdot
1693 {
1693 {
1694 height: 1%;
1694 height: 1%;
1695 float: left;
1695 float: left;
1696 background: #ebebeb url("../images/pager.png") repeat-x;
1696 background: #ebebeb url("../images/pager.png") repeat-x;
1697 border-top: 1px solid #dedede;
1697 border-top: 1px solid #dedede;
1698 border-left: 1px solid #cfcfcf;
1698 border-left: 1px solid #cfcfcf;
1699 border-right: 1px solid #c4c4c4;
1699 border-right: 1px solid #c4c4c4;
1700 border-bottom: 1px solid #c4c4c4;
1700 border-bottom: 1px solid #c4c4c4;
1701 color: #4A4A4A;
1701 color: #4A4A4A;
1702 font-weight: 700;
1702 font-weight: 700;
1703 margin: 0 0 0 4px;
1703 margin: 0 0 0 4px;
1704 padding: 6px;
1704 padding: 6px;
1705 }
1705 }
1706
1706
1707 #content div.box div.pagination-wh span.pager_curpage {
1707 #content div.box div.pagination-wh span.pager_curpage {
1708 height: 1%;
1708 height: 1%;
1709 float: left;
1709 float: left;
1710 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1710 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1711 border-top: 1px solid #ccc;
1711 border-top: 1px solid #ccc;
1712 border-left: 1px solid #bebebe;
1712 border-left: 1px solid #bebebe;
1713 border-right: 1px solid #b1b1b1;
1713 border-right: 1px solid #b1b1b1;
1714 border-bottom: 1px solid #afafaf;
1714 border-bottom: 1px solid #afafaf;
1715 color: #515151;
1715 color: #515151;
1716 font-weight: 700;
1716 font-weight: 700;
1717 margin: 0 0 0 4px;
1717 margin: 0 0 0 4px;
1718 padding: 6px;
1718 padding: 6px;
1719 }
1719 }
1720
1720
1721 #content div.box div.pagination-wh a:hover,#content div.box div.pagination-wh a:active
1721 #content div.box div.pagination-wh a:hover,#content div.box div.pagination-wh a:active
1722 {
1722 {
1723 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1723 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1724 border-top: 1px solid #ccc;
1724 border-top: 1px solid #ccc;
1725 border-left: 1px solid #bebebe;
1725 border-left: 1px solid #bebebe;
1726 border-right: 1px solid #b1b1b1;
1726 border-right: 1px solid #b1b1b1;
1727 border-bottom: 1px solid #afafaf;
1727 border-bottom: 1px solid #afafaf;
1728 text-decoration: none;
1728 text-decoration: none;
1729 }
1729 }
1730
1730
1731 #content div.box div.traffic div.legend {
1731 #content div.box div.traffic div.legend {
1732 clear: both;
1732 clear: both;
1733 overflow: hidden;
1733 overflow: hidden;
1734 border-bottom: 1px solid #ddd;
1734 border-bottom: 1px solid #ddd;
1735 margin: 0 0 10px;
1735 margin: 0 0 10px;
1736 padding: 0 0 10px;
1736 padding: 0 0 10px;
1737 }
1737 }
1738
1738
1739 #content div.box div.traffic div.legend h6 {
1739 #content div.box div.traffic div.legend h6 {
1740 float: left;
1740 float: left;
1741 border: none;
1741 border: none;
1742 margin: 0;
1742 margin: 0;
1743 padding: 0;
1743 padding: 0;
1744 }
1744 }
1745
1745
1746 #content div.box div.traffic div.legend li {
1746 #content div.box div.traffic div.legend li {
1747 list-style: none;
1747 list-style: none;
1748 float: left;
1748 float: left;
1749 font-size: 11px;
1749 font-size: 11px;
1750 margin: 0;
1750 margin: 0;
1751 padding: 0 8px 0 4px;
1751 padding: 0 8px 0 4px;
1752 }
1752 }
1753
1753
1754 #content div.box div.traffic div.legend li.visits {
1754 #content div.box div.traffic div.legend li.visits {
1755 border-left: 12px solid #edc240;
1755 border-left: 12px solid #edc240;
1756 }
1756 }
1757
1757
1758 #content div.box div.traffic div.legend li.pageviews {
1758 #content div.box div.traffic div.legend li.pageviews {
1759 border-left: 12px solid #afd8f8;
1759 border-left: 12px solid #afd8f8;
1760 }
1760 }
1761
1761
1762 #content div.box div.traffic table {
1762 #content div.box div.traffic table {
1763 width: auto;
1763 width: auto;
1764 }
1764 }
1765
1765
1766 #content div.box div.traffic table td {
1766 #content div.box div.traffic table td {
1767 background: transparent;
1767 background: transparent;
1768 border: none;
1768 border: none;
1769 padding: 2px 3px 3px;
1769 padding: 2px 3px 3px;
1770 }
1770 }
1771
1771
1772 #content div.box div.traffic table td.legendLabel {
1772 #content div.box div.traffic table td.legendLabel {
1773 padding: 0 3px 2px;
1773 padding: 0 3px 2px;
1774 }
1774 }
1775
1775
1776 #summary {
1776 #summary {
1777
1777
1778 }
1778 }
1779
1779
1780 #summary .desc {
1780 #summary .desc {
1781 white-space: pre;
1781 white-space: pre;
1782 width: 100%;
1782 width: 100%;
1783 }
1783 }
1784
1784
1785 #summary .repo_name {
1785 #summary .repo_name {
1786 font-size: 1.6em;
1786 font-size: 1.6em;
1787 font-weight: bold;
1787 font-weight: bold;
1788 vertical-align: baseline;
1788 vertical-align: baseline;
1789 clear: right
1789 clear: right
1790 }
1790 }
1791
1791
1792 #footer {
1792 #footer {
1793 clear: both;
1793 clear: both;
1794 overflow: hidden;
1794 overflow: hidden;
1795 text-align: right;
1795 text-align: right;
1796 margin: 0;
1796 margin: 0;
1797 padding: 0 10px 4px;
1797 padding: 0 10px 4px;
1798 margin: -10px 0 0;
1798 margin: -10px 0 0;
1799 }
1799 }
1800
1800
1801 #footer div#footer-inner {
1801 #footer div#footer-inner {
1802 background-color: #003B76;
1802 background-color: #003B76;
1803 background-repeat : repeat-x;
1803 background-repeat : repeat-x;
1804 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1804 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1805 background-image : -moz-linear-gradient(top, #003b76, #00376e);
1805 background-image : -moz-linear-gradient(top, #003b76, #00376e);
1806 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1806 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1807 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1807 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1808 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1808 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1809 background-image : -o-linear-gradient( top, #003b76, #00376e));
1809 background-image : -o-linear-gradient( top, #003b76, #00376e));
1810 background-image : linear-gradient( top, #003b76, #00376e);
1810 background-image : linear-gradient( top, #003b76, #00376e);
1811 filter :progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1811 filter :progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1812 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1812 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1813 -webkit-border-radius: 4px 4px 4px 4px;
1813 -webkit-border-radius: 4px 4px 4px 4px;
1814 -khtml-border-radius: 4px 4px 4px 4px;
1814 -khtml-border-radius: 4px 4px 4px 4px;
1815 -moz-border-radius: 4px 4px 4px 4px;
1815 -moz-border-radius: 4px 4px 4px 4px;
1816 border-radius: 4px 4px 4px 4px;
1816 border-radius: 4px 4px 4px 4px;
1817 }
1817 }
1818
1818
1819 #footer div#footer-inner p {
1819 #footer div#footer-inner p {
1820 padding: 15px 25px 15px 0;
1820 padding: 15px 25px 15px 0;
1821 color: #FFF;
1821 color: #FFF;
1822 font-weight: 700;
1822 font-weight: 700;
1823 }
1823 }
1824
1824
1825 #footer div#footer-inner .footer-link {
1825 #footer div#footer-inner .footer-link {
1826 float: left;
1826 float: left;
1827 padding-left: 10px;
1827 padding-left: 10px;
1828 }
1828 }
1829
1829
1830 #footer div#footer-inner .footer-link a,#footer div#footer-inner .footer-link-right a
1830 #footer div#footer-inner .footer-link a,#footer div#footer-inner .footer-link-right a
1831 {
1831 {
1832 color: #FFF;
1832 color: #FFF;
1833 }
1833 }
1834
1834
1835 #login div.title {
1835 #login div.title {
1836 width: 420px;
1836 width: 420px;
1837 clear: both;
1837 clear: both;
1838 overflow: hidden;
1838 overflow: hidden;
1839 position: relative;
1839 position: relative;
1840 background-color: #003B76;
1840 background-color: #003B76;
1841 background-repeat : repeat-x;
1841 background-repeat : repeat-x;
1842 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1842 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1843 background-image : -moz-linear-gradient( top, #003b76, #00376e);
1843 background-image : -moz-linear-gradient( top, #003b76, #00376e);
1844 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1844 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1845 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1845 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1846 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1846 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1847 background-image : -o-linear-gradient( top, #003b76, #00376e));
1847 background-image : -o-linear-gradient( top, #003b76, #00376e));
1848 background-image : linear-gradient( top, #003b76, #00376e);
1848 background-image : linear-gradient( top, #003b76, #00376e);
1849 filter : progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1849 filter : progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1850 margin: 0 auto;
1850 margin: 0 auto;
1851 padding: 0;
1851 padding: 0;
1852 }
1852 }
1853
1853
1854 #login div.inner {
1854 #login div.inner {
1855 width: 380px;
1855 width: 380px;
1856 background: #FFF url("../images/login.png") no-repeat top left;
1856 background: #FFF url("../images/login.png") no-repeat top left;
1857 border-top: none;
1857 border-top: none;
1858 border-bottom: none;
1858 border-bottom: none;
1859 margin: 0 auto;
1859 margin: 0 auto;
1860 padding: 20px;
1860 padding: 20px;
1861 }
1861 }
1862
1862
1863 #login div.form div.fields div.field div.label {
1863 #login div.form div.fields div.field div.label {
1864 width: 173px;
1864 width: 173px;
1865 float: left;
1865 float: left;
1866 text-align: right;
1866 text-align: right;
1867 margin: 2px 10px 0 0;
1867 margin: 2px 10px 0 0;
1868 padding: 5px 0 0 5px;
1868 padding: 5px 0 0 5px;
1869 }
1869 }
1870
1870
1871 #login div.form div.fields div.field div.input input {
1871 #login div.form div.fields div.field div.input input {
1872 width: 176px;
1872 width: 176px;
1873 background: #FFF;
1873 background: #FFF;
1874 border-top: 1px solid #b3b3b3;
1874 border-top: 1px solid #b3b3b3;
1875 border-left: 1px solid #b3b3b3;
1875 border-left: 1px solid #b3b3b3;
1876 border-right: 1px solid #eaeaea;
1876 border-right: 1px solid #eaeaea;
1877 border-bottom: 1px solid #eaeaea;
1877 border-bottom: 1px solid #eaeaea;
1878 color: #000;
1878 color: #000;
1879 font-size: 11px;
1879 font-size: 11px;
1880 margin: 0;
1880 margin: 0;
1881 padding: 7px 7px 6px;
1881 padding: 7px 7px 6px;
1882 }
1882 }
1883
1883
1884 #login div.form div.fields div.buttons {
1884 #login div.form div.fields div.buttons {
1885 clear: both;
1885 clear: both;
1886 overflow: hidden;
1886 overflow: hidden;
1887 border-top: 1px solid #DDD;
1887 border-top: 1px solid #DDD;
1888 text-align: right;
1888 text-align: right;
1889 margin: 0;
1889 margin: 0;
1890 padding: 10px 0 0;
1890 padding: 10px 0 0;
1891 }
1891 }
1892
1892
1893 #login div.form div.links {
1893 #login div.form div.links {
1894 clear: both;
1894 clear: both;
1895 overflow: hidden;
1895 overflow: hidden;
1896 margin: 10px 0 0;
1896 margin: 10px 0 0;
1897 padding: 0 0 2px;
1897 padding: 0 0 2px;
1898 }
1898 }
1899
1899
1900 .user-menu{
1900 .user-menu{
1901 margin: 0px !important;
1901 margin: 0px !important;
1902 float: left;
1902 float: left;
1903 }
1903 }
1904
1904
1905 .user-menu .container{
1905 .user-menu .container{
1906 padding:0px 4px 0px 4px;
1906 padding:0px 4px 0px 4px;
1907 margin: 0px 0px 0px 0px;
1907 margin: 0px 0px 0px 0px;
1908 }
1908 }
1909
1909
1910 .user-menu .gravatar{
1910 .user-menu .gravatar{
1911 margin: 0px 0px 0px 0px;
1911 margin: 0px 0px 0px 0px;
1912 cursor: pointer;
1912 cursor: pointer;
1913 }
1913 }
1914 .user-menu .gravatar.enabled{
1914 .user-menu .gravatar.enabled{
1915 background-color: #FDF784 !important;
1915 background-color: #FDF784 !important;
1916 }
1916 }
1917 .user-menu .gravatar:hover{
1917 .user-menu .gravatar:hover{
1918 background-color: #FDF784 !important;
1918 background-color: #FDF784 !important;
1919 }
1919 }
1920 #quick_login{
1920 #quick_login{
1921 min-height: 80px;
1921 min-height: 80px;
1922 margin: 37px 0 0 -251px;
1922 margin: 37px 0 0 -251px;
1923 padding: 4px;
1923 padding: 4px;
1924 position: absolute;
1924 position: absolute;
1925 width: 278px;
1925 width: 278px;
1926
1926
1927 background-repeat: repeat-x;
1927 background-repeat: repeat-x;
1928 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1928 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1929 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1929 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1930 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1930 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1931 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1931 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1932 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1932 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1933 background-image: -o-linear-gradient(top, #003b76, #00376e);
1933 background-image: -o-linear-gradient(top, #003b76, #00376e);
1934 background-image: linear-gradient(top, #003b76, #00376e);
1934 background-image: linear-gradient(top, #003b76, #00376e);
1935 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1935 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1936
1936
1937 z-index: 999;
1937 z-index: 999;
1938 -webkit-border-radius: 0px 0px 4px 4px;
1938 -webkit-border-radius: 0px 0px 4px 4px;
1939 -khtml-border-radius: 0px 0px 4px 4px;
1939 -khtml-border-radius: 0px 0px 4px 4px;
1940 -moz-border-radius: 0px 0px 4px 4px;
1940 -moz-border-radius: 0px 0px 4px 4px;
1941 border-radius: 0px 0px 4px 4px;
1941 border-radius: 0px 0px 4px 4px;
1942 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1942 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1943 }
1943 }
1944 #quick_login h4{
1944 #quick_login h4{
1945 color: #fff;
1945 color: #fff;
1946 padding: 5px 0px 5px 14px;
1946 padding: 5px 0px 5px 14px;
1947 }
1947 }
1948
1948
1949 #quick_login .password_forgoten {
1949 #quick_login .password_forgoten {
1950 padding-right: 10px;
1950 padding-right: 10px;
1951 padding-top: 0px;
1951 padding-top: 0px;
1952 text-align: left;
1952 text-align: left;
1953 }
1953 }
1954
1954
1955 #quick_login .password_forgoten a {
1955 #quick_login .password_forgoten a {
1956 font-size: 10px;
1956 font-size: 10px;
1957 color: #fff;
1957 color: #fff;
1958 }
1958 }
1959
1959
1960 #quick_login .register {
1960 #quick_login .register {
1961 padding-right: 10px;
1961 padding-right: 10px;
1962 padding-top: 5px;
1962 padding-top: 5px;
1963 text-align: left;
1963 text-align: left;
1964 }
1964 }
1965
1965
1966 #quick_login .register a {
1966 #quick_login .register a {
1967 font-size: 10px;
1967 font-size: 10px;
1968 color: #fff;
1968 color: #fff;
1969 }
1969 }
1970
1970
1971 #quick_login .submit {
1971 #quick_login .submit {
1972 margin: -20px 0 0 0px;
1972 margin: -20px 0 0 0px;
1973 position: absolute;
1973 position: absolute;
1974 right: 15px;
1974 right: 15px;
1975 }
1975 }
1976
1976
1977 #quick_login .links_left{
1977 #quick_login .links_left{
1978 float: left;
1978 float: left;
1979 }
1979 }
1980 #quick_login .links_right{
1980 #quick_login .links_right{
1981 float: right;
1981 float: right;
1982 }
1982 }
1983 #quick_login .full_name{
1983 #quick_login .full_name{
1984 color: #FFFFFF;
1984 color: #FFFFFF;
1985 font-weight: bold;
1985 font-weight: bold;
1986 padding: 3px;
1986 padding: 3px;
1987 }
1987 }
1988 #quick_login .big_gravatar{
1988 #quick_login .big_gravatar{
1989 padding:4px 0px 0px 6px;
1989 padding:4px 0px 0px 6px;
1990 }
1990 }
1991 #quick_login .inbox{
1991 #quick_login .inbox{
1992 padding:4px 0px 0px 6px;
1992 padding:4px 0px 0px 6px;
1993 color: #FFFFFF;
1993 color: #FFFFFF;
1994 font-weight: bold;
1994 font-weight: bold;
1995 }
1995 }
1996 #quick_login .inbox a{
1996 #quick_login .inbox a{
1997 color: #FFFFFF;
1997 color: #FFFFFF;
1998 }
1998 }
1999 #quick_login .email,#quick_login .email a{
1999 #quick_login .email,#quick_login .email a{
2000 color: #FFFFFF;
2000 color: #FFFFFF;
2001 padding: 3px;
2001 padding: 3px;
2002
2002
2003 }
2003 }
2004 #quick_login .links .logout{
2004 #quick_login .links .logout{
2005
2005
2006 }
2006 }
2007
2007
2008 #quick_login div.form div.fields {
2008 #quick_login div.form div.fields {
2009 padding-top: 2px;
2009 padding-top: 2px;
2010 padding-left: 10px;
2010 padding-left: 10px;
2011 }
2011 }
2012
2012
2013 #quick_login div.form div.fields div.field {
2013 #quick_login div.form div.fields div.field {
2014 padding: 5px;
2014 padding: 5px;
2015 }
2015 }
2016
2016
2017 #quick_login div.form div.fields div.field div.label label {
2017 #quick_login div.form div.fields div.field div.label label {
2018 color: #fff;
2018 color: #fff;
2019 padding-bottom: 3px;
2019 padding-bottom: 3px;
2020 }
2020 }
2021
2021
2022 #quick_login div.form div.fields div.field div.input input {
2022 #quick_login div.form div.fields div.field div.input input {
2023 width: 236px;
2023 width: 236px;
2024 background: #FFF;
2024 background: #FFF;
2025 border-top: 1px solid #b3b3b3;
2025 border-top: 1px solid #b3b3b3;
2026 border-left: 1px solid #b3b3b3;
2026 border-left: 1px solid #b3b3b3;
2027 border-right: 1px solid #eaeaea;
2027 border-right: 1px solid #eaeaea;
2028 border-bottom: 1px solid #eaeaea;
2028 border-bottom: 1px solid #eaeaea;
2029 color: #000;
2029 color: #000;
2030 font-size: 11px;
2030 font-size: 11px;
2031 margin: 0;
2031 margin: 0;
2032 padding: 5px 7px 4px;
2032 padding: 5px 7px 4px;
2033 }
2033 }
2034
2034
2035 #quick_login div.form div.fields div.buttons {
2035 #quick_login div.form div.fields div.buttons {
2036 clear: both;
2036 clear: both;
2037 overflow: hidden;
2037 overflow: hidden;
2038 text-align: right;
2038 text-align: right;
2039 margin: 0;
2039 margin: 0;
2040 padding: 5px 14px 0px 5px;
2040 padding: 5px 14px 0px 5px;
2041 }
2041 }
2042
2042
2043 #quick_login div.form div.links {
2043 #quick_login div.form div.links {
2044 clear: both;
2044 clear: both;
2045 overflow: hidden;
2045 overflow: hidden;
2046 margin: 10px 0 0;
2046 margin: 10px 0 0;
2047 padding: 0 0 2px;
2047 padding: 0 0 2px;
2048 }
2048 }
2049
2049
2050 #quick_login ol.links{
2050 #quick_login ol.links{
2051 display: block;
2051 display: block;
2052 font-weight: bold;
2052 font-weight: bold;
2053 list-style: none outside none;
2053 list-style: none outside none;
2054 text-align: right;
2054 text-align: right;
2055 }
2055 }
2056 #quick_login ol.links li{
2056 #quick_login ol.links li{
2057 line-height: 27px;
2057 line-height: 27px;
2058 margin: 0;
2058 margin: 0;
2059 padding: 0;
2059 padding: 0;
2060 color: #fff;
2060 color: #fff;
2061 display: block;
2061 display: block;
2062 float:none !important;
2062 float:none !important;
2063 }
2063 }
2064
2064
2065 #quick_login ol.links li a{
2065 #quick_login ol.links li a{
2066 color: #fff;
2066 color: #fff;
2067 display: block;
2067 display: block;
2068 padding: 2px;
2068 padding: 2px;
2069 }
2069 }
2070 #quick_login ol.links li a:HOVER{
2070 #quick_login ol.links li a:HOVER{
2071 background-color: inherit !important;
2071 background-color: inherit !important;
2072 }
2072 }
2073
2073
2074 #register div.title {
2074 #register div.title {
2075 clear: both;
2075 clear: both;
2076 overflow: hidden;
2076 overflow: hidden;
2077 position: relative;
2077 position: relative;
2078 background-color: #003B76;
2078 background-color: #003B76;
2079 background-repeat: repeat-x;
2079 background-repeat: repeat-x;
2080 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2080 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2081 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2081 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2082 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2082 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2083 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
2083 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
2084 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2084 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2085 background-image: -o-linear-gradient(top, #003b76, #00376e);
2085 background-image: -o-linear-gradient(top, #003b76, #00376e);
2086 background-image: linear-gradient(top, #003b76, #00376e);
2086 background-image: linear-gradient(top, #003b76, #00376e);
2087 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',
2087 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',
2088 endColorstr='#00376e', GradientType=0 );
2088 endColorstr='#00376e', GradientType=0 );
2089 margin: 0 auto;
2089 margin: 0 auto;
2090 padding: 0;
2090 padding: 0;
2091 }
2091 }
2092
2092
2093 #register div.inner {
2093 #register div.inner {
2094 background: #FFF;
2094 background: #FFF;
2095 border-top: none;
2095 border-top: none;
2096 border-bottom: none;
2096 border-bottom: none;
2097 margin: 0 auto;
2097 margin: 0 auto;
2098 padding: 20px;
2098 padding: 20px;
2099 }
2099 }
2100
2100
2101 #register div.form div.fields div.field div.label {
2101 #register div.form div.fields div.field div.label {
2102 width: 135px;
2102 width: 135px;
2103 float: left;
2103 float: left;
2104 text-align: right;
2104 text-align: right;
2105 margin: 2px 10px 0 0;
2105 margin: 2px 10px 0 0;
2106 padding: 5px 0 0 5px;
2106 padding: 5px 0 0 5px;
2107 }
2107 }
2108
2108
2109 #register div.form div.fields div.field div.input input {
2109 #register div.form div.fields div.field div.input input {
2110 width: 300px;
2110 width: 300px;
2111 background: #FFF;
2111 background: #FFF;
2112 border-top: 1px solid #b3b3b3;
2112 border-top: 1px solid #b3b3b3;
2113 border-left: 1px solid #b3b3b3;
2113 border-left: 1px solid #b3b3b3;
2114 border-right: 1px solid #eaeaea;
2114 border-right: 1px solid #eaeaea;
2115 border-bottom: 1px solid #eaeaea;
2115 border-bottom: 1px solid #eaeaea;
2116 color: #000;
2116 color: #000;
2117 font-size: 11px;
2117 font-size: 11px;
2118 margin: 0;
2118 margin: 0;
2119 padding: 7px 7px 6px;
2119 padding: 7px 7px 6px;
2120 }
2120 }
2121
2121
2122 #register div.form div.fields div.buttons {
2122 #register div.form div.fields div.buttons {
2123 clear: both;
2123 clear: both;
2124 overflow: hidden;
2124 overflow: hidden;
2125 border-top: 1px solid #DDD;
2125 border-top: 1px solid #DDD;
2126 text-align: left;
2126 text-align: left;
2127 margin: 0;
2127 margin: 0;
2128 padding: 10px 0 0 150px;
2128 padding: 10px 0 0 150px;
2129 }
2129 }
2130
2130
2131 #register div.form div.activation_msg {
2131 #register div.form div.activation_msg {
2132 padding-top: 4px;
2132 padding-top: 4px;
2133 padding-bottom: 4px;
2133 padding-bottom: 4px;
2134 }
2134 }
2135
2135
2136 #journal .journal_day {
2136 #journal .journal_day {
2137 font-size: 20px;
2137 font-size: 20px;
2138 padding: 10px 0px;
2138 padding: 10px 0px;
2139 border-bottom: 2px solid #DDD;
2139 border-bottom: 2px solid #DDD;
2140 margin-left: 10px;
2140 margin-left: 10px;
2141 margin-right: 10px;
2141 margin-right: 10px;
2142 }
2142 }
2143
2143
2144 #journal .journal_container {
2144 #journal .journal_container {
2145 padding: 5px;
2145 padding: 5px;
2146 clear: both;
2146 clear: both;
2147 margin: 0px 5px 0px 10px;
2147 margin: 0px 5px 0px 10px;
2148 }
2148 }
2149
2149
2150 #journal .journal_action_container {
2150 #journal .journal_action_container {
2151 padding-left: 38px;
2151 padding-left: 38px;
2152 }
2152 }
2153
2153
2154 #journal .journal_user {
2154 #journal .journal_user {
2155 color: #747474;
2155 color: #747474;
2156 font-size: 14px;
2156 font-size: 14px;
2157 font-weight: bold;
2157 font-weight: bold;
2158 height: 30px;
2158 height: 30px;
2159 }
2159 }
2160
2160
2161 #journal .journal_icon {
2161 #journal .journal_icon {
2162 clear: both;
2162 clear: both;
2163 float: left;
2163 float: left;
2164 padding-right: 4px;
2164 padding-right: 4px;
2165 padding-top: 3px;
2165 padding-top: 3px;
2166 }
2166 }
2167
2167
2168 #journal .journal_action {
2168 #journal .journal_action {
2169 padding-top: 4px;
2169 padding-top: 4px;
2170 min-height: 2px;
2170 min-height: 2px;
2171 float: left
2171 float: left
2172 }
2172 }
2173
2173
2174 #journal .journal_action_params {
2174 #journal .journal_action_params {
2175 clear: left;
2175 clear: left;
2176 padding-left: 22px;
2176 padding-left: 22px;
2177 }
2177 }
2178
2178
2179 #journal .journal_repo {
2179 #journal .journal_repo {
2180 float: left;
2180 float: left;
2181 margin-left: 6px;
2181 margin-left: 6px;
2182 padding-top: 3px;
2182 padding-top: 3px;
2183 }
2183 }
2184
2184
2185 #journal .date {
2185 #journal .date {
2186 clear: both;
2186 clear: both;
2187 color: #777777;
2187 color: #777777;
2188 font-size: 11px;
2188 font-size: 11px;
2189 padding-left: 22px;
2189 padding-left: 22px;
2190 }
2190 }
2191
2191
2192 #journal .journal_repo .journal_repo_name {
2192 #journal .journal_repo .journal_repo_name {
2193 font-weight: bold;
2193 font-weight: bold;
2194 font-size: 1.1em;
2194 font-size: 1.1em;
2195 }
2195 }
2196
2196
2197 #journal .compare_view {
2197 #journal .compare_view {
2198 padding: 5px 0px 5px 0px;
2198 padding: 5px 0px 5px 0px;
2199 width: 95px;
2199 width: 95px;
2200 }
2200 }
2201
2201
2202 .journal_highlight {
2202 .journal_highlight {
2203 font-weight: bold;
2203 font-weight: bold;
2204 padding: 0 2px;
2204 padding: 0 2px;
2205 vertical-align: bottom;
2205 vertical-align: bottom;
2206 }
2206 }
2207
2207
2208 .trending_language_tbl,.trending_language_tbl td {
2208 .trending_language_tbl,.trending_language_tbl td {
2209 border: 0 !important;
2209 border: 0 !important;
2210 margin: 0 !important;
2210 margin: 0 !important;
2211 padding: 0 !important;
2211 padding: 0 !important;
2212 }
2212 }
2213
2213
2214 .trending_language_tbl,.trending_language_tbl tr {
2214 .trending_language_tbl,.trending_language_tbl tr {
2215 border-spacing: 1px;
2215 border-spacing: 1px;
2216 }
2216 }
2217
2217
2218 .trending_language {
2218 .trending_language {
2219 background-color: #003367;
2219 background-color: #003367;
2220 color: #FFF;
2220 color: #FFF;
2221 display: block;
2221 display: block;
2222 min-width: 20px;
2222 min-width: 20px;
2223 text-decoration: none;
2223 text-decoration: none;
2224 height: 12px;
2224 height: 12px;
2225 margin-bottom: 0px;
2225 margin-bottom: 0px;
2226 margin-left: 5px;
2226 margin-left: 5px;
2227 white-space: pre;
2227 white-space: pre;
2228 padding: 3px;
2228 padding: 3px;
2229 }
2229 }
2230
2230
2231 h3.files_location {
2231 h3.files_location {
2232 font-size: 1.8em;
2232 font-size: 1.8em;
2233 font-weight: 700;
2233 font-weight: 700;
2234 border-bottom: none !important;
2234 border-bottom: none !important;
2235 margin: 10px 0 !important;
2235 margin: 10px 0 !important;
2236 }
2236 }
2237
2237
2238 #files_data dl dt {
2238 #files_data dl dt {
2239 float: left;
2239 float: left;
2240 width: 60px;
2240 width: 60px;
2241 margin: 0 !important;
2241 margin: 0 !important;
2242 padding: 5px;
2242 padding: 5px;
2243 }
2243 }
2244
2244
2245 #files_data dl dd {
2245 #files_data dl dd {
2246 margin: 0 !important;
2246 margin: 0 !important;
2247 padding: 5px !important;
2247 padding: 5px !important;
2248 }
2248 }
2249
2249
2250 .tablerow0 {
2250 .tablerow0 {
2251 background-color: #F8F8F8;
2251 background-color: #F8F8F8;
2252 }
2252 }
2253
2253
2254 .tablerow1 {
2254 .tablerow1 {
2255 background-color: #FFFFFF;
2255 background-color: #FFFFFF;
2256 }
2256 }
2257
2257
2258 .changeset_id {
2258 .changeset_id {
2259 font-family: monospace;
2259 font-family: monospace;
2260 color: #666666;
2260 color: #666666;
2261 }
2261 }
2262
2262
2263 .changeset_hash {
2263 .changeset_hash {
2264 color: #000000;
2264 color: #000000;
2265 }
2265 }
2266
2266
2267 #changeset_content {
2267 #changeset_content {
2268 border-left: 1px solid #CCC;
2268 border-left: 1px solid #CCC;
2269 border-right: 1px solid #CCC;
2269 border-right: 1px solid #CCC;
2270 border-bottom: 1px solid #CCC;
2270 border-bottom: 1px solid #CCC;
2271 padding: 5px;
2271 padding: 5px;
2272 }
2272 }
2273
2273
2274 #changeset_compare_view_content {
2274 #changeset_compare_view_content {
2275 border: 1px solid #CCC;
2275 border: 1px solid #CCC;
2276 padding: 5px;
2276 padding: 5px;
2277 }
2277 }
2278
2278
2279 #changeset_content .container {
2279 #changeset_content .container {
2280 min-height: 100px;
2280 min-height: 100px;
2281 font-size: 1.2em;
2281 font-size: 1.2em;
2282 overflow: hidden;
2282 overflow: hidden;
2283 }
2283 }
2284
2284
2285 #changeset_compare_view_content .compare_view_commits {
2285 #changeset_compare_view_content .compare_view_commits {
2286 width: auto !important;
2286 width: auto !important;
2287 }
2287 }
2288
2288
2289 #changeset_compare_view_content .compare_view_commits td {
2289 #changeset_compare_view_content .compare_view_commits td {
2290 padding: 0px 0px 0px 12px !important;
2290 padding: 0px 0px 0px 12px !important;
2291 }
2291 }
2292
2292
2293 #changeset_content .container .right {
2293 #changeset_content .container .right {
2294 float: right;
2294 float: right;
2295 width: 20%;
2295 width: 20%;
2296 text-align: right;
2296 text-align: right;
2297 }
2297 }
2298
2298
2299 #changeset_content .container .left .message {
2299 #changeset_content .container .left .message {
2300 white-space: pre-wrap;
2300 white-space: pre-wrap;
2301 }
2301 }
2302 #changeset_content .container .left .message a:hover {
2302 #changeset_content .container .left .message a:hover {
2303 text-decoration: none;
2303 text-decoration: none;
2304 }
2304 }
2305 .cs_files .cur_cs {
2305 .cs_files .cur_cs {
2306 margin: 10px 2px;
2306 margin: 10px 2px;
2307 font-weight: bold;
2307 font-weight: bold;
2308 }
2308 }
2309
2309
2310 .cs_files .node {
2310 .cs_files .node {
2311 float: left;
2311 float: left;
2312 }
2312 }
2313
2313
2314 .cs_files .changes {
2314 .cs_files .changes {
2315 float: right;
2315 float: right;
2316 color:#003367;
2316 color:#003367;
2317
2317
2318 }
2318 }
2319
2319
2320 .cs_files .changes .added {
2320 .cs_files .changes .added {
2321 background-color: #BBFFBB;
2321 background-color: #BBFFBB;
2322 float: left;
2322 float: left;
2323 text-align: center;
2323 text-align: center;
2324 font-size: 9px;
2324 font-size: 9px;
2325 padding: 2px 0px 2px 0px;
2325 padding: 2px 0px 2px 0px;
2326 }
2326 }
2327
2327
2328 .cs_files .changes .deleted {
2328 .cs_files .changes .deleted {
2329 background-color: #FF8888;
2329 background-color: #FF8888;
2330 float: left;
2330 float: left;
2331 text-align: center;
2331 text-align: center;
2332 font-size: 9px;
2332 font-size: 9px;
2333 padding: 2px 0px 2px 0px;
2333 padding: 2px 0px 2px 0px;
2334 }
2334 }
2335
2335
2336 .cs_files .cs_added {
2336 .cs_files .cs_added,.cs_files .cs_A {
2337 background: url("../images/icons/page_white_add.png") no-repeat scroll
2337 background: url("../images/icons/page_white_add.png") no-repeat scroll
2338 3px;
2338 3px;
2339 height: 16px;
2339 height: 16px;
2340 padding-left: 20px;
2340 padding-left: 20px;
2341 margin-top: 7px;
2341 margin-top: 7px;
2342 text-align: left;
2342 text-align: left;
2343 }
2343 }
2344
2344
2345 .cs_files .cs_changed {
2345 .cs_files .cs_changed,.cs_files .cs_M {
2346 background: url("../images/icons/page_white_edit.png") no-repeat scroll
2346 background: url("../images/icons/page_white_edit.png") no-repeat scroll
2347 3px;
2347 3px;
2348 height: 16px;
2348 height: 16px;
2349 padding-left: 20px;
2349 padding-left: 20px;
2350 margin-top: 7px;
2350 margin-top: 7px;
2351 text-align: left;
2351 text-align: left;
2352 }
2352 }
2353
2353
2354 .cs_files .cs_removed {
2354 .cs_files .cs_removed,.cs_files .cs_D {
2355 background: url("../images/icons/page_white_delete.png") no-repeat
2355 background: url("../images/icons/page_white_delete.png") no-repeat
2356 scroll 3px;
2356 scroll 3px;
2357 height: 16px;
2357 height: 16px;
2358 padding-left: 20px;
2358 padding-left: 20px;
2359 margin-top: 7px;
2359 margin-top: 7px;
2360 text-align: left;
2360 text-align: left;
2361 }
2361 }
2362
2362
2363 #graph {
2363 #graph {
2364 overflow: hidden;
2364 overflow: hidden;
2365 }
2365 }
2366
2366
2367 #graph_nodes {
2367 #graph_nodes {
2368 float: left;
2368 float: left;
2369 margin-right: -6px;
2369 margin-right: -6px;
2370 margin-top: 0px;
2370 margin-top: 0px;
2371 }
2371 }
2372
2372
2373 #graph_content {
2373 #graph_content {
2374 width: 80%;
2374 width: 80%;
2375 float: left;
2375 float: left;
2376 }
2376 }
2377
2377
2378 #graph_content .container_header {
2378 #graph_content .container_header {
2379 border-bottom: 1px solid #DDD;
2379 border-bottom: 1px solid #DDD;
2380 padding: 10px;
2380 padding: 10px;
2381 height: 25px;
2381 height: 25px;
2382 }
2382 }
2383
2383
2384 #graph_content #rev_range_container {
2384 #graph_content #rev_range_container {
2385 padding: 7px 20px;
2385 padding: 7px 20px;
2386 float: left;
2386 float: left;
2387 }
2387 }
2388
2388
2389 #graph_content .container {
2389 #graph_content .container {
2390 border-bottom: 1px solid #DDD;
2390 border-bottom: 1px solid #DDD;
2391 height: 56px;
2391 height: 56px;
2392 overflow: hidden;
2392 overflow: hidden;
2393 }
2393 }
2394
2394
2395 #graph_content .container .right {
2395 #graph_content .container .right {
2396 float: right;
2396 float: right;
2397 width: 23%;
2397 width: 23%;
2398 text-align: right;
2398 text-align: right;
2399 }
2399 }
2400
2400
2401 #graph_content .container .left {
2401 #graph_content .container .left {
2402 float: left;
2402 float: left;
2403 width: 25%;
2403 width: 25%;
2404 padding-left: 5px;
2404 padding-left: 5px;
2405 }
2405 }
2406
2406
2407 #graph_content .container .mid {
2407 #graph_content .container .mid {
2408 float: left;
2408 float: left;
2409 width: 49%;
2409 width: 49%;
2410 }
2410 }
2411
2411
2412
2412
2413 #graph_content .container .left .date {
2413 #graph_content .container .left .date {
2414 color: #666;
2414 color: #666;
2415 padding-left: 22px;
2415 padding-left: 22px;
2416 font-size: 10px;
2416 font-size: 10px;
2417 }
2417 }
2418
2418
2419 #graph_content .container .left .author {
2419 #graph_content .container .left .author {
2420 height: 22px;
2420 height: 22px;
2421 }
2421 }
2422
2422
2423 #graph_content .container .left .author .user {
2423 #graph_content .container .left .author .user {
2424 color: #444444;
2424 color: #444444;
2425 float: left;
2425 float: left;
2426 margin-left: -4px;
2426 margin-left: -4px;
2427 margin-top: 4px;
2427 margin-top: 4px;
2428 }
2428 }
2429
2429
2430 #graph_content .container .mid .message {
2430 #graph_content .container .mid .message {
2431 white-space: pre-wrap;
2431 white-space: pre-wrap;
2432 }
2432 }
2433
2433
2434 #graph_content .container .mid .message a:hover{
2434 #graph_content .container .mid .message a:hover{
2435 text-decoration: none;
2435 text-decoration: none;
2436 }
2436 }
2437 #content #graph_content .message .revision-link,
2437 #content #graph_content .message .revision-link,
2438 #changeset_content .container .message .revision-link
2438 #changeset_content .container .message .revision-link
2439 {
2439 {
2440 color:#3F6F9F;
2440 color:#3F6F9F;
2441 font-weight: bold !important;
2441 font-weight: bold !important;
2442 }
2442 }
2443
2443
2444 #content #graph_content .message .issue-tracker-link,
2444 #content #graph_content .message .issue-tracker-link,
2445 #changeset_content .container .message .issue-tracker-link{
2445 #changeset_content .container .message .issue-tracker-link{
2446 color:#3F6F9F;
2446 color:#3F6F9F;
2447 font-weight: bold !important;
2447 font-weight: bold !important;
2448 }
2448 }
2449
2449
2450 .changeset-status-container{
2450 .changeset-status-container{
2451 padding-right: 5px;
2451 padding-right: 5px;
2452 margin-top:1px;
2452 margin-top:1px;
2453 float:right;
2453 float:right;
2454 height:14px;
2454 height:14px;
2455 }
2455 }
2456 .code-header .changeset-status-container{
2456 .code-header .changeset-status-container{
2457 float:left;
2457 float:left;
2458 padding:2px 0px 0px 2px;
2458 padding:2px 0px 0px 2px;
2459 }
2459 }
2460 .changeset-status-container .changeset-status-lbl{
2460 .changeset-status-container .changeset-status-lbl{
2461 color: rgb(136, 136, 136);
2461 color: rgb(136, 136, 136);
2462 float: left;
2462 float: left;
2463 padding: 3px 4px 0px 0px
2463 padding: 3px 4px 0px 0px
2464 }
2464 }
2465 .code-header .changeset-status-container .changeset-status-lbl{
2465 .code-header .changeset-status-container .changeset-status-lbl{
2466 float: left;
2466 float: left;
2467 padding: 0px 4px 0px 0px;
2467 padding: 0px 4px 0px 0px;
2468 }
2468 }
2469 .changeset-status-container .changeset-status-ico{
2469 .changeset-status-container .changeset-status-ico{
2470 float: left;
2470 float: left;
2471 }
2471 }
2472 .code-header .changeset-status-container .changeset-status-ico, .container .changeset-status-ico{
2472 .code-header .changeset-status-container .changeset-status-ico, .container .changeset-status-ico{
2473 float: left;
2473 float: left;
2474 }
2474 }
2475 .right .comments-container{
2475 .right .comments-container{
2476 padding-right: 5px;
2476 padding-right: 5px;
2477 margin-top:1px;
2477 margin-top:1px;
2478 float:right;
2478 float:right;
2479 height:14px;
2479 height:14px;
2480 }
2480 }
2481
2481
2482 .right .comments-cnt{
2482 .right .comments-cnt{
2483 float: left;
2483 float: left;
2484 color: rgb(136, 136, 136);
2484 color: rgb(136, 136, 136);
2485 padding-right: 2px;
2485 padding-right: 2px;
2486 }
2486 }
2487
2487
2488 .right .changes{
2488 .right .changes{
2489 clear: both;
2489 clear: both;
2490 }
2490 }
2491
2491
2492 .right .changes .changed_total {
2492 .right .changes .changed_total {
2493 display: block;
2493 display: block;
2494 float: right;
2494 float: right;
2495 text-align: center;
2495 text-align: center;
2496 min-width: 45px;
2496 min-width: 45px;
2497 cursor: pointer;
2497 cursor: pointer;
2498 color: #444444;
2498 color: #444444;
2499 background: #FEA;
2499 background: #FEA;
2500 -webkit-border-radius: 0px 0px 0px 6px;
2500 -webkit-border-radius: 0px 0px 0px 6px;
2501 -moz-border-radius: 0px 0px 0px 6px;
2501 -moz-border-radius: 0px 0px 0px 6px;
2502 border-radius: 0px 0px 0px 6px;
2502 border-radius: 0px 0px 0px 6px;
2503 padding: 1px;
2503 padding: 1px;
2504 }
2504 }
2505
2505
2506 .right .changes .added,.changed,.removed {
2506 .right .changes .added,.changed,.removed {
2507 display: block;
2507 display: block;
2508 padding: 1px;
2508 padding: 1px;
2509 color: #444444;
2509 color: #444444;
2510 float: right;
2510 float: right;
2511 text-align: center;
2511 text-align: center;
2512 min-width: 15px;
2512 min-width: 15px;
2513 }
2513 }
2514
2514
2515 .right .changes .added {
2515 .right .changes .added {
2516 background: #CFC;
2516 background: #CFC;
2517 }
2517 }
2518
2518
2519 .right .changes .changed {
2519 .right .changes .changed {
2520 background: #FEA;
2520 background: #FEA;
2521 }
2521 }
2522
2522
2523 .right .changes .removed {
2523 .right .changes .removed {
2524 background: #FAA;
2524 background: #FAA;
2525 }
2525 }
2526
2526
2527 .right .merge {
2527 .right .merge {
2528 padding: 1px 3px 1px 3px;
2528 padding: 1px 3px 1px 3px;
2529 background-color: #fca062;
2529 background-color: #fca062;
2530 font-size: 10px;
2530 font-size: 10px;
2531 font-weight: bold;
2531 font-weight: bold;
2532 color: #ffffff;
2532 color: #ffffff;
2533 text-transform: uppercase;
2533 text-transform: uppercase;
2534 white-space: nowrap;
2534 white-space: nowrap;
2535 -webkit-border-radius: 3px;
2535 -webkit-border-radius: 3px;
2536 -moz-border-radius: 3px;
2536 -moz-border-radius: 3px;
2537 border-radius: 3px;
2537 border-radius: 3px;
2538 margin-right: 2px;
2538 margin-right: 2px;
2539 }
2539 }
2540
2540
2541 .right .parent {
2541 .right .parent {
2542 color: #666666;
2542 color: #666666;
2543 clear:both;
2543 clear:both;
2544 }
2544 }
2545 .right .logtags{
2545 .right .logtags{
2546 padding: 2px 2px 2px 2px;
2546 padding: 2px 2px 2px 2px;
2547 }
2547 }
2548 .right .logtags .branchtag,.right .logtags .tagtag,.right .logtags .booktag{
2548 .right .logtags .branchtag,.right .logtags .tagtag,.right .logtags .booktag{
2549 margin: 0px 2px;
2549 margin: 0px 2px;
2550 }
2550 }
2551
2551
2552 .right .logtags .branchtag,.logtags .branchtag {
2552 .right .logtags .branchtag,.logtags .branchtag {
2553 padding: 1px 3px 1px 3px;
2553 padding: 1px 3px 1px 3px;
2554 background-color: #bfbfbf;
2554 background-color: #bfbfbf;
2555 font-size: 10px;
2555 font-size: 10px;
2556 font-weight: bold;
2556 font-weight: bold;
2557 color: #ffffff;
2557 color: #ffffff;
2558 text-transform: uppercase;
2558 text-transform: uppercase;
2559 white-space: nowrap;
2559 white-space: nowrap;
2560 -webkit-border-radius: 3px;
2560 -webkit-border-radius: 3px;
2561 -moz-border-radius: 3px;
2561 -moz-border-radius: 3px;
2562 border-radius: 3px;
2562 border-radius: 3px;
2563 }
2563 }
2564 .right .logtags .branchtag a:hover,.logtags .branchtag a{
2564 .right .logtags .branchtag a:hover,.logtags .branchtag a{
2565 color: #ffffff;
2565 color: #ffffff;
2566 }
2566 }
2567 .right .logtags .branchtag a:hover,.logtags .branchtag a:hover{
2567 .right .logtags .branchtag a:hover,.logtags .branchtag a:hover{
2568 text-decoration: none;
2568 text-decoration: none;
2569 color: #ffffff;
2569 color: #ffffff;
2570 }
2570 }
2571 .right .logtags .tagtag,.logtags .tagtag {
2571 .right .logtags .tagtag,.logtags .tagtag {
2572 padding: 1px 3px 1px 3px;
2572 padding: 1px 3px 1px 3px;
2573 background-color: #62cffc;
2573 background-color: #62cffc;
2574 font-size: 10px;
2574 font-size: 10px;
2575 font-weight: bold;
2575 font-weight: bold;
2576 color: #ffffff;
2576 color: #ffffff;
2577 text-transform: uppercase;
2577 text-transform: uppercase;
2578 white-space: nowrap;
2578 white-space: nowrap;
2579 -webkit-border-radius: 3px;
2579 -webkit-border-radius: 3px;
2580 -moz-border-radius: 3px;
2580 -moz-border-radius: 3px;
2581 border-radius: 3px;
2581 border-radius: 3px;
2582 }
2582 }
2583 .right .logtags .tagtag a:hover,.logtags .tagtag a{
2583 .right .logtags .tagtag a:hover,.logtags .tagtag a{
2584 color: #ffffff;
2584 color: #ffffff;
2585 }
2585 }
2586 .right .logtags .tagtag a:hover,.logtags .tagtag a:hover{
2586 .right .logtags .tagtag a:hover,.logtags .tagtag a:hover{
2587 text-decoration: none;
2587 text-decoration: none;
2588 color: #ffffff;
2588 color: #ffffff;
2589 }
2589 }
2590 .right .logbooks .bookbook,.logbooks .bookbook,.right .logtags .bookbook,.logtags .bookbook {
2590 .right .logbooks .bookbook,.logbooks .bookbook,.right .logtags .bookbook,.logtags .bookbook {
2591 padding: 1px 3px 1px 3px;
2591 padding: 1px 3px 1px 3px;
2592 background-color: #46A546;
2592 background-color: #46A546;
2593 font-size: 10px;
2593 font-size: 10px;
2594 font-weight: bold;
2594 font-weight: bold;
2595 color: #ffffff;
2595 color: #ffffff;
2596 text-transform: uppercase;
2596 text-transform: uppercase;
2597 white-space: nowrap;
2597 white-space: nowrap;
2598 -webkit-border-radius: 3px;
2598 -webkit-border-radius: 3px;
2599 -moz-border-radius: 3px;
2599 -moz-border-radius: 3px;
2600 border-radius: 3px;
2600 border-radius: 3px;
2601 }
2601 }
2602 .right .logbooks .bookbook,.logbooks .bookbook a,.right .logtags .bookbook,.logtags .bookbook a{
2602 .right .logbooks .bookbook,.logbooks .bookbook a,.right .logtags .bookbook,.logtags .bookbook a{
2603 color: #ffffff;
2603 color: #ffffff;
2604 }
2604 }
2605 .right .logbooks .bookbook,.logbooks .bookbook a:hover,.right .logtags .bookbook,.logtags .bookbook a:hover{
2605 .right .logbooks .bookbook,.logbooks .bookbook a:hover,.right .logtags .bookbook,.logtags .bookbook a:hover{
2606 text-decoration: none;
2606 text-decoration: none;
2607 color: #ffffff;
2607 color: #ffffff;
2608 }
2608 }
2609 div.browserblock {
2609 div.browserblock {
2610 overflow: hidden;
2610 overflow: hidden;
2611 border: 1px solid #ccc;
2611 border: 1px solid #ccc;
2612 background: #f8f8f8;
2612 background: #f8f8f8;
2613 font-size: 100%;
2613 font-size: 100%;
2614 line-height: 125%;
2614 line-height: 125%;
2615 padding: 0;
2615 padding: 0;
2616 -webkit-border-radius: 6px 6px 0px 0px;
2616 -webkit-border-radius: 6px 6px 0px 0px;
2617 -moz-border-radius: 6px 6px 0px 0px;
2617 -moz-border-radius: 6px 6px 0px 0px;
2618 border-radius: 6px 6px 0px 0px;
2618 border-radius: 6px 6px 0px 0px;
2619 }
2619 }
2620
2620
2621 div.browserblock .browser-header {
2621 div.browserblock .browser-header {
2622 background: #FFF;
2622 background: #FFF;
2623 padding: 10px 0px 15px 0px;
2623 padding: 10px 0px 15px 0px;
2624 width: 100%;
2624 width: 100%;
2625 }
2625 }
2626
2626
2627 div.browserblock .browser-nav {
2627 div.browserblock .browser-nav {
2628 float: left
2628 float: left
2629 }
2629 }
2630
2630
2631 div.browserblock .browser-branch {
2631 div.browserblock .browser-branch {
2632 float: left;
2632 float: left;
2633 }
2633 }
2634
2634
2635 div.browserblock .browser-branch label {
2635 div.browserblock .browser-branch label {
2636 color: #4A4A4A;
2636 color: #4A4A4A;
2637 vertical-align: text-top;
2637 vertical-align: text-top;
2638 }
2638 }
2639
2639
2640 div.browserblock .browser-header span {
2640 div.browserblock .browser-header span {
2641 margin-left: 5px;
2641 margin-left: 5px;
2642 font-weight: 700;
2642 font-weight: 700;
2643 }
2643 }
2644
2644
2645 div.browserblock .browser-search {
2645 div.browserblock .browser-search {
2646 clear: both;
2646 clear: both;
2647 padding: 8px 8px 0px 5px;
2647 padding: 8px 8px 0px 5px;
2648 height: 20px;
2648 height: 20px;
2649 }
2649 }
2650
2650
2651 div.browserblock #node_filter_box {
2651 div.browserblock #node_filter_box {
2652
2652
2653 }
2653 }
2654
2654
2655 div.browserblock .search_activate {
2655 div.browserblock .search_activate {
2656 float: left
2656 float: left
2657 }
2657 }
2658
2658
2659 div.browserblock .add_node {
2659 div.browserblock .add_node {
2660 float: left;
2660 float: left;
2661 padding-left: 5px;
2661 padding-left: 5px;
2662 }
2662 }
2663
2663
2664 div.browserblock .search_activate a:hover,div.browserblock .add_node a:hover
2664 div.browserblock .search_activate a:hover,div.browserblock .add_node a:hover
2665 {
2665 {
2666 text-decoration: none !important;
2666 text-decoration: none !important;
2667 }
2667 }
2668
2668
2669 div.browserblock .browser-body {
2669 div.browserblock .browser-body {
2670 background: #EEE;
2670 background: #EEE;
2671 border-top: 1px solid #CCC;
2671 border-top: 1px solid #CCC;
2672 }
2672 }
2673
2673
2674 table.code-browser {
2674 table.code-browser {
2675 border-collapse: collapse;
2675 border-collapse: collapse;
2676 width: 100%;
2676 width: 100%;
2677 }
2677 }
2678
2678
2679 table.code-browser tr {
2679 table.code-browser tr {
2680 margin: 3px;
2680 margin: 3px;
2681 }
2681 }
2682
2682
2683 table.code-browser thead th {
2683 table.code-browser thead th {
2684 background-color: #EEE;
2684 background-color: #EEE;
2685 height: 20px;
2685 height: 20px;
2686 font-size: 1.1em;
2686 font-size: 1.1em;
2687 font-weight: 700;
2687 font-weight: 700;
2688 text-align: left;
2688 text-align: left;
2689 padding-left: 10px;
2689 padding-left: 10px;
2690 }
2690 }
2691
2691
2692 table.code-browser tbody td {
2692 table.code-browser tbody td {
2693 padding-left: 10px;
2693 padding-left: 10px;
2694 height: 20px;
2694 height: 20px;
2695 }
2695 }
2696
2696
2697 table.code-browser .browser-file {
2697 table.code-browser .browser-file {
2698 background: url("../images/icons/document_16.png") no-repeat scroll 3px;
2698 background: url("../images/icons/document_16.png") no-repeat scroll 3px;
2699 height: 16px;
2699 height: 16px;
2700 padding-left: 20px;
2700 padding-left: 20px;
2701 text-align: left;
2701 text-align: left;
2702 }
2702 }
2703 .diffblock .changeset_header {
2703 .diffblock .changeset_header {
2704 height: 16px;
2704 height: 16px;
2705 }
2705 }
2706 .diffblock .changeset_file {
2706 .diffblock .changeset_file {
2707 background: url("../images/icons/file.png") no-repeat scroll 3px;
2707 background: url("../images/icons/file.png") no-repeat scroll 3px;
2708 text-align: left;
2708 text-align: left;
2709 float: left;
2709 float: left;
2710 padding: 2px 0px 2px 22px;
2710 padding: 2px 0px 2px 22px;
2711 }
2711 }
2712 .diffblock .diff-menu-wrapper{
2712 .diffblock .diff-menu-wrapper{
2713 float: left;
2713 float: left;
2714 }
2714 }
2715
2715
2716 .diffblock .diff-menu{
2716 .diffblock .diff-menu{
2717 position: absolute;
2717 position: absolute;
2718 background: none repeat scroll 0 0 #FFFFFF;
2718 background: none repeat scroll 0 0 #FFFFFF;
2719 border-color: #003367 #666666 #666666;
2719 border-color: #003367 #666666 #666666;
2720 border-right: 1px solid #666666;
2720 border-right: 1px solid #666666;
2721 border-style: solid solid solid;
2721 border-style: solid solid solid;
2722 border-width: 1px;
2722 border-width: 1px;
2723 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
2723 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
2724 margin-top:5px;
2724 margin-top:5px;
2725 margin-left:1px;
2725 margin-left:1px;
2726
2726
2727 }
2727 }
2728 .diffblock .diff-actions {
2728 .diffblock .diff-actions {
2729 padding: 2px 0px 0px 2px;
2729 padding: 2px 0px 0px 2px;
2730 float: left;
2730 float: left;
2731 }
2731 }
2732 .diffblock .diff-menu ul li {
2732 .diffblock .diff-menu ul li {
2733 padding: 0px 0px 0px 0px !important;
2733 padding: 0px 0px 0px 0px !important;
2734 }
2734 }
2735 .diffblock .diff-menu ul li a{
2735 .diffblock .diff-menu ul li a{
2736 display: block;
2736 display: block;
2737 padding: 3px 8px 3px 8px !important;
2737 padding: 3px 8px 3px 8px !important;
2738 }
2738 }
2739 .diffblock .diff-menu ul li a:hover{
2739 .diffblock .diff-menu ul li a:hover{
2740 text-decoration: none;
2740 text-decoration: none;
2741 background-color: #EEEEEE;
2741 background-color: #EEEEEE;
2742 }
2742 }
2743 table.code-browser .browser-dir {
2743 table.code-browser .browser-dir {
2744 background: url("../images/icons/folder_16.png") no-repeat scroll 3px;
2744 background: url("../images/icons/folder_16.png") no-repeat scroll 3px;
2745 height: 16px;
2745 height: 16px;
2746 padding-left: 20px;
2746 padding-left: 20px;
2747 text-align: left;
2747 text-align: left;
2748 }
2748 }
2749
2749
2750 table.code-browser .submodule-dir {
2750 table.code-browser .submodule-dir {
2751 background: url("../images/icons/disconnect.png") no-repeat scroll 3px;
2751 background: url("../images/icons/disconnect.png") no-repeat scroll 3px;
2752 height: 16px;
2752 height: 16px;
2753 padding-left: 20px;
2753 padding-left: 20px;
2754 text-align: left;
2754 text-align: left;
2755 }
2755 }
2756
2756
2757
2757
2758 .box .search {
2758 .box .search {
2759 clear: both;
2759 clear: both;
2760 overflow: hidden;
2760 overflow: hidden;
2761 margin: 0;
2761 margin: 0;
2762 padding: 0 20px 10px;
2762 padding: 0 20px 10px;
2763 }
2763 }
2764
2764
2765 .box .search div.search_path {
2765 .box .search div.search_path {
2766 background: none repeat scroll 0 0 #EEE;
2766 background: none repeat scroll 0 0 #EEE;
2767 border: 1px solid #CCC;
2767 border: 1px solid #CCC;
2768 color: blue;
2768 color: blue;
2769 margin-bottom: 10px;
2769 margin-bottom: 10px;
2770 padding: 10px 0;
2770 padding: 10px 0;
2771 }
2771 }
2772
2772
2773 .box .search div.search_path div.link {
2773 .box .search div.search_path div.link {
2774 font-weight: 700;
2774 font-weight: 700;
2775 margin-left: 25px;
2775 margin-left: 25px;
2776 }
2776 }
2777
2777
2778 .box .search div.search_path div.link a {
2778 .box .search div.search_path div.link a {
2779 color: #003367;
2779 color: #003367;
2780 cursor: pointer;
2780 cursor: pointer;
2781 text-decoration: none;
2781 text-decoration: none;
2782 }
2782 }
2783
2783
2784 #path_unlock {
2784 #path_unlock {
2785 color: red;
2785 color: red;
2786 font-size: 1.2em;
2786 font-size: 1.2em;
2787 padding-left: 4px;
2787 padding-left: 4px;
2788 }
2788 }
2789
2789
2790 .info_box span {
2790 .info_box span {
2791 margin-left: 3px;
2791 margin-left: 3px;
2792 margin-right: 3px;
2792 margin-right: 3px;
2793 }
2793 }
2794
2794
2795 .info_box .rev {
2795 .info_box .rev {
2796 color: #003367;
2796 color: #003367;
2797 font-size: 1.6em;
2797 font-size: 1.6em;
2798 font-weight: bold;
2798 font-weight: bold;
2799 vertical-align: sub;
2799 vertical-align: sub;
2800 }
2800 }
2801
2801
2802 .info_box input#at_rev,.info_box input#size {
2802 .info_box input#at_rev,.info_box input#size {
2803 background: #FFF;
2803 background: #FFF;
2804 border-top: 1px solid #b3b3b3;
2804 border-top: 1px solid #b3b3b3;
2805 border-left: 1px solid #b3b3b3;
2805 border-left: 1px solid #b3b3b3;
2806 border-right: 1px solid #eaeaea;
2806 border-right: 1px solid #eaeaea;
2807 border-bottom: 1px solid #eaeaea;
2807 border-bottom: 1px solid #eaeaea;
2808 color: #000;
2808 color: #000;
2809 font-size: 12px;
2809 font-size: 12px;
2810 margin: 0;
2810 margin: 0;
2811 padding: 1px 5px 1px;
2811 padding: 1px 5px 1px;
2812 }
2812 }
2813
2813
2814 .info_box input#view {
2814 .info_box input#view {
2815 text-align: center;
2815 text-align: center;
2816 padding: 4px 3px 2px 2px;
2816 padding: 4px 3px 2px 2px;
2817 }
2817 }
2818
2818
2819 .yui-overlay,.yui-panel-container {
2819 .yui-overlay,.yui-panel-container {
2820 visibility: hidden;
2820 visibility: hidden;
2821 position: absolute;
2821 position: absolute;
2822 z-index: 2;
2822 z-index: 2;
2823 }
2823 }
2824
2824
2825 .yui-tt {
2825 .yui-tt {
2826 visibility: hidden;
2826 visibility: hidden;
2827 position: absolute;
2827 position: absolute;
2828 color: #666;
2828 color: #666;
2829 background-color: #FFF;
2829 background-color: #FFF;
2830 border: 2px solid #003367;
2830 border: 2px solid #003367;
2831 font: 100% sans-serif;
2831 font: 100% sans-serif;
2832 width: auto;
2832 width: auto;
2833 opacity: 1px;
2833 opacity: 1px;
2834 padding: 8px;
2834 padding: 8px;
2835 white-space: pre-wrap;
2835 white-space: pre-wrap;
2836 -webkit-border-radius: 8px 8px 8px 8px;
2836 -webkit-border-radius: 8px 8px 8px 8px;
2837 -khtml-border-radius: 8px 8px 8px 8px;
2837 -khtml-border-radius: 8px 8px 8px 8px;
2838 -moz-border-radius: 8px 8px 8px 8px;
2838 -moz-border-radius: 8px 8px 8px 8px;
2839 border-radius: 8px 8px 8px 8px;
2839 border-radius: 8px 8px 8px 8px;
2840 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
2840 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
2841 }
2841 }
2842
2842
2843 .ac {
2843 .ac {
2844 vertical-align: top;
2844 vertical-align: top;
2845 }
2845 }
2846
2846
2847 .ac .yui-ac {
2847 .ac .yui-ac {
2848 position: inherit;
2848 position: inherit;
2849 font-size: 100%;
2849 font-size: 100%;
2850 }
2850 }
2851
2851
2852 .ac .perm_ac {
2852 .ac .perm_ac {
2853 width: 20em;
2853 width: 20em;
2854 }
2854 }
2855
2855
2856 .ac .yui-ac-input {
2856 .ac .yui-ac-input {
2857 width: 100%;
2857 width: 100%;
2858 }
2858 }
2859
2859
2860 .ac .yui-ac-container {
2860 .ac .yui-ac-container {
2861 position: absolute;
2861 position: absolute;
2862 top: 1.6em;
2862 top: 1.6em;
2863 width: auto;
2863 width: auto;
2864 }
2864 }
2865
2865
2866 .ac .yui-ac-content {
2866 .ac .yui-ac-content {
2867 position: absolute;
2867 position: absolute;
2868 border: 1px solid gray;
2868 border: 1px solid gray;
2869 background: #fff;
2869 background: #fff;
2870 z-index: 9050;
2870 z-index: 9050;
2871
2871
2872 }
2872 }
2873
2873
2874 .ac .yui-ac-shadow {
2874 .ac .yui-ac-shadow {
2875 position: absolute;
2875 position: absolute;
2876 width: 100%;
2876 width: 100%;
2877 background: #000;
2877 background: #000;
2878 -moz-opacity: 0.1px;
2878 -moz-opacity: 0.1px;
2879 opacity: .10;
2879 opacity: .10;
2880 filter: alpha(opacity = 10);
2880 filter: alpha(opacity = 10);
2881 z-index: 9049;
2881 z-index: 9049;
2882 margin: .3em;
2882 margin: .3em;
2883 }
2883 }
2884
2884
2885 .ac .yui-ac-content ul {
2885 .ac .yui-ac-content ul {
2886 width: 100%;
2886 width: 100%;
2887 margin: 0;
2887 margin: 0;
2888 padding: 0;
2888 padding: 0;
2889 z-index: 9050;
2889 z-index: 9050;
2890 }
2890 }
2891
2891
2892 .ac .yui-ac-content li {
2892 .ac .yui-ac-content li {
2893 cursor: default;
2893 cursor: default;
2894 white-space: nowrap;
2894 white-space: nowrap;
2895 margin: 0;
2895 margin: 0;
2896 padding: 2px 5px;
2896 padding: 2px 5px;
2897 height: 18px;
2897 height: 18px;
2898 z-index: 9050;
2898 z-index: 9050;
2899 display: block;
2899 display: block;
2900 width: auto !important;
2900 width: auto !important;
2901 }
2901 }
2902
2902
2903 .ac .yui-ac-content li .ac-container-wrap{
2903 .ac .yui-ac-content li .ac-container-wrap{
2904 width: auto;
2904 width: auto;
2905 }
2905 }
2906
2906
2907 .ac .yui-ac-content li.yui-ac-prehighlight {
2907 .ac .yui-ac-content li.yui-ac-prehighlight {
2908 background: #B3D4FF;
2908 background: #B3D4FF;
2909 z-index: 9050;
2909 z-index: 9050;
2910 }
2910 }
2911
2911
2912 .ac .yui-ac-content li.yui-ac-highlight {
2912 .ac .yui-ac-content li.yui-ac-highlight {
2913 background: #556CB5;
2913 background: #556CB5;
2914 color: #FFF;
2914 color: #FFF;
2915 z-index: 9050;
2915 z-index: 9050;
2916 }
2916 }
2917 .ac .yui-ac-bd{
2917 .ac .yui-ac-bd{
2918 z-index: 9050;
2918 z-index: 9050;
2919 }
2919 }
2920
2920
2921 .follow {
2921 .follow {
2922 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
2922 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
2923 height: 16px;
2923 height: 16px;
2924 width: 20px;
2924 width: 20px;
2925 cursor: pointer;
2925 cursor: pointer;
2926 display: block;
2926 display: block;
2927 float: right;
2927 float: right;
2928 margin-top: 2px;
2928 margin-top: 2px;
2929 }
2929 }
2930
2930
2931 .following {
2931 .following {
2932 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
2932 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
2933 height: 16px;
2933 height: 16px;
2934 width: 20px;
2934 width: 20px;
2935 cursor: pointer;
2935 cursor: pointer;
2936 display: block;
2936 display: block;
2937 float: right;
2937 float: right;
2938 margin-top: 2px;
2938 margin-top: 2px;
2939 }
2939 }
2940
2940
2941 .currently_following {
2941 .currently_following {
2942 padding-left: 10px;
2942 padding-left: 10px;
2943 padding-bottom: 5px;
2943 padding-bottom: 5px;
2944 }
2944 }
2945
2945
2946 .add_icon {
2946 .add_icon {
2947 background: url("../images/icons/add.png") no-repeat scroll 3px;
2947 background: url("../images/icons/add.png") no-repeat scroll 3px;
2948 padding-left: 20px;
2948 padding-left: 20px;
2949 padding-top: 0px;
2949 padding-top: 0px;
2950 text-align: left;
2950 text-align: left;
2951 }
2951 }
2952
2952
2953 .edit_icon {
2953 .edit_icon {
2954 background: url("../images/icons/folder_edit.png") no-repeat scroll 3px;
2954 background: url("../images/icons/folder_edit.png") no-repeat scroll 3px;
2955 padding-left: 20px;
2955 padding-left: 20px;
2956 padding-top: 0px;
2956 padding-top: 0px;
2957 text-align: left;
2957 text-align: left;
2958 }
2958 }
2959
2959
2960 .delete_icon {
2960 .delete_icon {
2961 background: url("../images/icons/delete.png") no-repeat scroll 3px;
2961 background: url("../images/icons/delete.png") no-repeat scroll 3px;
2962 padding-left: 20px;
2962 padding-left: 20px;
2963 padding-top: 0px;
2963 padding-top: 0px;
2964 text-align: left;
2964 text-align: left;
2965 }
2965 }
2966
2966
2967 .refresh_icon {
2967 .refresh_icon {
2968 background: url("../images/icons/arrow_refresh.png") no-repeat scroll
2968 background: url("../images/icons/arrow_refresh.png") no-repeat scroll
2969 3px;
2969 3px;
2970 padding-left: 20px;
2970 padding-left: 20px;
2971 padding-top: 0px;
2971 padding-top: 0px;
2972 text-align: left;
2972 text-align: left;
2973 }
2973 }
2974
2974
2975 .pull_icon {
2975 .pull_icon {
2976 background: url("../images/icons/connect.png") no-repeat scroll 3px;
2976 background: url("../images/icons/connect.png") no-repeat scroll 3px;
2977 padding-left: 20px;
2977 padding-left: 20px;
2978 padding-top: 0px;
2978 padding-top: 0px;
2979 text-align: left;
2979 text-align: left;
2980 }
2980 }
2981
2981
2982 .rss_icon {
2982 .rss_icon {
2983 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
2983 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
2984 padding-left: 20px;
2984 padding-left: 20px;
2985 padding-top: 4px;
2985 padding-top: 4px;
2986 text-align: left;
2986 text-align: left;
2987 font-size: 8px
2987 font-size: 8px
2988 }
2988 }
2989
2989
2990 .atom_icon {
2990 .atom_icon {
2991 background: url("../images/icons/atom.png") no-repeat scroll 3px;
2991 background: url("../images/icons/atom.png") no-repeat scroll 3px;
2992 padding-left: 20px;
2992 padding-left: 20px;
2993 padding-top: 4px;
2993 padding-top: 4px;
2994 text-align: left;
2994 text-align: left;
2995 font-size: 8px
2995 font-size: 8px
2996 }
2996 }
2997
2997
2998 .archive_icon {
2998 .archive_icon {
2999 background: url("../images/icons/compress.png") no-repeat scroll 3px;
2999 background: url("../images/icons/compress.png") no-repeat scroll 3px;
3000 padding-left: 20px;
3000 padding-left: 20px;
3001 text-align: left;
3001 text-align: left;
3002 padding-top: 1px;
3002 padding-top: 1px;
3003 }
3003 }
3004
3004
3005 .start_following_icon {
3005 .start_following_icon {
3006 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
3006 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
3007 padding-left: 20px;
3007 padding-left: 20px;
3008 text-align: left;
3008 text-align: left;
3009 padding-top: 0px;
3009 padding-top: 0px;
3010 }
3010 }
3011
3011
3012 .stop_following_icon {
3012 .stop_following_icon {
3013 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
3013 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
3014 padding-left: 20px;
3014 padding-left: 20px;
3015 text-align: left;
3015 text-align: left;
3016 padding-top: 0px;
3016 padding-top: 0px;
3017 }
3017 }
3018
3018
3019 .action_button {
3019 .action_button {
3020 border: 0;
3020 border: 0;
3021 display: inline;
3021 display: inline;
3022 }
3022 }
3023
3023
3024 .action_button:hover {
3024 .action_button:hover {
3025 border: 0;
3025 border: 0;
3026 text-decoration: underline;
3026 text-decoration: underline;
3027 cursor: pointer;
3027 cursor: pointer;
3028 }
3028 }
3029
3029
3030 #switch_repos {
3030 #switch_repos {
3031 position: absolute;
3031 position: absolute;
3032 height: 25px;
3032 height: 25px;
3033 z-index: 1;
3033 z-index: 1;
3034 }
3034 }
3035
3035
3036 #switch_repos select {
3036 #switch_repos select {
3037 min-width: 150px;
3037 min-width: 150px;
3038 max-height: 250px;
3038 max-height: 250px;
3039 z-index: 1;
3039 z-index: 1;
3040 }
3040 }
3041
3041
3042 .breadcrumbs {
3042 .breadcrumbs {
3043 border: medium none;
3043 border: medium none;
3044 color: #FFF;
3044 color: #FFF;
3045 float: left;
3045 float: left;
3046 text-transform: uppercase;
3046 text-transform: uppercase;
3047 font-weight: 700;
3047 font-weight: 700;
3048 font-size: 14px;
3048 font-size: 14px;
3049 margin: 0;
3049 margin: 0;
3050 padding: 11px 0 11px 10px;
3050 padding: 11px 0 11px 10px;
3051 }
3051 }
3052
3052
3053 .breadcrumbs .hash {
3053 .breadcrumbs .hash {
3054 text-transform: none;
3054 text-transform: none;
3055 color: #fff;
3055 color: #fff;
3056 }
3056 }
3057
3057
3058 .breadcrumbs a {
3058 .breadcrumbs a {
3059 color: #FFF;
3059 color: #FFF;
3060 }
3060 }
3061
3061
3062 .flash_msg {
3062 .flash_msg {
3063
3063
3064 }
3064 }
3065
3065
3066 .flash_msg ul {
3066 .flash_msg ul {
3067
3067
3068 }
3068 }
3069
3069
3070 .error_msg {
3070 .error_msg {
3071 background-color: #c43c35;
3071 background-color: #c43c35;
3072 background-repeat: repeat-x;
3072 background-repeat: repeat-x;
3073 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35) );
3073 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35) );
3074 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3074 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3075 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3075 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3076 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35) );
3076 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35) );
3077 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3077 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3078 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3078 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3079 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3079 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3080 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35', GradientType=0 );
3080 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35', GradientType=0 );
3081 border-color: #c43c35 #c43c35 #882a25;
3081 border-color: #c43c35 #c43c35 #882a25;
3082 }
3082 }
3083
3083
3084 .warning_msg {
3084 .warning_msg {
3085 color: #404040 !important;
3085 color: #404040 !important;
3086 background-color: #eedc94;
3086 background-color: #eedc94;
3087 background-repeat: repeat-x;
3087 background-repeat: repeat-x;
3088 background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94) );
3088 background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94) );
3089 background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
3089 background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
3090 background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
3090 background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
3091 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94) );
3091 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94) );
3092 background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
3092 background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
3093 background-image: -o-linear-gradient(top, #fceec1, #eedc94);
3093 background-image: -o-linear-gradient(top, #fceec1, #eedc94);
3094 background-image: linear-gradient(top, #fceec1, #eedc94);
3094 background-image: linear-gradient(top, #fceec1, #eedc94);
3095 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0 );
3095 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0 );
3096 border-color: #eedc94 #eedc94 #e4c652;
3096 border-color: #eedc94 #eedc94 #e4c652;
3097 }
3097 }
3098
3098
3099 .success_msg {
3099 .success_msg {
3100 background-color: #57a957;
3100 background-color: #57a957;
3101 background-repeat: repeat-x !important;
3101 background-repeat: repeat-x !important;
3102 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957) );
3102 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957) );
3103 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3103 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3104 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3104 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3105 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957) );
3105 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957) );
3106 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3106 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3107 background-image: -o-linear-gradient(top, #62c462, #57a957);
3107 background-image: -o-linear-gradient(top, #62c462, #57a957);
3108 background-image: linear-gradient(top, #62c462, #57a957);
3108 background-image: linear-gradient(top, #62c462, #57a957);
3109 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0 );
3109 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0 );
3110 border-color: #57a957 #57a957 #3d773d;
3110 border-color: #57a957 #57a957 #3d773d;
3111 }
3111 }
3112
3112
3113 .notice_msg {
3113 .notice_msg {
3114 background-color: #339bb9;
3114 background-color: #339bb9;
3115 background-repeat: repeat-x;
3115 background-repeat: repeat-x;
3116 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9) );
3116 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9) );
3117 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3117 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3118 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3118 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3119 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9) );
3119 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9) );
3120 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3120 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3121 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3121 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3122 background-image: linear-gradient(top, #5bc0de, #339bb9);
3122 background-image: linear-gradient(top, #5bc0de, #339bb9);
3123 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0 );
3123 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0 );
3124 border-color: #339bb9 #339bb9 #22697d;
3124 border-color: #339bb9 #339bb9 #22697d;
3125 }
3125 }
3126
3126
3127 .success_msg,.error_msg,.notice_msg,.warning_msg {
3127 .success_msg,.error_msg,.notice_msg,.warning_msg {
3128 font-size: 12px;
3128 font-size: 12px;
3129 font-weight: 700;
3129 font-weight: 700;
3130 min-height: 14px;
3130 min-height: 14px;
3131 line-height: 14px;
3131 line-height: 14px;
3132 margin-bottom: 10px;
3132 margin-bottom: 10px;
3133 margin-top: 0;
3133 margin-top: 0;
3134 display: block;
3134 display: block;
3135 overflow: auto;
3135 overflow: auto;
3136 padding: 6px 10px 6px 10px;
3136 padding: 6px 10px 6px 10px;
3137 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3137 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3138 position: relative;
3138 position: relative;
3139 color: #FFF;
3139 color: #FFF;
3140 border-width: 1px;
3140 border-width: 1px;
3141 border-style: solid;
3141 border-style: solid;
3142 -webkit-border-radius: 4px;
3142 -webkit-border-radius: 4px;
3143 -moz-border-radius: 4px;
3143 -moz-border-radius: 4px;
3144 border-radius: 4px;
3144 border-radius: 4px;
3145 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3145 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3146 -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3146 -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3147 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3147 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3148 }
3148 }
3149
3149
3150 #msg_close {
3150 #msg_close {
3151 background: transparent url("../icons/cross_grey_small.png") no-repeat scroll 0 0;
3151 background: transparent url("../icons/cross_grey_small.png") no-repeat scroll 0 0;
3152 cursor: pointer;
3152 cursor: pointer;
3153 height: 16px;
3153 height: 16px;
3154 position: absolute;
3154 position: absolute;
3155 right: 5px;
3155 right: 5px;
3156 top: 5px;
3156 top: 5px;
3157 width: 16px;
3157 width: 16px;
3158 }
3158 }
3159 div#legend_data{
3159 div#legend_data{
3160 padding-left:10px;
3160 padding-left:10px;
3161 }
3161 }
3162 div#legend_container table{
3162 div#legend_container table{
3163 border: none !important;
3163 border: none !important;
3164 }
3164 }
3165 div#legend_container table,div#legend_choices table {
3165 div#legend_container table,div#legend_choices table {
3166 width: auto !important;
3166 width: auto !important;
3167 }
3167 }
3168
3168
3169 table#permissions_manage {
3169 table#permissions_manage {
3170 width: 0 !important;
3170 width: 0 !important;
3171 }
3171 }
3172
3172
3173 table#permissions_manage span.private_repo_msg {
3173 table#permissions_manage span.private_repo_msg {
3174 font-size: 0.8em;
3174 font-size: 0.8em;
3175 opacity: 0.6px;
3175 opacity: 0.6px;
3176 }
3176 }
3177
3177
3178 table#permissions_manage td.private_repo_msg {
3178 table#permissions_manage td.private_repo_msg {
3179 font-size: 0.8em;
3179 font-size: 0.8em;
3180 }
3180 }
3181
3181
3182 table#permissions_manage tr#add_perm_input td {
3182 table#permissions_manage tr#add_perm_input td {
3183 vertical-align: middle;
3183 vertical-align: middle;
3184 }
3184 }
3185
3185
3186 div.gravatar {
3186 div.gravatar {
3187 background-color: #FFF;
3187 background-color: #FFF;
3188 float: left;
3188 float: left;
3189 margin-right: 0.7em;
3189 margin-right: 0.7em;
3190 padding: 1px 1px 1px 1px;
3190 padding: 1px 1px 1px 1px;
3191 line-height:0;
3191 line-height:0;
3192 -webkit-border-radius: 3px;
3192 -webkit-border-radius: 3px;
3193 -khtml-border-radius: 3px;
3193 -khtml-border-radius: 3px;
3194 -moz-border-radius: 3px;
3194 -moz-border-radius: 3px;
3195 border-radius: 3px;
3195 border-radius: 3px;
3196 }
3196 }
3197
3197
3198 div.gravatar img {
3198 div.gravatar img {
3199 -webkit-border-radius: 2px;
3199 -webkit-border-radius: 2px;
3200 -khtml-border-radius: 2px;
3200 -khtml-border-radius: 2px;
3201 -moz-border-radius: 2px;
3201 -moz-border-radius: 2px;
3202 border-radius: 2px;
3202 border-radius: 2px;
3203 }
3203 }
3204
3204
3205 #header,#content,#footer {
3205 #header,#content,#footer {
3206 min-width: 978px;
3206 min-width: 978px;
3207 }
3207 }
3208
3208
3209 #content {
3209 #content {
3210 clear: both;
3210 clear: both;
3211 overflow: hidden;
3211 overflow: hidden;
3212 padding: 54px 10px 14px 10px;
3212 padding: 54px 10px 14px 10px;
3213 }
3213 }
3214
3214
3215 #content div.box div.title div.search {
3215 #content div.box div.title div.search {
3216
3216
3217 border-left: 1px solid #316293;
3217 border-left: 1px solid #316293;
3218 }
3218 }
3219
3219
3220 #content div.box div.title div.search div.input input {
3220 #content div.box div.title div.search div.input input {
3221 border: 1px solid #316293;
3221 border: 1px solid #316293;
3222 }
3222 }
3223
3223
3224 .ui-btn{
3224 .ui-btn{
3225 color: #515151;
3225 color: #515151;
3226 background-color: #DADADA;
3226 background-color: #DADADA;
3227 background-repeat: repeat-x;
3227 background-repeat: repeat-x;
3228 background-image: -khtml-gradient(linear, left top, left bottom, from(#F4F4F4),to(#DADADA) );
3228 background-image: -khtml-gradient(linear, left top, left bottom, from(#F4F4F4),to(#DADADA) );
3229 background-image: -moz-linear-gradient(top, #F4F4F4, #DADADA);
3229 background-image: -moz-linear-gradient(top, #F4F4F4, #DADADA);
3230 background-image: -ms-linear-gradient(top, #F4F4F4, #DADADA);
3230 background-image: -ms-linear-gradient(top, #F4F4F4, #DADADA);
3231 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F4F4F4),color-stop(100%, #DADADA) );
3231 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F4F4F4),color-stop(100%, #DADADA) );
3232 background-image: -webkit-linear-gradient(top, #F4F4F4, #DADADA) );
3232 background-image: -webkit-linear-gradient(top, #F4F4F4, #DADADA) );
3233 background-image: -o-linear-gradient(top, #F4F4F4, #DADADA) );
3233 background-image: -o-linear-gradient(top, #F4F4F4, #DADADA) );
3234 background-image: linear-gradient(top, #F4F4F4, #DADADA);
3234 background-image: linear-gradient(top, #F4F4F4, #DADADA);
3235 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F4F4F4', endColorstr='#DADADA', GradientType=0);
3235 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F4F4F4', endColorstr='#DADADA', GradientType=0);
3236
3236
3237 border-top: 1px solid #DDD;
3237 border-top: 1px solid #DDD;
3238 border-left: 1px solid #c6c6c6;
3238 border-left: 1px solid #c6c6c6;
3239 border-right: 1px solid #DDD;
3239 border-right: 1px solid #DDD;
3240 border-bottom: 1px solid #c6c6c6;
3240 border-bottom: 1px solid #c6c6c6;
3241 color: #515151;
3241 color: #515151;
3242 outline: none;
3242 outline: none;
3243 margin: 0px 3px 3px 0px;
3243 margin: 0px 3px 3px 0px;
3244 -webkit-border-radius: 4px 4px 4px 4px !important;
3244 -webkit-border-radius: 4px 4px 4px 4px !important;
3245 -khtml-border-radius: 4px 4px 4px 4px !important;
3245 -khtml-border-radius: 4px 4px 4px 4px !important;
3246 -moz-border-radius: 4px 4px 4px 4px !important;
3246 -moz-border-radius: 4px 4px 4px 4px !important;
3247 border-radius: 4px 4px 4px 4px !important;
3247 border-radius: 4px 4px 4px 4px !important;
3248 cursor: pointer !important;
3248 cursor: pointer !important;
3249 padding: 3px 3px 3px 3px;
3249 padding: 3px 3px 3px 3px;
3250 background-position: 0 -15px;
3250 background-position: 0 -15px;
3251
3251
3252 }
3252 }
3253 .ui-btn.xsmall{
3253 .ui-btn.xsmall{
3254 padding: 1px 2px 1px 1px;
3254 padding: 1px 2px 1px 1px;
3255 }
3255 }
3256 .ui-btn.clone{
3256 .ui-btn.clone{
3257 padding: 5px 2px 6px 1px;
3257 padding: 5px 2px 6px 1px;
3258 margin: 0px -4px 3px 0px;
3258 margin: 0px -4px 3px 0px;
3259 -webkit-border-radius: 4px 0px 0px 4px !important;
3259 -webkit-border-radius: 4px 0px 0px 4px !important;
3260 -khtml-border-radius: 4px 0px 0px 4px !important;
3260 -khtml-border-radius: 4px 0px 0px 4px !important;
3261 -moz-border-radius: 4px 0px 0px 4px !important;
3261 -moz-border-radius: 4px 0px 0px 4px !important;
3262 border-radius: 4px 0px 0px 4px !important;
3262 border-radius: 4px 0px 0px 4px !important;
3263 width: 100px;
3263 width: 100px;
3264 text-align: center;
3264 text-align: center;
3265 float: left;
3265 float: left;
3266 position: absolute;
3266 position: absolute;
3267 }
3267 }
3268 .ui-btn:focus {
3268 .ui-btn:focus {
3269 outline: none;
3269 outline: none;
3270 }
3270 }
3271 .ui-btn:hover{
3271 .ui-btn:hover{
3272 background-position: 0 0px;
3272 background-position: 0 0px;
3273 text-decoration: none;
3273 text-decoration: none;
3274 color: #515151;
3274 color: #515151;
3275 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), 0 0 3px #FFFFFF !important;
3275 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), 0 0 3px #FFFFFF !important;
3276 }
3276 }
3277
3277
3278 .ui-btn.red{
3278 .ui-btn.red{
3279 color:#fff;
3279 color:#fff;
3280 background-color: #c43c35;
3280 background-color: #c43c35;
3281 background-repeat: repeat-x;
3281 background-repeat: repeat-x;
3282 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
3282 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
3283 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3283 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3284 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3284 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3285 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
3285 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
3286 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3286 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3287 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3287 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3288 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3288 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3289 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
3289 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
3290 border-color: #c43c35 #c43c35 #882a25;
3290 border-color: #c43c35 #c43c35 #882a25;
3291 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3291 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3292 }
3292 }
3293
3293
3294
3294
3295 .ui-btn.blue{
3295 .ui-btn.blue{
3296 background-color: #339bb9;
3296 background-color: #339bb9;
3297 background-repeat: repeat-x;
3297 background-repeat: repeat-x;
3298 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
3298 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
3299 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3299 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3300 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3300 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3301 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
3301 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
3302 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3302 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3303 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3303 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3304 background-image: linear-gradient(top, #5bc0de, #339bb9);
3304 background-image: linear-gradient(top, #5bc0de, #339bb9);
3305 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
3305 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
3306 border-color: #339bb9 #339bb9 #22697d;
3306 border-color: #339bb9 #339bb9 #22697d;
3307 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3307 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3308 }
3308 }
3309
3309
3310 .ui-btn.green{
3310 .ui-btn.green{
3311 background-color: #57a957;
3311 background-color: #57a957;
3312 background-repeat: repeat-x;
3312 background-repeat: repeat-x;
3313 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
3313 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
3314 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3314 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3315 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3315 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3316 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
3316 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
3317 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3317 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3318 background-image: -o-linear-gradient(top, #62c462, #57a957);
3318 background-image: -o-linear-gradient(top, #62c462, #57a957);
3319 background-image: linear-gradient(top, #62c462, #57a957);
3319 background-image: linear-gradient(top, #62c462, #57a957);
3320 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
3320 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
3321 border-color: #57a957 #57a957 #3d773d;
3321 border-color: #57a957 #57a957 #3d773d;
3322 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3322 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3323 }
3323 }
3324
3324
3325 ins,div.options a:hover {
3325 ins,div.options a:hover {
3326 text-decoration: none;
3326 text-decoration: none;
3327 }
3327 }
3328
3328
3329 img,
3329 img,
3330 #header #header-inner #quick li a:hover span.normal,
3330 #header #header-inner #quick li a:hover span.normal,
3331 #header #header-inner #quick li ul li.last,
3331 #header #header-inner #quick li ul li.last,
3332 #content div.box div.form div.fields div.field div.textarea table td table td a,
3332 #content div.box div.form div.fields div.field div.textarea table td table td a,
3333 #clone_url,
3333 #clone_url,
3334 #clone_url_id
3334 #clone_url_id
3335 {
3335 {
3336 border: none;
3336 border: none;
3337 }
3337 }
3338
3338
3339 img.icon,.right .merge img {
3339 img.icon,.right .merge img {
3340 vertical-align: bottom;
3340 vertical-align: bottom;
3341 }
3341 }
3342
3342
3343 #header ul#logged-user,#content div.box div.title ul.links,
3343 #header ul#logged-user,#content div.box div.title ul.links,
3344 #content div.box div.message div.dismiss,
3344 #content div.box div.message div.dismiss,
3345 #content div.box div.traffic div.legend ul
3345 #content div.box div.traffic div.legend ul
3346 {
3346 {
3347 float: right;
3347 float: right;
3348 margin: 0;
3348 margin: 0;
3349 padding: 0;
3349 padding: 0;
3350 }
3350 }
3351
3351
3352 #header #header-inner #home,#header #header-inner #logo,
3352 #header #header-inner #home,#header #header-inner #logo,
3353 #content div.box ul.left,#content div.box ol.left,
3353 #content div.box ul.left,#content div.box ol.left,
3354 #content div.box div.pagination-left,div#commit_history,
3354 #content div.box div.pagination-left,div#commit_history,
3355 div#legend_data,div#legend_container,div#legend_choices
3355 div#legend_data,div#legend_container,div#legend_choices
3356 {
3356 {
3357 float: left;
3357 float: left;
3358 }
3358 }
3359
3359
3360 #header #header-inner #quick li:hover ul ul,
3360 #header #header-inner #quick li:hover ul ul,
3361 #header #header-inner #quick li:hover ul ul ul,
3361 #header #header-inner #quick li:hover ul ul ul,
3362 #header #header-inner #quick li:hover ul ul ul ul,
3362 #header #header-inner #quick li:hover ul ul ul ul,
3363 #content #left #menu ul.closed,#content #left #menu li ul.collapsed,.yui-tt-shadow
3363 #content #left #menu ul.closed,#content #left #menu li ul.collapsed,.yui-tt-shadow
3364 {
3364 {
3365 display: none;
3365 display: none;
3366 }
3366 }
3367
3367
3368 #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
3368 #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
3369 {
3369 {
3370 display: block;
3370 display: block;
3371 }
3371 }
3372
3372
3373 #content div.graph {
3373 #content div.graph {
3374 padding: 0 10px 10px;
3374 padding: 0 10px 10px;
3375 }
3375 }
3376
3376
3377 #content div.box div.title ul.links li a:hover,#content div.box div.title ul.links li.ui-tabs-selected a
3377 #content div.box div.title ul.links li a:hover,#content div.box div.title ul.links li.ui-tabs-selected a
3378 {
3378 {
3379 color: #bfe3ff;
3379 color: #bfe3ff;
3380 }
3380 }
3381
3381
3382 #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
3382 #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
3383 {
3383 {
3384 margin: 10px 24px 10px 44px;
3384 margin: 10px 24px 10px 44px;
3385 }
3385 }
3386
3386
3387 #content div.box div.form,#content div.box div.table,#content div.box div.traffic
3387 #content div.box div.form,#content div.box div.table,#content div.box div.traffic
3388 {
3388 {
3389 clear: both;
3389 clear: both;
3390 overflow: hidden;
3390 overflow: hidden;
3391 margin: 0;
3391 margin: 0;
3392 padding: 0 20px 10px;
3392 padding: 0 20px 10px;
3393 }
3393 }
3394
3394
3395 #content div.box div.form div.fields,#login div.form,#login div.form div.fields,#register div.form,#register div.form div.fields
3395 #content div.box div.form div.fields,#login div.form,#login div.form div.fields,#register div.form,#register div.form div.fields
3396 {
3396 {
3397 clear: both;
3397 clear: both;
3398 overflow: hidden;
3398 overflow: hidden;
3399 margin: 0;
3399 margin: 0;
3400 padding: 0;
3400 padding: 0;
3401 }
3401 }
3402
3402
3403 #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
3403 #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
3404 {
3404 {
3405 height: 1%;
3405 height: 1%;
3406 display: block;
3406 display: block;
3407 color: #363636;
3407 color: #363636;
3408 margin: 0;
3408 margin: 0;
3409 padding: 2px 0 0;
3409 padding: 2px 0 0;
3410 }
3410 }
3411
3411
3412 #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
3412 #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
3413 {
3413 {
3414 background: #FBE3E4;
3414 background: #FBE3E4;
3415 border-top: 1px solid #e1b2b3;
3415 border-top: 1px solid #e1b2b3;
3416 border-left: 1px solid #e1b2b3;
3416 border-left: 1px solid #e1b2b3;
3417 border-right: 1px solid #FBC2C4;
3417 border-right: 1px solid #FBC2C4;
3418 border-bottom: 1px solid #FBC2C4;
3418 border-bottom: 1px solid #FBC2C4;
3419 }
3419 }
3420
3420
3421 #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
3421 #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
3422 {
3422 {
3423 background: #E6EFC2;
3423 background: #E6EFC2;
3424 border-top: 1px solid #cebb98;
3424 border-top: 1px solid #cebb98;
3425 border-left: 1px solid #cebb98;
3425 border-left: 1px solid #cebb98;
3426 border-right: 1px solid #c6d880;
3426 border-right: 1px solid #c6d880;
3427 border-bottom: 1px solid #c6d880;
3427 border-bottom: 1px solid #c6d880;
3428 }
3428 }
3429
3429
3430 #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
3430 #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
3431 {
3431 {
3432 margin: 0;
3432 margin: 0;
3433 }
3433 }
3434
3434
3435 #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
3435 #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
3436 {
3436 {
3437 margin: 0 0 0 0px !important;
3437 margin: 0 0 0 0px !important;
3438 padding: 0;
3438 padding: 0;
3439 }
3439 }
3440
3440
3441 #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
3441 #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
3442 {
3442 {
3443 margin: 0 0 0 200px;
3443 margin: 0 0 0 200px;
3444 padding: 0;
3444 padding: 0;
3445 }
3445 }
3446
3446
3447 #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
3447 #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
3448 {
3448 {
3449 color: #000;
3449 color: #000;
3450 text-decoration: none;
3450 text-decoration: none;
3451 }
3451 }
3452
3452
3453 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus,#content div.box div.action a.ui-selectmenu-focus
3453 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus,#content div.box div.action a.ui-selectmenu-focus
3454 {
3454 {
3455 border: 1px solid #666;
3455 border: 1px solid #666;
3456 }
3456 }
3457
3457
3458 #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
3458 #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
3459 {
3459 {
3460 clear: both;
3460 clear: both;
3461 overflow: hidden;
3461 overflow: hidden;
3462 margin: 0;
3462 margin: 0;
3463 padding: 8px 0 2px;
3463 padding: 8px 0 2px;
3464 }
3464 }
3465
3465
3466 #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
3466 #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
3467 {
3467 {
3468 float: left;
3468 float: left;
3469 margin: 0;
3469 margin: 0;
3470 }
3470 }
3471
3471
3472 #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
3472 #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
3473 {
3473 {
3474 height: 1%;
3474 height: 1%;
3475 display: block;
3475 display: block;
3476 float: left;
3476 float: left;
3477 margin: 2px 0 0 4px;
3477 margin: 2px 0 0 4px;
3478 }
3478 }
3479
3479
3480 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
3480 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
3481 {
3481 {
3482 color: #000;
3482 color: #000;
3483 font-size: 11px;
3483 font-size: 11px;
3484 font-weight: 700;
3484 font-weight: 700;
3485 margin: 0;
3485 margin: 0;
3486 }
3486 }
3487
3487
3488 input.ui-button {
3488 input.ui-button {
3489 background: #e5e3e3 url("../images/button.png") repeat-x;
3489 background: #e5e3e3 url("../images/button.png") repeat-x;
3490 border-top: 1px solid #DDD;
3490 border-top: 1px solid #DDD;
3491 border-left: 1px solid #c6c6c6;
3491 border-left: 1px solid #c6c6c6;
3492 border-right: 1px solid #DDD;
3492 border-right: 1px solid #DDD;
3493 border-bottom: 1px solid #c6c6c6;
3493 border-bottom: 1px solid #c6c6c6;
3494 color: #515151 !important;
3494 color: #515151 !important;
3495 outline: none;
3495 outline: none;
3496 margin: 0;
3496 margin: 0;
3497 padding: 6px 12px;
3497 padding: 6px 12px;
3498 -webkit-border-radius: 4px 4px 4px 4px;
3498 -webkit-border-radius: 4px 4px 4px 4px;
3499 -khtml-border-radius: 4px 4px 4px 4px;
3499 -khtml-border-radius: 4px 4px 4px 4px;
3500 -moz-border-radius: 4px 4px 4px 4px;
3500 -moz-border-radius: 4px 4px 4px 4px;
3501 border-radius: 4px 4px 4px 4px;
3501 border-radius: 4px 4px 4px 4px;
3502 box-shadow: 0 1px 0 #ececec;
3502 box-shadow: 0 1px 0 #ececec;
3503 cursor: pointer;
3503 cursor: pointer;
3504 }
3504 }
3505
3505
3506 input.ui-button:hover {
3506 input.ui-button:hover {
3507 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3507 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3508 border-top: 1px solid #ccc;
3508 border-top: 1px solid #ccc;
3509 border-left: 1px solid #bebebe;
3509 border-left: 1px solid #bebebe;
3510 border-right: 1px solid #b1b1b1;
3510 border-right: 1px solid #b1b1b1;
3511 border-bottom: 1px solid #afafaf;
3511 border-bottom: 1px solid #afafaf;
3512 }
3512 }
3513
3513
3514 div.form div.fields div.field div.highlight,#content div.box div.form div.fields div.buttons div.highlight
3514 div.form div.fields div.field div.highlight,#content div.box div.form div.fields div.buttons div.highlight
3515 {
3515 {
3516 display: inline;
3516 display: inline;
3517 }
3517 }
3518
3518
3519 #content div.box div.form div.fields div.buttons,div.form div.fields div.buttons
3519 #content div.box div.form div.fields div.buttons,div.form div.fields div.buttons
3520 {
3520 {
3521 margin: 10px 0 0 200px;
3521 margin: 10px 0 0 200px;
3522 padding: 0;
3522 padding: 0;
3523 }
3523 }
3524
3524
3525 #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
3525 #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
3526 {
3526 {
3527 margin: 10px 0 0;
3527 margin: 10px 0 0;
3528 }
3528 }
3529
3529
3530 #content div.box table td.user,#content div.box table td.address {
3530 #content div.box table td.user,#content div.box table td.address {
3531 width: 10%;
3531 width: 10%;
3532 text-align: center;
3532 text-align: center;
3533 }
3533 }
3534
3534
3535 #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
3535 #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
3536 {
3536 {
3537 text-align: right;
3537 text-align: right;
3538 margin: 6px 0 0;
3538 margin: 6px 0 0;
3539 padding: 0;
3539 padding: 0;
3540 }
3540 }
3541
3541
3542 #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
3542 #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
3543 {
3543 {
3544 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3544 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3545 border-top: 1px solid #ccc;
3545 border-top: 1px solid #ccc;
3546 border-left: 1px solid #bebebe;
3546 border-left: 1px solid #bebebe;
3547 border-right: 1px solid #b1b1b1;
3547 border-right: 1px solid #b1b1b1;
3548 border-bottom: 1px solid #afafaf;
3548 border-bottom: 1px solid #afafaf;
3549 color: #515151;
3549 color: #515151;
3550 margin: 0;
3550 margin: 0;
3551 padding: 6px 12px;
3551 padding: 6px 12px;
3552 }
3552 }
3553
3553
3554 #content div.box div.pagination div.results,#content div.box div.pagination-wh div.results
3554 #content div.box div.pagination div.results,#content div.box div.pagination-wh div.results
3555 {
3555 {
3556 text-align: left;
3556 text-align: left;
3557 float: left;
3557 float: left;
3558 margin: 0;
3558 margin: 0;
3559 padding: 0;
3559 padding: 0;
3560 }
3560 }
3561
3561
3562 #content div.box div.pagination div.results span,#content div.box div.pagination-wh div.results span
3562 #content div.box div.pagination div.results span,#content div.box div.pagination-wh div.results span
3563 {
3563 {
3564 height: 1%;
3564 height: 1%;
3565 display: block;
3565 display: block;
3566 float: left;
3566 float: left;
3567 background: #ebebeb url("../images/pager.png") repeat-x;
3567 background: #ebebeb url("../images/pager.png") repeat-x;
3568 border-top: 1px solid #dedede;
3568 border-top: 1px solid #dedede;
3569 border-left: 1px solid #cfcfcf;
3569 border-left: 1px solid #cfcfcf;
3570 border-right: 1px solid #c4c4c4;
3570 border-right: 1px solid #c4c4c4;
3571 border-bottom: 1px solid #c4c4c4;
3571 border-bottom: 1px solid #c4c4c4;
3572 color: #4A4A4A;
3572 color: #4A4A4A;
3573 font-weight: 700;
3573 font-weight: 700;
3574 margin: 0;
3574 margin: 0;
3575 padding: 6px 8px;
3575 padding: 6px 8px;
3576 }
3576 }
3577
3577
3578 #content div.box div.pagination ul.pager li.disabled,#content div.box div.pagination-wh a.disabled
3578 #content div.box div.pagination ul.pager li.disabled,#content div.box div.pagination-wh a.disabled
3579 {
3579 {
3580 color: #B4B4B4;
3580 color: #B4B4B4;
3581 padding: 6px;
3581 padding: 6px;
3582 }
3582 }
3583
3583
3584 #login,#register {
3584 #login,#register {
3585 width: 520px;
3585 width: 520px;
3586 margin: 10% auto 0;
3586 margin: 10% auto 0;
3587 padding: 0;
3587 padding: 0;
3588 }
3588 }
3589
3589
3590 #login div.color,#register div.color {
3590 #login div.color,#register div.color {
3591 clear: both;
3591 clear: both;
3592 overflow: hidden;
3592 overflow: hidden;
3593 background: #FFF;
3593 background: #FFF;
3594 margin: 10px auto 0;
3594 margin: 10px auto 0;
3595 padding: 3px 3px 3px 0;
3595 padding: 3px 3px 3px 0;
3596 }
3596 }
3597
3597
3598 #login div.color a,#register div.color a {
3598 #login div.color a,#register div.color a {
3599 width: 20px;
3599 width: 20px;
3600 height: 20px;
3600 height: 20px;
3601 display: block;
3601 display: block;
3602 float: left;
3602 float: left;
3603 margin: 0 0 0 3px;
3603 margin: 0 0 0 3px;
3604 padding: 0;
3604 padding: 0;
3605 }
3605 }
3606
3606
3607 #login div.title h5,#register div.title h5 {
3607 #login div.title h5,#register div.title h5 {
3608 color: #fff;
3608 color: #fff;
3609 margin: 10px;
3609 margin: 10px;
3610 padding: 0;
3610 padding: 0;
3611 }
3611 }
3612
3612
3613 #login div.form div.fields div.field,#register div.form div.fields div.field
3613 #login div.form div.fields div.field,#register div.form div.fields div.field
3614 {
3614 {
3615 clear: both;
3615 clear: both;
3616 overflow: hidden;
3616 overflow: hidden;
3617 margin: 0;
3617 margin: 0;
3618 padding: 0 0 10px;
3618 padding: 0 0 10px;
3619 }
3619 }
3620
3620
3621 #login div.form div.fields div.field span.error-message,#register div.form div.fields div.field span.error-message
3621 #login div.form div.fields div.field span.error-message,#register div.form div.fields div.field span.error-message
3622 {
3622 {
3623 height: 1%;
3623 height: 1%;
3624 display: block;
3624 display: block;
3625 color: red;
3625 color: red;
3626 margin: 8px 0 0;
3626 margin: 8px 0 0;
3627 padding: 0;
3627 padding: 0;
3628 max-width: 320px;
3628 max-width: 320px;
3629 }
3629 }
3630
3630
3631 #login div.form div.fields div.field div.label label,#register div.form div.fields div.field div.label label
3631 #login div.form div.fields div.field div.label label,#register div.form div.fields div.field div.label label
3632 {
3632 {
3633 color: #000;
3633 color: #000;
3634 font-weight: 700;
3634 font-weight: 700;
3635 }
3635 }
3636
3636
3637 #login div.form div.fields div.field div.input,#register div.form div.fields div.field div.input
3637 #login div.form div.fields div.field div.input,#register div.form div.fields div.field div.input
3638 {
3638 {
3639 float: left;
3639 float: left;
3640 margin: 0;
3640 margin: 0;
3641 padding: 0;
3641 padding: 0;
3642 }
3642 }
3643
3643
3644 #login div.form div.fields div.field div.checkbox,#register div.form div.fields div.field div.checkbox
3644 #login div.form div.fields div.field div.checkbox,#register div.form div.fields div.field div.checkbox
3645 {
3645 {
3646 margin: 0 0 0 184px;
3646 margin: 0 0 0 184px;
3647 padding: 0;
3647 padding: 0;
3648 }
3648 }
3649
3649
3650 #login div.form div.fields div.field div.checkbox label,#register div.form div.fields div.field div.checkbox label
3650 #login div.form div.fields div.field div.checkbox label,#register div.form div.fields div.field div.checkbox label
3651 {
3651 {
3652 color: #565656;
3652 color: #565656;
3653 font-weight: 700;
3653 font-weight: 700;
3654 }
3654 }
3655
3655
3656 #login div.form div.fields div.buttons input,#register div.form div.fields div.buttons input
3656 #login div.form div.fields div.buttons input,#register div.form div.fields div.buttons input
3657 {
3657 {
3658 color: #000;
3658 color: #000;
3659 font-size: 1em;
3659 font-size: 1em;
3660 font-weight: 700;
3660 font-weight: 700;
3661 margin: 0;
3661 margin: 0;
3662 }
3662 }
3663
3663
3664 #changeset_content .container .wrapper,#graph_content .container .wrapper
3664 #changeset_content .container .wrapper,#graph_content .container .wrapper
3665 {
3665 {
3666 width: 600px;
3666 width: 600px;
3667 }
3667 }
3668
3668
3669 #changeset_content .container .left {
3669 #changeset_content .container .left {
3670 float: left;
3670 float: left;
3671 width: 75%;
3671 width: 75%;
3672 padding-left: 5px;
3672 padding-left: 5px;
3673 }
3673 }
3674
3674
3675 #changeset_content .container .left .date,.ac .match {
3675 #changeset_content .container .left .date,.ac .match {
3676 font-weight: 700;
3676 font-weight: 700;
3677 padding-top: 5px;
3677 padding-top: 5px;
3678 padding-bottom: 5px;
3678 padding-bottom: 5px;
3679 }
3679 }
3680
3680
3681 div#legend_container table td,div#legend_choices table td {
3681 div#legend_container table td,div#legend_choices table td {
3682 border: none !important;
3682 border: none !important;
3683 height: 20px !important;
3683 height: 20px !important;
3684 padding: 0 !important;
3684 padding: 0 !important;
3685 }
3685 }
3686
3686
3687 .q_filter_box {
3687 .q_filter_box {
3688 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3688 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3689 -webkit-border-radius: 4px;
3689 -webkit-border-radius: 4px;
3690 -moz-border-radius: 4px;
3690 -moz-border-radius: 4px;
3691 border-radius: 4px;
3691 border-radius: 4px;
3692 border: 0 none;
3692 border: 0 none;
3693 color: #AAAAAA;
3693 color: #AAAAAA;
3694 margin-bottom: -4px;
3694 margin-bottom: -4px;
3695 margin-top: -4px;
3695 margin-top: -4px;
3696 padding-left: 3px;
3696 padding-left: 3px;
3697 }
3697 }
3698
3698
3699 #node_filter {
3699 #node_filter {
3700 border: 0px solid #545454;
3700 border: 0px solid #545454;
3701 color: #AAAAAA;
3701 color: #AAAAAA;
3702 padding-left: 3px;
3702 padding-left: 3px;
3703 }
3703 }
3704
3704
3705
3705
3706 .group_members_wrap{
3706 .group_members_wrap{
3707
3707
3708 }
3708 }
3709
3709
3710 .group_members .group_member{
3710 .group_members .group_member{
3711 height: 30px;
3711 height: 30px;
3712 padding:0px 0px 0px 10px;
3712 padding:0px 0px 0px 10px;
3713 }
3713 }
3714
3714
3715 .emails_wrap{
3715 .emails_wrap{
3716 padding: 0px 20px;
3716 padding: 0px 20px;
3717 }
3717 }
3718
3718
3719 .emails_wrap .email_entry{
3719 .emails_wrap .email_entry{
3720 height: 30px;
3720 height: 30px;
3721 padding:0px 0px 0px 10px;
3721 padding:0px 0px 0px 10px;
3722 }
3722 }
3723 .emails_wrap .email_entry .email{
3723 .emails_wrap .email_entry .email{
3724 float: left
3724 float: left
3725 }
3725 }
3726 .emails_wrap .email_entry .email_action{
3726 .emails_wrap .email_entry .email_action{
3727 float: left
3727 float: left
3728 }
3728 }
3729
3729
3730 /*README STYLE*/
3730 /*README STYLE*/
3731
3731
3732 div.readme {
3732 div.readme {
3733 padding:0px;
3733 padding:0px;
3734 }
3734 }
3735
3735
3736 div.readme h2 {
3736 div.readme h2 {
3737 font-weight: normal;
3737 font-weight: normal;
3738 }
3738 }
3739
3739
3740 div.readme .readme_box {
3740 div.readme .readme_box {
3741 background-color: #fafafa;
3741 background-color: #fafafa;
3742 }
3742 }
3743
3743
3744 div.readme .readme_box {
3744 div.readme .readme_box {
3745 clear:both;
3745 clear:both;
3746 overflow:hidden;
3746 overflow:hidden;
3747 margin:0;
3747 margin:0;
3748 padding:0 20px 10px;
3748 padding:0 20px 10px;
3749 }
3749 }
3750
3750
3751 div.readme .readme_box h1, div.readme .readme_box h2, div.readme .readme_box h3, div.readme .readme_box h4, div.readme .readme_box h5, div.readme .readme_box h6 {
3751 div.readme .readme_box h1, div.readme .readme_box h2, div.readme .readme_box h3, div.readme .readme_box h4, div.readme .readme_box h5, div.readme .readme_box h6 {
3752 border-bottom: 0 !important;
3752 border-bottom: 0 !important;
3753 margin: 0 !important;
3753 margin: 0 !important;
3754 padding: 0 !important;
3754 padding: 0 !important;
3755 line-height: 1.5em !important;
3755 line-height: 1.5em !important;
3756 }
3756 }
3757
3757
3758
3758
3759 div.readme .readme_box h1:first-child {
3759 div.readme .readme_box h1:first-child {
3760 padding-top: .25em !important;
3760 padding-top: .25em !important;
3761 }
3761 }
3762
3762
3763 div.readme .readme_box h2, div.readme .readme_box h3 {
3763 div.readme .readme_box h2, div.readme .readme_box h3 {
3764 margin: 1em 0 !important;
3764 margin: 1em 0 !important;
3765 }
3765 }
3766
3766
3767 div.readme .readme_box h2 {
3767 div.readme .readme_box h2 {
3768 margin-top: 1.5em !important;
3768 margin-top: 1.5em !important;
3769 border-top: 4px solid #e0e0e0 !important;
3769 border-top: 4px solid #e0e0e0 !important;
3770 padding-top: .5em !important;
3770 padding-top: .5em !important;
3771 }
3771 }
3772
3772
3773 div.readme .readme_box p {
3773 div.readme .readme_box p {
3774 color: black !important;
3774 color: black !important;
3775 margin: 1em 0 !important;
3775 margin: 1em 0 !important;
3776 line-height: 1.5em !important;
3776 line-height: 1.5em !important;
3777 }
3777 }
3778
3778
3779 div.readme .readme_box ul {
3779 div.readme .readme_box ul {
3780 list-style: disc !important;
3780 list-style: disc !important;
3781 margin: 1em 0 1em 2em !important;
3781 margin: 1em 0 1em 2em !important;
3782 }
3782 }
3783
3783
3784 div.readme .readme_box ol {
3784 div.readme .readme_box ol {
3785 list-style: decimal;
3785 list-style: decimal;
3786 margin: 1em 0 1em 2em !important;
3786 margin: 1em 0 1em 2em !important;
3787 }
3787 }
3788
3788
3789 div.readme .readme_box pre, code {
3789 div.readme .readme_box pre, code {
3790 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
3790 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
3791 }
3791 }
3792
3792
3793 div.readme .readme_box code {
3793 div.readme .readme_box code {
3794 font-size: 12px !important;
3794 font-size: 12px !important;
3795 background-color: ghostWhite !important;
3795 background-color: ghostWhite !important;
3796 color: #444 !important;
3796 color: #444 !important;
3797 padding: 0 .2em !important;
3797 padding: 0 .2em !important;
3798 border: 1px solid #dedede !important;
3798 border: 1px solid #dedede !important;
3799 }
3799 }
3800
3800
3801 div.readme .readme_box pre code {
3801 div.readme .readme_box pre code {
3802 padding: 0 !important;
3802 padding: 0 !important;
3803 font-size: 12px !important;
3803 font-size: 12px !important;
3804 background-color: #eee !important;
3804 background-color: #eee !important;
3805 border: none !important;
3805 border: none !important;
3806 }
3806 }
3807
3807
3808 div.readme .readme_box pre {
3808 div.readme .readme_box pre {
3809 margin: 1em 0;
3809 margin: 1em 0;
3810 font-size: 12px;
3810 font-size: 12px;
3811 background-color: #eee;
3811 background-color: #eee;
3812 border: 1px solid #ddd;
3812 border: 1px solid #ddd;
3813 padding: 5px;
3813 padding: 5px;
3814 color: #444;
3814 color: #444;
3815 overflow: auto;
3815 overflow: auto;
3816 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3816 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3817 -webkit-border-radius: 3px;
3817 -webkit-border-radius: 3px;
3818 -moz-border-radius: 3px;
3818 -moz-border-radius: 3px;
3819 border-radius: 3px;
3819 border-radius: 3px;
3820 }
3820 }
3821
3821
3822
3822
3823 /** RST STYLE **/
3823 /** RST STYLE **/
3824
3824
3825
3825
3826 div.rst-block {
3826 div.rst-block {
3827 padding:0px;
3827 padding:0px;
3828 }
3828 }
3829
3829
3830 div.rst-block h2 {
3830 div.rst-block h2 {
3831 font-weight: normal;
3831 font-weight: normal;
3832 }
3832 }
3833
3833
3834 div.rst-block {
3834 div.rst-block {
3835 background-color: #fafafa;
3835 background-color: #fafafa;
3836 }
3836 }
3837
3837
3838 div.rst-block {
3838 div.rst-block {
3839 clear:both;
3839 clear:both;
3840 overflow:hidden;
3840 overflow:hidden;
3841 margin:0;
3841 margin:0;
3842 padding:0 20px 10px;
3842 padding:0 20px 10px;
3843 }
3843 }
3844
3844
3845 div.rst-block h1, div.rst-block h2, div.rst-block h3, div.rst-block h4, div.rst-block h5, div.rst-block h6 {
3845 div.rst-block h1, div.rst-block h2, div.rst-block h3, div.rst-block h4, div.rst-block h5, div.rst-block h6 {
3846 border-bottom: 0 !important;
3846 border-bottom: 0 !important;
3847 margin: 0 !important;
3847 margin: 0 !important;
3848 padding: 0 !important;
3848 padding: 0 !important;
3849 line-height: 1.5em !important;
3849 line-height: 1.5em !important;
3850 }
3850 }
3851
3851
3852
3852
3853 div.rst-block h1:first-child {
3853 div.rst-block h1:first-child {
3854 padding-top: .25em !important;
3854 padding-top: .25em !important;
3855 }
3855 }
3856
3856
3857 div.rst-block h2, div.rst-block h3 {
3857 div.rst-block h2, div.rst-block h3 {
3858 margin: 1em 0 !important;
3858 margin: 1em 0 !important;
3859 }
3859 }
3860
3860
3861 div.rst-block h2 {
3861 div.rst-block h2 {
3862 margin-top: 1.5em !important;
3862 margin-top: 1.5em !important;
3863 border-top: 4px solid #e0e0e0 !important;
3863 border-top: 4px solid #e0e0e0 !important;
3864 padding-top: .5em !important;
3864 padding-top: .5em !important;
3865 }
3865 }
3866
3866
3867 div.rst-block p {
3867 div.rst-block p {
3868 color: black !important;
3868 color: black !important;
3869 margin: 1em 0 !important;
3869 margin: 1em 0 !important;
3870 line-height: 1.5em !important;
3870 line-height: 1.5em !important;
3871 }
3871 }
3872
3872
3873 div.rst-block ul {
3873 div.rst-block ul {
3874 list-style: disc !important;
3874 list-style: disc !important;
3875 margin: 1em 0 1em 2em !important;
3875 margin: 1em 0 1em 2em !important;
3876 }
3876 }
3877
3877
3878 div.rst-block ol {
3878 div.rst-block ol {
3879 list-style: decimal;
3879 list-style: decimal;
3880 margin: 1em 0 1em 2em !important;
3880 margin: 1em 0 1em 2em !important;
3881 }
3881 }
3882
3882
3883 div.rst-block pre, code {
3883 div.rst-block pre, code {
3884 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
3884 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
3885 }
3885 }
3886
3886
3887 div.rst-block code {
3887 div.rst-block code {
3888 font-size: 12px !important;
3888 font-size: 12px !important;
3889 background-color: ghostWhite !important;
3889 background-color: ghostWhite !important;
3890 color: #444 !important;
3890 color: #444 !important;
3891 padding: 0 .2em !important;
3891 padding: 0 .2em !important;
3892 border: 1px solid #dedede !important;
3892 border: 1px solid #dedede !important;
3893 }
3893 }
3894
3894
3895 div.rst-block pre code {
3895 div.rst-block pre code {
3896 padding: 0 !important;
3896 padding: 0 !important;
3897 font-size: 12px !important;
3897 font-size: 12px !important;
3898 background-color: #eee !important;
3898 background-color: #eee !important;
3899 border: none !important;
3899 border: none !important;
3900 }
3900 }
3901
3901
3902 div.rst-block pre {
3902 div.rst-block pre {
3903 margin: 1em 0;
3903 margin: 1em 0;
3904 font-size: 12px;
3904 font-size: 12px;
3905 background-color: #eee;
3905 background-color: #eee;
3906 border: 1px solid #ddd;
3906 border: 1px solid #ddd;
3907 padding: 5px;
3907 padding: 5px;
3908 color: #444;
3908 color: #444;
3909 overflow: auto;
3909 overflow: auto;
3910 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3910 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3911 -webkit-border-radius: 3px;
3911 -webkit-border-radius: 3px;
3912 -moz-border-radius: 3px;
3912 -moz-border-radius: 3px;
3913 border-radius: 3px;
3913 border-radius: 3px;
3914 }
3914 }
3915
3915
3916
3916
3917 /** comment main **/
3917 /** comment main **/
3918 .comments {
3918 .comments {
3919 padding:10px 20px;
3919 padding:10px 20px;
3920 }
3920 }
3921
3921
3922 .comments .comment {
3922 .comments .comment {
3923 border: 1px solid #ddd;
3923 border: 1px solid #ddd;
3924 margin-top: 10px;
3924 margin-top: 10px;
3925 -webkit-border-radius: 4px;
3925 -webkit-border-radius: 4px;
3926 -moz-border-radius: 4px;
3926 -moz-border-radius: 4px;
3927 border-radius: 4px;
3927 border-radius: 4px;
3928 }
3928 }
3929
3929
3930 .comments .comment .meta {
3930 .comments .comment .meta {
3931 background: #f8f8f8;
3931 background: #f8f8f8;
3932 padding: 4px;
3932 padding: 4px;
3933 border-bottom: 1px solid #ddd;
3933 border-bottom: 1px solid #ddd;
3934 height: 18px;
3934 height: 18px;
3935 }
3935 }
3936
3936
3937 .comments .comment .meta img {
3937 .comments .comment .meta img {
3938 vertical-align: middle;
3938 vertical-align: middle;
3939 }
3939 }
3940
3940
3941 .comments .comment .meta .user {
3941 .comments .comment .meta .user {
3942 font-weight: bold;
3942 font-weight: bold;
3943 float: left;
3943 float: left;
3944 padding: 4px 2px 2px 2px;
3944 padding: 4px 2px 2px 2px;
3945 }
3945 }
3946
3946
3947 .comments .comment .meta .date {
3947 .comments .comment .meta .date {
3948 float: left;
3948 float: left;
3949 padding:4px 4px 0px 4px;
3949 padding:4px 4px 0px 4px;
3950 }
3950 }
3951
3951
3952 .comments .comment .text {
3952 .comments .comment .text {
3953 background-color: #FAFAFA;
3953 background-color: #FAFAFA;
3954 }
3954 }
3955 .comment .text div.rst-block p {
3955 .comment .text div.rst-block p {
3956 margin: 0.5em 0px !important;
3956 margin: 0.5em 0px !important;
3957 }
3957 }
3958
3958
3959 .comments .comments-number{
3959 .comments .comments-number{
3960 padding:0px 0px 10px 0px;
3960 padding:0px 0px 10px 0px;
3961 font-weight: bold;
3961 font-weight: bold;
3962 color: #666;
3962 color: #666;
3963 font-size: 16px;
3963 font-size: 16px;
3964 }
3964 }
3965
3965
3966 /** comment form **/
3966 /** comment form **/
3967
3967
3968 .status-block{
3968 .status-block{
3969 height:80px;
3969 height:80px;
3970 clear:both
3970 clear:both
3971 }
3971 }
3972
3972
3973 .comment-form .clearfix{
3973 .comment-form .clearfix{
3974 background: #EEE;
3974 background: #EEE;
3975 -webkit-border-radius: 4px;
3975 -webkit-border-radius: 4px;
3976 -moz-border-radius: 4px;
3976 -moz-border-radius: 4px;
3977 border-radius: 4px;
3977 border-radius: 4px;
3978 padding: 10px;
3978 padding: 10px;
3979 }
3979 }
3980
3980
3981 div.comment-form {
3981 div.comment-form {
3982 margin-top: 20px;
3982 margin-top: 20px;
3983 }
3983 }
3984
3984
3985 .comment-form strong {
3985 .comment-form strong {
3986 display: block;
3986 display: block;
3987 margin-bottom: 15px;
3987 margin-bottom: 15px;
3988 }
3988 }
3989
3989
3990 .comment-form textarea {
3990 .comment-form textarea {
3991 width: 100%;
3991 width: 100%;
3992 height: 100px;
3992 height: 100px;
3993 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
3993 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
3994 }
3994 }
3995
3995
3996 form.comment-form {
3996 form.comment-form {
3997 margin-top: 10px;
3997 margin-top: 10px;
3998 margin-left: 10px;
3998 margin-left: 10px;
3999 }
3999 }
4000
4000
4001 .comment-form-submit {
4001 .comment-form-submit {
4002 margin-top: 5px;
4002 margin-top: 5px;
4003 margin-left: 525px;
4003 margin-left: 525px;
4004 }
4004 }
4005
4005
4006 .file-comments {
4006 .file-comments {
4007 display: none;
4007 display: none;
4008 }
4008 }
4009
4009
4010 .comment-form .comment {
4010 .comment-form .comment {
4011 margin-left: 10px;
4011 margin-left: 10px;
4012 }
4012 }
4013
4013
4014 .comment-form .comment-help{
4014 .comment-form .comment-help{
4015 padding: 0px 0px 5px 0px;
4015 padding: 0px 0px 5px 0px;
4016 color: #666;
4016 color: #666;
4017 }
4017 }
4018
4018
4019 .comment-form .comment-button{
4019 .comment-form .comment-button{
4020 padding-top:5px;
4020 padding-top:5px;
4021 }
4021 }
4022
4022
4023 .add-another-button {
4023 .add-another-button {
4024 margin-left: 10px;
4024 margin-left: 10px;
4025 margin-top: 10px;
4025 margin-top: 10px;
4026 margin-bottom: 10px;
4026 margin-bottom: 10px;
4027 }
4027 }
4028
4028
4029 .comment .buttons {
4029 .comment .buttons {
4030 float: right;
4030 float: right;
4031 padding:2px 2px 0px 0px;
4031 padding:2px 2px 0px 0px;
4032 }
4032 }
4033
4033
4034
4034
4035 .show-inline-comments{
4035 .show-inline-comments{
4036 position: relative;
4036 position: relative;
4037 top:1px
4037 top:1px
4038 }
4038 }
4039
4039
4040 /** comment inline form **/
4040 /** comment inline form **/
4041 .comment-inline-form .overlay{
4041 .comment-inline-form .overlay{
4042 display: none;
4042 display: none;
4043 }
4043 }
4044 .comment-inline-form .overlay.submitting{
4044 .comment-inline-form .overlay.submitting{
4045 display:block;
4045 display:block;
4046 background: none repeat scroll 0 0 white;
4046 background: none repeat scroll 0 0 white;
4047 font-size: 16px;
4047 font-size: 16px;
4048 opacity: 0.5;
4048 opacity: 0.5;
4049 position: absolute;
4049 position: absolute;
4050 text-align: center;
4050 text-align: center;
4051 vertical-align: top;
4051 vertical-align: top;
4052
4052
4053 }
4053 }
4054 .comment-inline-form .overlay.submitting .overlay-text{
4054 .comment-inline-form .overlay.submitting .overlay-text{
4055 width:100%;
4055 width:100%;
4056 margin-top:5%;
4056 margin-top:5%;
4057 }
4057 }
4058
4058
4059 .comment-inline-form .clearfix{
4059 .comment-inline-form .clearfix{
4060 background: #EEE;
4060 background: #EEE;
4061 -webkit-border-radius: 4px;
4061 -webkit-border-radius: 4px;
4062 -moz-border-radius: 4px;
4062 -moz-border-radius: 4px;
4063 border-radius: 4px;
4063 border-radius: 4px;
4064 padding: 5px;
4064 padding: 5px;
4065 }
4065 }
4066
4066
4067 div.comment-inline-form {
4067 div.comment-inline-form {
4068 margin-top: 5px;
4068 margin-top: 5px;
4069 padding:2px 6px 8px 6px;
4069 padding:2px 6px 8px 6px;
4070
4070
4071 }
4071 }
4072
4072
4073 .comment-inline-form strong {
4073 .comment-inline-form strong {
4074 display: block;
4074 display: block;
4075 margin-bottom: 15px;
4075 margin-bottom: 15px;
4076 }
4076 }
4077
4077
4078 .comment-inline-form textarea {
4078 .comment-inline-form textarea {
4079 width: 100%;
4079 width: 100%;
4080 height: 100px;
4080 height: 100px;
4081 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4081 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4082 }
4082 }
4083
4083
4084 form.comment-inline-form {
4084 form.comment-inline-form {
4085 margin-top: 10px;
4085 margin-top: 10px;
4086 margin-left: 10px;
4086 margin-left: 10px;
4087 }
4087 }
4088
4088
4089 .comment-inline-form-submit {
4089 .comment-inline-form-submit {
4090 margin-top: 5px;
4090 margin-top: 5px;
4091 margin-left: 525px;
4091 margin-left: 525px;
4092 }
4092 }
4093
4093
4094 .file-comments {
4094 .file-comments {
4095 display: none;
4095 display: none;
4096 }
4096 }
4097
4097
4098 .comment-inline-form .comment {
4098 .comment-inline-form .comment {
4099 margin-left: 10px;
4099 margin-left: 10px;
4100 }
4100 }
4101
4101
4102 .comment-inline-form .comment-help{
4102 .comment-inline-form .comment-help{
4103 padding: 0px 0px 2px 0px;
4103 padding: 0px 0px 2px 0px;
4104 color: #666666;
4104 color: #666666;
4105 font-size: 10px;
4105 font-size: 10px;
4106 }
4106 }
4107
4107
4108 .comment-inline-form .comment-button{
4108 .comment-inline-form .comment-button{
4109 padding-top:5px;
4109 padding-top:5px;
4110 }
4110 }
4111
4111
4112 /** comment inline **/
4112 /** comment inline **/
4113 .inline-comments {
4113 .inline-comments {
4114 padding:10px 20px;
4114 padding:10px 20px;
4115 }
4115 }
4116
4116
4117 .inline-comments div.rst-block {
4117 .inline-comments div.rst-block {
4118 clear:both;
4118 clear:both;
4119 overflow:hidden;
4119 overflow:hidden;
4120 margin:0;
4120 margin:0;
4121 padding:0 20px 0px;
4121 padding:0 20px 0px;
4122 }
4122 }
4123 .inline-comments .comment {
4123 .inline-comments .comment {
4124 border: 1px solid #ddd;
4124 border: 1px solid #ddd;
4125 -webkit-border-radius: 4px;
4125 -webkit-border-radius: 4px;
4126 -moz-border-radius: 4px;
4126 -moz-border-radius: 4px;
4127 border-radius: 4px;
4127 border-radius: 4px;
4128 margin: 3px 3px 5px 5px;
4128 margin: 3px 3px 5px 5px;
4129 background-color: #FAFAFA;
4129 background-color: #FAFAFA;
4130 }
4130 }
4131 .inline-comments .add-comment {
4131 .inline-comments .add-comment {
4132 padding: 2px 4px 8px 5px;
4132 padding: 2px 4px 8px 5px;
4133 }
4133 }
4134
4134
4135 .inline-comments .comment-wrapp{
4135 .inline-comments .comment-wrapp{
4136 padding:1px;
4136 padding:1px;
4137 }
4137 }
4138 .inline-comments .comment .meta {
4138 .inline-comments .comment .meta {
4139 background: #f8f8f8;
4139 background: #f8f8f8;
4140 padding: 4px;
4140 padding: 4px;
4141 border-bottom: 1px solid #ddd;
4141 border-bottom: 1px solid #ddd;
4142 }
4142 }
4143
4143
4144 .inline-comments .comment .meta img {
4144 .inline-comments .comment .meta img {
4145 vertical-align: middle;
4145 vertical-align: middle;
4146 }
4146 }
4147
4147
4148 .inline-comments .comment .meta .user {
4148 .inline-comments .comment .meta .user {
4149 font-weight: bold;
4149 font-weight: bold;
4150 }
4150 }
4151
4151
4152 .inline-comments .comment .meta .date {
4152 .inline-comments .comment .meta .date {
4153 }
4153 }
4154
4154
4155 .inline-comments .comment .text {
4155 .inline-comments .comment .text {
4156 background-color: #FAFAFA;
4156 background-color: #FAFAFA;
4157 }
4157 }
4158
4158
4159 .inline-comments .comments-number{
4159 .inline-comments .comments-number{
4160 padding:0px 0px 10px 0px;
4160 padding:0px 0px 10px 0px;
4161 font-weight: bold;
4161 font-weight: bold;
4162 color: #666;
4162 color: #666;
4163 font-size: 16px;
4163 font-size: 16px;
4164 }
4164 }
4165 .inline-comments-button .add-comment{
4165 .inline-comments-button .add-comment{
4166 margin:2px 0px 8px 5px !important
4166 margin:2px 0px 8px 5px !important
4167 }
4167 }
4168
4168
4169
4169
4170 .notification-paginator{
4170 .notification-paginator{
4171 padding: 0px 0px 4px 16px;
4171 padding: 0px 0px 4px 16px;
4172 float: left;
4172 float: left;
4173 }
4173 }
4174
4174
4175 .notifications{
4175 .notifications{
4176 border-radius: 4px 4px 4px 4px;
4176 border-radius: 4px 4px 4px 4px;
4177 -webkit-border-radius: 4px;
4177 -webkit-border-radius: 4px;
4178 -moz-border-radius: 4px;
4178 -moz-border-radius: 4px;
4179 float: right;
4179 float: right;
4180 margin: 20px 0px 0px 0px;
4180 margin: 20px 0px 0px 0px;
4181 position: absolute;
4181 position: absolute;
4182 text-align: center;
4182 text-align: center;
4183 width: 26px;
4183 width: 26px;
4184 z-index: 1000;
4184 z-index: 1000;
4185 }
4185 }
4186 .notifications a{
4186 .notifications a{
4187 color:#888 !important;
4187 color:#888 !important;
4188 display: block;
4188 display: block;
4189 font-size: 10px;
4189 font-size: 10px;
4190 background-color: #DEDEDE !important;
4190 background-color: #DEDEDE !important;
4191 border-radius: 2px !important;
4191 border-radius: 2px !important;
4192 -webkit-border-radius: 2px !important;
4192 -webkit-border-radius: 2px !important;
4193 -moz-border-radius: 2px !important;
4193 -moz-border-radius: 2px !important;
4194 }
4194 }
4195 .notifications a:hover{
4195 .notifications a:hover{
4196 text-decoration: none !important;
4196 text-decoration: none !important;
4197 background-color: #EEEFFF !important;
4197 background-color: #EEEFFF !important;
4198 }
4198 }
4199 .notification-header{
4199 .notification-header{
4200 padding-top:6px;
4200 padding-top:6px;
4201 }
4201 }
4202 .notification-header .desc{
4202 .notification-header .desc{
4203 font-size: 16px;
4203 font-size: 16px;
4204 height: 24px;
4204 height: 24px;
4205 float: left
4205 float: left
4206 }
4206 }
4207 .notification-list .container.unread{
4207 .notification-list .container.unread{
4208 background: none repeat scroll 0 0 rgba(255, 255, 180, 0.6);
4208 background: none repeat scroll 0 0 rgba(255, 255, 180, 0.6);
4209 }
4209 }
4210 .notification-header .gravatar{
4210 .notification-header .gravatar{
4211 background: none repeat scroll 0 0 transparent;
4211 background: none repeat scroll 0 0 transparent;
4212 padding: 0px 0px 0px 8px;
4212 padding: 0px 0px 0px 8px;
4213 }
4213 }
4214 .notification-header .desc.unread{
4214 .notification-header .desc.unread{
4215 font-weight: bold;
4215 font-weight: bold;
4216 font-size: 17px;
4216 font-size: 17px;
4217 }
4217 }
4218 .notification-table{
4218 .notification-table{
4219 border: 1px solid #ccc;
4219 border: 1px solid #ccc;
4220 -webkit-border-radius: 6px 6px 6px 6px;
4220 -webkit-border-radius: 6px 6px 6px 6px;
4221 -moz-border-radius: 6px 6px 6px 6px;
4221 -moz-border-radius: 6px 6px 6px 6px;
4222 border-radius: 6px 6px 6px 6px;
4222 border-radius: 6px 6px 6px 6px;
4223 clear: both;
4223 clear: both;
4224 margin: 0px 20px 0px 20px;
4224 margin: 0px 20px 0px 20px;
4225 }
4225 }
4226 .notification-header .delete-notifications{
4226 .notification-header .delete-notifications{
4227 float: right;
4227 float: right;
4228 padding-top: 8px;
4228 padding-top: 8px;
4229 cursor: pointer;
4229 cursor: pointer;
4230 }
4230 }
4231 .notification-subject{
4231 .notification-subject{
4232 clear:both;
4232 clear:both;
4233 border-bottom: 1px solid #eee;
4233 border-bottom: 1px solid #eee;
4234 padding:5px 0px 5px 38px;
4234 padding:5px 0px 5px 38px;
4235 }
4235 }
4236
4236
4237 .notification-body{
4237 .notification-body{
4238 clear:both;
4238 clear:both;
4239 margin: 34px 2px 2px 8px
4239 margin: 34px 2px 2px 8px
4240 }
4240 }
4241
4241
4242 /****
4242 /****
4243 PERMS
4243 PERMS
4244 *****/
4244 *****/
4245 #perms .perms_section_head {
4245 #perms .perms_section_head {
4246 padding:10px 10px 10px 0px;
4246 padding:10px 10px 10px 0px;
4247 font-size:16px;
4247 font-size:16px;
4248 font-weight: bold;
4248 font-weight: bold;
4249 }
4249 }
4250
4250
4251 #perms .perm_tag{
4251 #perms .perm_tag{
4252 padding: 1px 3px 1px 3px;
4252 padding: 1px 3px 1px 3px;
4253 font-size: 10px;
4253 font-size: 10px;
4254 font-weight: bold;
4254 font-weight: bold;
4255 text-transform: uppercase;
4255 text-transform: uppercase;
4256 white-space: nowrap;
4256 white-space: nowrap;
4257 -webkit-border-radius: 3px;
4257 -webkit-border-radius: 3px;
4258 -moz-border-radius: 3px;
4258 -moz-border-radius: 3px;
4259 border-radius: 3px;
4259 border-radius: 3px;
4260 }
4260 }
4261
4261
4262 #perms .perm_tag.admin{
4262 #perms .perm_tag.admin{
4263 background-color: #B94A48;
4263 background-color: #B94A48;
4264 color: #ffffff;
4264 color: #ffffff;
4265 }
4265 }
4266
4266
4267 #perms .perm_tag.write{
4267 #perms .perm_tag.write{
4268 background-color: #B94A48;
4268 background-color: #B94A48;
4269 color: #ffffff;
4269 color: #ffffff;
4270 }
4270 }
4271
4271
4272 #perms .perm_tag.read{
4272 #perms .perm_tag.read{
4273 background-color: #468847;
4273 background-color: #468847;
4274 color: #ffffff;
4274 color: #ffffff;
4275 }
4275 }
4276
4276
4277 #perms .perm_tag.none{
4277 #perms .perm_tag.none{
4278 background-color: #bfbfbf;
4278 background-color: #bfbfbf;
4279 color: #ffffff;
4279 color: #ffffff;
4280 }
4280 }
4281
4281
4282 .perm-gravatar{
4282 .perm-gravatar{
4283 vertical-align:middle;
4283 vertical-align:middle;
4284 padding:2px;
4284 padding:2px;
4285 }
4285 }
4286 .perm-gravatar-ac{
4286 .perm-gravatar-ac{
4287 vertical-align:middle;
4287 vertical-align:middle;
4288 padding:2px;
4288 padding:2px;
4289 width: 14px;
4289 width: 14px;
4290 height: 14px;
4290 height: 14px;
4291 }
4291 }
4292
4292
4293 /*****************************************************************************
4293 /*****************************************************************************
4294 DIFFS CSS
4294 DIFFS CSS
4295 ******************************************************************************/
4295 ******************************************************************************/
4296
4296
4297 div.diffblock {
4297 div.diffblock {
4298 overflow: auto;
4298 overflow: auto;
4299 padding: 0px;
4299 padding: 0px;
4300 border: 1px solid #ccc;
4300 border: 1px solid #ccc;
4301 background: #f8f8f8;
4301 background: #f8f8f8;
4302 font-size: 100%;
4302 font-size: 100%;
4303 line-height: 100%;
4303 line-height: 100%;
4304 /* new */
4304 /* new */
4305 line-height: 125%;
4305 line-height: 125%;
4306 -webkit-border-radius: 6px 6px 0px 0px;
4306 -webkit-border-radius: 6px 6px 0px 0px;
4307 -moz-border-radius: 6px 6px 0px 0px;
4307 -moz-border-radius: 6px 6px 0px 0px;
4308 border-radius: 6px 6px 0px 0px;
4308 border-radius: 6px 6px 0px 0px;
4309 }
4309 }
4310 div.diffblock.margined{
4310 div.diffblock.margined{
4311 margin: 0px 20px 0px 20px;
4311 margin: 0px 20px 0px 20px;
4312 }
4312 }
4313 div.diffblock .code-header{
4313 div.diffblock .code-header{
4314 border-bottom: 1px solid #CCCCCC;
4314 border-bottom: 1px solid #CCCCCC;
4315 background: #EEEEEE;
4315 background: #EEEEEE;
4316 padding:10px 0 10px 0;
4316 padding:10px 0 10px 0;
4317 height: 14px;
4317 height: 14px;
4318 }
4318 }
4319 div.diffblock .code-header.cv{
4319 div.diffblock .code-header.cv{
4320 height: 34px;
4320 height: 34px;
4321 }
4321 }
4322 div.diffblock .code-header-title{
4322 div.diffblock .code-header-title{
4323 padding: 0px 0px 10px 5px !important;
4323 padding: 0px 0px 10px 5px !important;
4324 margin: 0 !important;
4324 margin: 0 !important;
4325 }
4325 }
4326 div.diffblock .code-header .hash{
4326 div.diffblock .code-header .hash{
4327 float: left;
4327 float: left;
4328 padding: 2px 0 0 2px;
4328 padding: 2px 0 0 2px;
4329 }
4329 }
4330 div.diffblock .code-header .date{
4330 div.diffblock .code-header .date{
4331 float:left;
4331 float:left;
4332 text-transform: uppercase;
4332 text-transform: uppercase;
4333 padding: 2px 0px 0px 2px;
4333 padding: 2px 0px 0px 2px;
4334 }
4334 }
4335 div.diffblock .code-header div{
4335 div.diffblock .code-header div{
4336 margin-left:4px;
4336 margin-left:4px;
4337 font-weight: bold;
4337 font-weight: bold;
4338 font-size: 14px;
4338 font-size: 14px;
4339 }
4339 }
4340 div.diffblock .code-body{
4340 div.diffblock .code-body{
4341 background: #FFFFFF;
4341 background: #FFFFFF;
4342 }
4342 }
4343 div.diffblock pre.raw{
4343 div.diffblock pre.raw{
4344 background: #FFFFFF;
4344 background: #FFFFFF;
4345 color:#000000;
4345 color:#000000;
4346 }
4346 }
4347 table.code-difftable{
4347 table.code-difftable{
4348 border-collapse: collapse;
4348 border-collapse: collapse;
4349 width: 99%;
4349 width: 99%;
4350 }
4350 }
4351 table.code-difftable td {
4351 table.code-difftable td {
4352 padding: 0 !important;
4352 padding: 0 !important;
4353 background: none !important;
4353 background: none !important;
4354 border:0 !important;
4354 border:0 !important;
4355 vertical-align: none !important;
4355 vertical-align: none !important;
4356 }
4356 }
4357 table.code-difftable .context{
4357 table.code-difftable .context{
4358 background:none repeat scroll 0 0 #DDE7EF;
4358 background:none repeat scroll 0 0 #DDE7EF;
4359 }
4359 }
4360 table.code-difftable .add{
4360 table.code-difftable .add{
4361 background:none repeat scroll 0 0 #DDFFDD;
4361 background:none repeat scroll 0 0 #DDFFDD;
4362 }
4362 }
4363 table.code-difftable .add ins{
4363 table.code-difftable .add ins{
4364 background:none repeat scroll 0 0 #AAFFAA;
4364 background:none repeat scroll 0 0 #AAFFAA;
4365 text-decoration:none;
4365 text-decoration:none;
4366 }
4366 }
4367 table.code-difftable .del{
4367 table.code-difftable .del{
4368 background:none repeat scroll 0 0 #FFDDDD;
4368 background:none repeat scroll 0 0 #FFDDDD;
4369 }
4369 }
4370 table.code-difftable .del del{
4370 table.code-difftable .del del{
4371 background:none repeat scroll 0 0 #FFAAAA;
4371 background:none repeat scroll 0 0 #FFAAAA;
4372 text-decoration:none;
4372 text-decoration:none;
4373 }
4373 }
4374
4374
4375 /** LINE NUMBERS **/
4375 /** LINE NUMBERS **/
4376 table.code-difftable .lineno{
4376 table.code-difftable .lineno{
4377
4377
4378 padding-left:2px;
4378 padding-left:2px;
4379 padding-right:2px;
4379 padding-right:2px;
4380 text-align:right;
4380 text-align:right;
4381 width:32px;
4381 width:32px;
4382 -moz-user-select:none;
4382 -moz-user-select:none;
4383 -webkit-user-select: none;
4383 -webkit-user-select: none;
4384 border-right: 1px solid #CCC !important;
4384 border-right: 1px solid #CCC !important;
4385 border-left: 0px solid #CCC !important;
4385 border-left: 0px solid #CCC !important;
4386 border-top: 0px solid #CCC !important;
4386 border-top: 0px solid #CCC !important;
4387 border-bottom: none !important;
4387 border-bottom: none !important;
4388 vertical-align: middle !important;
4388 vertical-align: middle !important;
4389
4389
4390 }
4390 }
4391 table.code-difftable .lineno.new {
4391 table.code-difftable .lineno.new {
4392 }
4392 }
4393 table.code-difftable .lineno.old {
4393 table.code-difftable .lineno.old {
4394 }
4394 }
4395 table.code-difftable .lineno a{
4395 table.code-difftable .lineno a{
4396 color:#747474 !important;
4396 color:#747474 !important;
4397 font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
4397 font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
4398 letter-spacing:-1px;
4398 letter-spacing:-1px;
4399 text-align:right;
4399 text-align:right;
4400 padding-right: 2px;
4400 padding-right: 2px;
4401 cursor: pointer;
4401 cursor: pointer;
4402 display: block;
4402 display: block;
4403 width: 32px;
4403 width: 32px;
4404 }
4404 }
4405
4405
4406 table.code-difftable .lineno-inline{
4406 table.code-difftable .lineno-inline{
4407 background:none repeat scroll 0 0 #FFF !important;
4407 background:none repeat scroll 0 0 #FFF !important;
4408 padding-left:2px;
4408 padding-left:2px;
4409 padding-right:2px;
4409 padding-right:2px;
4410 text-align:right;
4410 text-align:right;
4411 width:30px;
4411 width:30px;
4412 -moz-user-select:none;
4412 -moz-user-select:none;
4413 -webkit-user-select: none;
4413 -webkit-user-select: none;
4414 }
4414 }
4415
4415
4416 /** CODE **/
4416 /** CODE **/
4417 table.code-difftable .code {
4417 table.code-difftable .code {
4418 display: block;
4418 display: block;
4419 width: 100%;
4419 width: 100%;
4420 }
4420 }
4421 table.code-difftable .code td{
4421 table.code-difftable .code td{
4422 margin:0;
4422 margin:0;
4423 padding:0;
4423 padding:0;
4424 }
4424 }
4425 table.code-difftable .code pre{
4425 table.code-difftable .code pre{
4426 margin:0;
4426 margin:0;
4427 padding:0;
4427 padding:0;
4428 height: 17px;
4428 height: 17px;
4429 line-height: 17px;
4429 line-height: 17px;
4430 }
4430 }
4431
4431
4432
4432
4433 .diffblock.margined.comm .line .code:hover{
4433 .diffblock.margined.comm .line .code:hover{
4434 background-color:#FFFFCC !important;
4434 background-color:#FFFFCC !important;
4435 cursor: pointer !important;
4435 cursor: pointer !important;
4436 background-image:url("../images/icons/comment_add.png") !important;
4436 background-image:url("../images/icons/comment_add.png") !important;
4437 background-repeat:no-repeat !important;
4437 background-repeat:no-repeat !important;
4438 background-position: right !important;
4438 background-position: right !important;
4439 background-position: 0% 50% !important;
4439 background-position: 0% 50% !important;
4440 }
4440 }
4441 .diffblock.margined.comm .line .code.no-comment:hover{
4441 .diffblock.margined.comm .line .code.no-comment:hover{
4442 background-image: none !important;
4442 background-image: none !important;
4443 cursor: auto !important;
4443 cursor: auto !important;
4444 background-color: inherit !important;
4444 background-color: inherit !important;
4445
4445
4446 }
4446 }
@@ -1,41 +1,61 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 ##usage:
2 ##usage:
3 ## <%namespace name="diff_block" file="/changeset/diff_block.html"/>
3 ## <%namespace name="diff_block" file="/changeset/diff_block.html"/>
4 ## ${diff_block.diff_block(changes)}
4 ## ${diff_block.diff_block(change)}
5 ##
5 ##
6 <%def name="diff_block(changes)">
6 <%def name="diff_block(change)">
7
7
8 %for change,filenode,diff,cs1,cs2,stat in changes:
8 %for op,filenode,diff,cs1,cs2,stat in change:
9 %if change !='removed':
9 %if op !='removed':
10 <div id="${h.FID(filenode.changeset.raw_id,filenode.path)}_target" style="clear:both;margin-top:25px"></div>
10 <div id="${h.FID(filenode.changeset.raw_id,filenode.path)}_target" style="clear:both;margin-top:25px"></div>
11 <div id="${h.FID(filenode.changeset.raw_id,filenode.path)}" class="diffblock margined comm">
11 <div id="${h.FID(filenode.changeset.raw_id,filenode.path)}" class="diffblock margined comm">
12 <div class="code-header">
12 <div class="code-header">
13 <div class="changeset_header">
13 <div class="changeset_header">
14 <div class="changeset_file">
14 <div class="changeset_file">
15 ${h.link_to_if(change!='removed',h.safe_unicode(filenode.path),h.url('files_home',repo_name=c.repo_name,
15 ${h.link_to_if(change!='removed',h.safe_unicode(filenode.path),h.url('files_home',repo_name=c.repo_name,
16 revision=filenode.changeset.raw_id,f_path=h.safe_unicode(filenode.path)))}
16 revision=filenode.changeset.raw_id,f_path=h.safe_unicode(filenode.path)))}
17 </div>
17 </div>
18 <div class="diff-actions">
18 <div class="diff-actions">
19 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='diff',fulldiff=1)}" title="${_('diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white_go.png')}"/></a>
19 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='diff',fulldiff=1)}" title="${_('diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white_go.png')}"/></a>
20 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='raw')}" title="${_('raw diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a>
20 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='raw')}" title="${_('raw diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a>
21 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='download')}" title="${_('download diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white_get.png')}"/></a>
21 <a href="${h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='download')}" title="${_('download diff')}" class="tooltip"><img class="icon" src="${h.url('/images/icons/page_white_get.png')}"/></a>
22 ${c.ignorews_url(request.GET, h.FID(filenode.changeset.raw_id,filenode.path))}
22 ${c.ignorews_url(request.GET, h.FID(filenode.changeset.raw_id,filenode.path))}
23 ${c.context_url(request.GET, h.FID(filenode.changeset.raw_id,filenode.path))}
23 ${c.context_url(request.GET, h.FID(filenode.changeset.raw_id,filenode.path))}
24 </div>
24 </div>
25 <span style="float:right;margin-top:-3px">
25 <span style="float:right;margin-top:-3px">
26 <label>
26 <label>
27 ${_('show inline comments')}
27 ${_('show inline comments')}
28 ${h.checkbox('',checked="checked",class_="show-inline-comments",id_for=h.FID(filenode.changeset.raw_id,filenode.path))}
28 ${h.checkbox('',checked="checked",class_="show-inline-comments",id_for=h.FID(filenode.changeset.raw_id,filenode.path))}
29 </label>
29 </label>
30 </span>
30 </span>
31 </div>
31 </div>
32 </div>
32 </div>
33 <div class="code-body">
33 <div class="code-body">
34 <div class="full_f_path" path="${h.safe_unicode(filenode.path)}"></div>
34 <div class="full_f_path" path="${h.safe_unicode(filenode.path)}"></div>
35 ${diff|n}
35 ${diff|n}
36 </div>
36 </div>
37 </div>
37 </div>
38 %endif
38 %endif
39 %endfor
39 %endfor
40
40
41 </%def>
41 </%def>
42
43 <%def name="diff_block_simple(change)">
44
45 %for op,filenode_path,diff in change:
46 <div id="${h.FID('',filenode_path)}_target" style="clear:both;margin-top:25px"></div>
47 <div id="${h.FID('',filenode_path)}" class="diffblock margined comm">
48 <div class="code-header">
49 <div class="changeset_header">
50 <div class="changeset_file">
51 <a href="#">${h.safe_unicode(filenode_path)}</a>
52 </div>
53 </div>
54 </div>
55 <div class="code-body">
56 <div class="full_f_path" path="${h.safe_unicode(filenode_path)}"></div>
57 ${diff|n}
58 </div>
59 </div>
60 %endfor
61 </%def> No newline at end of file
@@ -1,82 +1,90 b''
1 ## -*- coding: utf-8 -*-
1 ## -*- coding: utf-8 -*-
2 <%inherit file="/base/base.html"/>
2 <%inherit file="/base/base.html"/>
3
3
4 <%def name="title()">
4 <%def name="title()">
5 TODO FIll this in
5 ${c.repo_name} ${_('Compare')} ${'%s@%s' % (c.org_repo.repo_name, c.org_ref)} -> ${'%s@%s' % (c.other_repo.repo_name, c.other_ref)}
6 </%def>
6 </%def>
7
7
8 <%def name="breadcrumbs_links()">
8 <%def name="breadcrumbs_links()">
9 ${h.link_to(u'Home',h.url('/'))}
9 ${h.link_to(u'Home',h.url('/'))}
10 &raquo;
10 &raquo;
11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
11 ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
12 &raquo;
12 &raquo;
13 TODO!
13 ${_('Compare')}
14 </%def>
14 </%def>
15
15
16 <%def name="page_nav()">
16 <%def name="page_nav()">
17 ${self.menu('changelog')}
17 ${self.menu('changelog')}
18 </%def>
18 </%def>
19
19
20 <%def name="main()">
20 <%def name="main()">
21 <div class="box">
21 <div class="box">
22 <!-- box / title -->
22 <!-- box / title -->
23 <div class="title">
23 <div class="title">
24 ${self.breadcrumbs()}
24 ${self.breadcrumbs()}
25 </div>
25 </div>
26 <div class="table">
26 <div class="table">
27 <div id="body" class="diffblock">
27 <div id="body" class="diffblock">
28 <div class="code-header cv">
28 <div class="code-header cv">
29 <h3 class="code-header-title">${_('Compare View')}</h3>
29 <h3 class="code-header-title">${_('Compare View')}</h3>
30 <div>
30 <div>
31 ${'%s@%s' % (c.org_repo.repo_name, c.org_ref)} -> ${'%s@%s' % (c.other_repo.repo_name, c.other_ref)}
31 ${'%s@%s' % (c.org_repo.repo_name, c.org_ref)} -> ${'%s@%s' % (c.other_repo.repo_name, c.other_ref)}
32 </div>
32 </div>
33 </div>
33 </div>
34 </div>
34 </div>
35 <div id="changeset_compare_view_content">
35 <div id="changeset_compare_view_content">
36 <div class="container">
36 <div class="container">
37 <table class="compare_view_commits noborder">
37 <table class="compare_view_commits noborder">
38 %for cnt,cs in enumerate(c.cs_ranges):
38 %for cnt, cs in enumerate(c.cs_ranges):
39 <tr>
39 <tr>
40 <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),14)}"/></div></td>
40 <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),14)}"/></div></td>
41 <td>${h.link_to('r%s:%s' % (cs.revision,h.short_id(cs.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</td>
41 <td>${h.link_to('r%s:%s' % (cs.revision,h.short_id(cs.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</td>
42 <td><div class="author">${h.person(cs.author)}</div></td>
42 <td><div class="author">${h.person(cs.author)}</div></td>
43 <td><span class="tooltip" title="${h.age(cs.date)}">${cs.date}</span></td>
43 <td><span class="tooltip" title="${h.age(cs.date)}">${cs.date}</span></td>
44 <td>
44 <td>
45 %if hasattr(c,'statuses') and c.statuses:
45 %if hasattr(c,'statuses') and c.statuses:
46 <div title="${_('Changeset status')}" class="changeset-status-ico"><img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses[cnt])}" /></div>
46 <div title="${_('Changeset status')}" class="changeset-status-ico"><img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses[cnt])}" /></div>
47 %endif
47 %endif
48 </td>
48 </td>
49 <td><div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name)}</div></td>
49 <td><div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name)}</div></td>
50 </tr>
50 </tr>
51 %endfor
51 %endfor
52 </table>
52 </table>
53 </div>
53 </div>
54 <div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px">${_('Files affected')}</div>
54 <div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px">${_('Files affected')}</div>
55 <div class="cs_files">
55 <div class="cs_files">
56 %for change,filenode,diff,cs1,cs2,st in c.changes[cs.raw_id]:
56 %for fid, change, f, stat in c.files:
57 <div class="cs_${change}">${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor=h.FID(cs.raw_id,filenode.path)))}</div>
57 <div class="cs_${change}">
58 <div class="node">${h.link_to(h.safe_unicode(f),h.url.current(anchor=fid))}</div>
59 <div class="changes">${h.fancy_file_stats(stat)}</div>
60 </div>
58 %endfor
61 %endfor
59 </div>
62 </div>
60 </div>
63 </div>
64 </div>
61
65
62 </div>
66 ## diff block
67 <%namespace name="diff_block" file="/changeset/diff_block.html"/>
68 %for fid, change, f, stat in c.files:
69 ${diff_block.diff_block_simple([c.changes[fid]])}
70 %endfor
63
71
64 <script type="text/javascript">
72 <script type="text/javascript">
65
73
66 YUE.onDOMReady(function(){
74 YUE.onDOMReady(function(){
67
75
68 YUE.on(YUQ('.diff-menu-activate'),'click',function(e){
76 YUE.on(YUQ('.diff-menu-activate'),'click',function(e){
69 var act = e.currentTarget.nextElementSibling;
77 var act = e.currentTarget.nextElementSibling;
70
78
71 if(YUD.hasClass(act,'active')){
79 if(YUD.hasClass(act,'active')){
72 YUD.removeClass(act,'active');
80 YUD.removeClass(act,'active');
73 YUD.setStyle(act,'display','none');
81 YUD.setStyle(act,'display','none');
74 }else{
82 }else{
75 YUD.addClass(act,'active');
83 YUD.addClass(act,'active');
76 YUD.setStyle(act,'display','');
84 YUD.setStyle(act,'display','');
77 }
85 }
78 });
86 });
79 })
87 })
80 </script>
88 </script>
81 </div>
89 </div>
82 </%def>
90 </%def>
General Comments 0
You need to be logged in to leave comments. Login now