##// END OF EJS Templates
Highlight current per-page selection (#21258)....
Jean-Philippe Lang -
r14567:6a824ee2ec63
parent child
Show More
@@ -1,266 +1,266
1 # encoding: utf-8
1 # encoding: utf-8
2 #
2 #
3 # Redmine - project management software
3 # Redmine - project management software
4 # Copyright (C) 2006-2015 Jean-Philippe Lang
4 # Copyright (C) 2006-2015 Jean-Philippe Lang
5 #
5 #
6 # This program is free software; you can redistribute it and/or
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2
8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version.
9 # of the License, or (at your option) any later version.
10 #
10 #
11 # This program is distributed in the hope that it will be useful,
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
14 # GNU General Public License for more details.
15 #
15 #
16 # You should have received a copy of the GNU General Public License
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
19
20 module Redmine
20 module Redmine
21 module Pagination
21 module Pagination
22 class Paginator
22 class Paginator
23 attr_reader :item_count, :per_page, :page, :page_param
23 attr_reader :item_count, :per_page, :page, :page_param
24
24
25 def initialize(*args)
25 def initialize(*args)
26 if args.first.is_a?(ActionController::Base)
26 if args.first.is_a?(ActionController::Base)
27 args.shift
27 args.shift
28 ActiveSupport::Deprecation.warn "Paginator no longer takes a controller instance as the first argument. Remove it from #new arguments."
28 ActiveSupport::Deprecation.warn "Paginator no longer takes a controller instance as the first argument. Remove it from #new arguments."
29 end
29 end
30 item_count, per_page, page, page_param = *args
30 item_count, per_page, page, page_param = *args
31
31
32 @item_count = item_count
32 @item_count = item_count
33 @per_page = per_page
33 @per_page = per_page
34 page = (page || 1).to_i
34 page = (page || 1).to_i
35 if page < 1
35 if page < 1
36 page = 1
36 page = 1
37 end
37 end
38 @page = page
38 @page = page
39 @page_param = page_param || :page
39 @page_param = page_param || :page
40 end
40 end
41
41
42 def offset
42 def offset
43 (page - 1) * per_page
43 (page - 1) * per_page
44 end
44 end
45
45
46 def first_page
46 def first_page
47 if item_count > 0
47 if item_count > 0
48 1
48 1
49 end
49 end
50 end
50 end
51
51
52 def previous_page
52 def previous_page
53 if page > 1
53 if page > 1
54 page - 1
54 page - 1
55 end
55 end
56 end
56 end
57
57
58 def next_page
58 def next_page
59 if last_item < item_count
59 if last_item < item_count
60 page + 1
60 page + 1
61 end
61 end
62 end
62 end
63
63
64 def last_page
64 def last_page
65 if item_count > 0
65 if item_count > 0
66 (item_count - 1) / per_page + 1
66 (item_count - 1) / per_page + 1
67 end
67 end
68 end
68 end
69
69
70 def multiple_pages?
70 def multiple_pages?
71 per_page < item_count
71 per_page < item_count
72 end
72 end
73
73
74 def first_item
74 def first_item
75 item_count == 0 ? 0 : (offset + 1)
75 item_count == 0 ? 0 : (offset + 1)
76 end
76 end
77
77
78 def last_item
78 def last_item
79 l = first_item + per_page - 1
79 l = first_item + per_page - 1
80 l > item_count ? item_count : l
80 l > item_count ? item_count : l
81 end
81 end
82
82
83 def linked_pages
83 def linked_pages
84 pages = []
84 pages = []
85 if item_count > 0
85 if item_count > 0
86 pages += [first_page, page, last_page]
86 pages += [first_page, page, last_page]
87 pages += ((page-2)..(page+2)).to_a.select {|p| p > first_page && p < last_page}
87 pages += ((page-2)..(page+2)).to_a.select {|p| p > first_page && p < last_page}
88 end
88 end
89 pages = pages.compact.uniq.sort
89 pages = pages.compact.uniq.sort
90 if pages.size > 1
90 if pages.size > 1
91 pages
91 pages
92 else
92 else
93 []
93 []
94 end
94 end
95 end
95 end
96
96
97 def items_per_page
97 def items_per_page
98 ActiveSupport::Deprecation.warn "Paginator#items_per_page will be removed. Use #per_page instead."
98 ActiveSupport::Deprecation.warn "Paginator#items_per_page will be removed. Use #per_page instead."
99 per_page
99 per_page
100 end
100 end
101
101
102 def current
102 def current
103 ActiveSupport::Deprecation.warn "Paginator#current will be removed. Use .offset instead of .current.offset."
103 ActiveSupport::Deprecation.warn "Paginator#current will be removed. Use .offset instead of .current.offset."
104 self
104 self
105 end
105 end
106 end
106 end
107
107
108 # Paginates the given scope or model. Returns a Paginator instance and
108 # Paginates the given scope or model. Returns a Paginator instance and
109 # the collection of objects for the current page.
109 # the collection of objects for the current page.
110 #
110 #
111 # Options:
111 # Options:
112 # :parameter name of the page parameter
112 # :parameter name of the page parameter
113 #
113 #
114 # Examples:
114 # Examples:
115 # @user_pages, @users = paginate User.where(:status => 1)
115 # @user_pages, @users = paginate User.where(:status => 1)
116 #
116 #
117 def paginate(scope, options={})
117 def paginate(scope, options={})
118 options = options.dup
118 options = options.dup
119 finder_options = options.extract!(
119 finder_options = options.extract!(
120 :conditions,
120 :conditions,
121 :order,
121 :order,
122 :joins,
122 :joins,
123 :include,
123 :include,
124 :select
124 :select
125 )
125 )
126 if scope.is_a?(Symbol) || finder_options.values.compact.any?
126 if scope.is_a?(Symbol) || finder_options.values.compact.any?
127 return deprecated_paginate(scope, finder_options, options)
127 return deprecated_paginate(scope, finder_options, options)
128 end
128 end
129
129
130 paginator = paginator(scope.count, options)
130 paginator = paginator(scope.count, options)
131 collection = scope.limit(paginator.per_page).offset(paginator.offset).to_a
131 collection = scope.limit(paginator.per_page).offset(paginator.offset).to_a
132
132
133 return paginator, collection
133 return paginator, collection
134 end
134 end
135
135
136 def deprecated_paginate(arg, finder_options, options={})
136 def deprecated_paginate(arg, finder_options, options={})
137 ActiveSupport::Deprecation.warn "#paginate with a Symbol and/or find options is depreceted and will be removed. Use a scope instead."
137 ActiveSupport::Deprecation.warn "#paginate with a Symbol and/or find options is depreceted and will be removed. Use a scope instead."
138 klass = arg.is_a?(Symbol) ? arg.to_s.classify.constantize : arg
138 klass = arg.is_a?(Symbol) ? arg.to_s.classify.constantize : arg
139 scope = klass.scoped(finder_options)
139 scope = klass.scoped(finder_options)
140 paginate(scope, options)
140 paginate(scope, options)
141 end
141 end
142
142
143 def paginator(item_count, options={})
143 def paginator(item_count, options={})
144 options.assert_valid_keys :parameter, :per_page
144 options.assert_valid_keys :parameter, :per_page
145
145
146 page_param = options[:parameter] || :page
146 page_param = options[:parameter] || :page
147 page = (params[page_param] || 1).to_i
147 page = (params[page_param] || 1).to_i
148 per_page = options[:per_page] || per_page_option
148 per_page = options[:per_page] || per_page_option
149 Paginator.new(item_count, per_page, page, page_param)
149 Paginator.new(item_count, per_page, page, page_param)
150 end
150 end
151
151
152 module Helper
152 module Helper
153 include Redmine::I18n
153 include Redmine::I18n
154
154
155 # Renders the pagination links for the given paginator.
155 # Renders the pagination links for the given paginator.
156 #
156 #
157 # Options:
157 # Options:
158 # :per_page_links if set to false, the "Per page" links are not rendered
158 # :per_page_links if set to false, the "Per page" links are not rendered
159 #
159 #
160 def pagination_links_full(*args)
160 def pagination_links_full(*args)
161 pagination_links_each(*args) do |text, parameters, options|
161 pagination_links_each(*args) do |text, parameters, options|
162 if block_given?
162 if block_given?
163 yield text, parameters, options
163 yield text, parameters, options
164 else
164 else
165 link_to text, params.merge(parameters), options
165 link_to text, params.merge(parameters), options
166 end
166 end
167 end
167 end
168 end
168 end
169
169
170 # Yields the given block with the text and parameters
170 # Yields the given block with the text and parameters
171 # for each pagination link and returns a string that represents the links
171 # for each pagination link and returns a string that represents the links
172 def pagination_links_each(paginator, count=nil, options={}, &block)
172 def pagination_links_each(paginator, count=nil, options={}, &block)
173 options.assert_valid_keys :per_page_links
173 options.assert_valid_keys :per_page_links
174
174
175 per_page_links = options.delete(:per_page_links)
175 per_page_links = options.delete(:per_page_links)
176 per_page_links = false if count.nil?
176 per_page_links = false if count.nil?
177 page_param = paginator.page_param
177 page_param = paginator.page_param
178
178
179 html = '<ul class="pages">'
179 html = '<ul class="pages">'
180
180
181 if paginator.multiple_pages?
181 if paginator.multiple_pages?
182 # \xc2\xab(utf-8) = &#171;
182 # \xc2\xab(utf-8) = &#171;
183 text = "\xc2\xab " + l(:label_previous)
183 text = "\xc2\xab " + l(:label_previous)
184 if paginator.previous_page
184 if paginator.previous_page
185 html << content_tag('li',
185 html << content_tag('li',
186 yield(text, {page_param => paginator.previous_page},
186 yield(text, {page_param => paginator.previous_page},
187 :accesskey => accesskey(:previous)),
187 :accesskey => accesskey(:previous)),
188 :class => 'previous page')
188 :class => 'previous page')
189 else
189 else
190 html << content_tag('li', content_tag('span', text), :class => 'previous')
190 html << content_tag('li', content_tag('span', text), :class => 'previous')
191 end
191 end
192 end
192 end
193
193
194 previous = nil
194 previous = nil
195 paginator.linked_pages.each do |page|
195 paginator.linked_pages.each do |page|
196 if previous && previous != page - 1
196 if previous && previous != page - 1
197 html << content_tag('li', content_tag('span', '&hellip;'.html_safe), :class => 'spacer')
197 html << content_tag('li', content_tag('span', '&hellip;'.html_safe), :class => 'spacer')
198 end
198 end
199 if page == paginator.page
199 if page == paginator.page
200 html << content_tag('li', content_tag('span', page.to_s), :class => 'current')
200 html << content_tag('li', content_tag('span', page.to_s), :class => 'current')
201 else
201 else
202 html << content_tag('li',
202 html << content_tag('li',
203 yield(page.to_s, {page_param => page}),
203 yield(page.to_s, {page_param => page}),
204 :class => 'page')
204 :class => 'page')
205 end
205 end
206 previous = page
206 previous = page
207 end
207 end
208
208
209 if paginator.multiple_pages?
209 if paginator.multiple_pages?
210 # \xc2\xbb(utf-8) = &#187;
210 # \xc2\xbb(utf-8) = &#187;
211 text = l(:label_next) + " \xc2\xbb"
211 text = l(:label_next) + " \xc2\xbb"
212 if paginator.next_page
212 if paginator.next_page
213 html << content_tag('li',
213 html << content_tag('li',
214 yield(text, {page_param => paginator.next_page},
214 yield(text, {page_param => paginator.next_page},
215 :accesskey => accesskey(:next)),
215 :accesskey => accesskey(:next)),
216 :class => 'next page')
216 :class => 'next page')
217 else
217 else
218 html << content_tag('li', content_tag('span', text), :class => 'next')
218 html << content_tag('li', content_tag('span', text), :class => 'next')
219 end
219 end
220 end
220 end
221 html << '</ul>'
221 html << '</ul>'
222
222
223 info = ''.html_safe
223 info = ''.html_safe
224 info << content_tag('span', "(#{paginator.first_item}-#{paginator.last_item}/#{paginator.item_count})", :class => 'items') + ' '
224 info << content_tag('span', "(#{paginator.first_item}-#{paginator.last_item}/#{paginator.item_count})", :class => 'items') + ' '
225 if per_page_links != false && links = per_page_links(paginator, &block)
225 if per_page_links != false && links = per_page_links(paginator, &block)
226 info << content_tag('span', links.to_s, :class => 'per-page')
226 info << content_tag('span', links.to_s, :class => 'per-page')
227 end
227 end
228 html << content_tag('span', info)
228 html << content_tag('span', info)
229
229
230 html.html_safe
230 html.html_safe
231 end
231 end
232
232
233 # Renders the "Per page" links.
233 # Renders the "Per page" links.
234 def per_page_links(paginator, &block)
234 def per_page_links(paginator, &block)
235 values = per_page_options(paginator.per_page, paginator.item_count)
235 values = per_page_options(paginator.per_page, paginator.item_count)
236 if values.any?
236 if values.any?
237 links = values.collect do |n|
237 links = values.collect do |n|
238 if n == paginator.per_page
238 if n == paginator.per_page
239 content_tag('span', n.to_s)
239 content_tag('span', n.to_s, :class => 'selected')
240 else
240 else
241 yield(n, :per_page => n, paginator.page_param => nil)
241 yield(n, :per_page => n, paginator.page_param => nil)
242 end
242 end
243 end
243 end
244 l(:label_display_per_page, links.join(', ')).html_safe
244 l(:label_display_per_page, links.join(', ')).html_safe
245 end
245 end
246 end
246 end
247
247
248 def per_page_options(selected=nil, item_count=nil)
248 def per_page_options(selected=nil, item_count=nil)
249 options = Setting.per_page_options_array
249 options = Setting.per_page_options_array
250 if item_count && options.any?
250 if item_count && options.any?
251 if item_count > options.first
251 if item_count > options.first
252 max = options.detect {|value| value >= item_count} || item_count
252 max = options.detect {|value| value >= item_count} || item_count
253 else
253 else
254 max = item_count
254 max = item_count
255 end
255 end
256 options = options.select {|value| value <= max || value == selected}
256 options = options.select {|value| value <= max || value == selected}
257 end
257 end
258 if options.empty? || (options.size == 1 && options.first == selected)
258 if options.empty? || (options.size == 1 && options.first == selected)
259 []
259 []
260 else
260 else
261 options
261 options
262 end
262 end
263 end
263 end
264 end
264 end
265 end
265 end
266 end
266 end
@@ -1,1309 +1,1312
1 html {overflow-y:scroll;}
1 html {overflow-y:scroll;}
2 body { font-family: Verdana, sans-serif; font-size: 12px; color:#333; margin: 0; padding: 0; min-width: 900px; }
2 body { font-family: Verdana, sans-serif; font-size: 12px; color:#333; margin: 0; padding: 0; min-width: 900px; }
3
3
4 h1, h2, h3, h4 {font-family: "Trebuchet MS", Verdana, sans-serif;padding: 2px 10px 1px 0px;margin: 0 0 10px 0;}
4 h1, h2, h3, h4 {font-family: "Trebuchet MS", Verdana, sans-serif;padding: 2px 10px 1px 0px;margin: 0 0 10px 0;}
5 #content h1, h2, h3, h4 {color: #555;}
5 #content h1, h2, h3, h4 {color: #555;}
6 h2, .wiki h1 {font-size: 20px;}
6 h2, .wiki h1 {font-size: 20px;}
7 h3, .wiki h2 {font-size: 16px;}
7 h3, .wiki h2 {font-size: 16px;}
8 h4, .wiki h3 {font-size: 13px;}
8 h4, .wiki h3 {font-size: 13px;}
9 h4 {border-bottom: 1px dotted #bbb;}
9 h4 {border-bottom: 1px dotted #bbb;}
10 pre, code {font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace;}
10 pre, code {font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace;}
11
11
12 /***** Layout *****/
12 /***** Layout *****/
13 #wrapper {background: white;}
13 #wrapper {background: white;}
14
14
15 #top-menu {background: #3E5B76; color: #fff; height:1.8em; font-size: 0.8em; padding: 2px 2px 0px 6px;}
15 #top-menu {background: #3E5B76; color: #fff; height:1.8em; font-size: 0.8em; padding: 2px 2px 0px 6px;}
16 #top-menu ul {margin: 0; padding: 0;}
16 #top-menu ul {margin: 0; padding: 0;}
17 #top-menu li {
17 #top-menu li {
18 float:left;
18 float:left;
19 list-style-type:none;
19 list-style-type:none;
20 margin: 0px 0px 0px 0px;
20 margin: 0px 0px 0px 0px;
21 padding: 0px 0px 0px 0px;
21 padding: 0px 0px 0px 0px;
22 white-space:nowrap;
22 white-space:nowrap;
23 }
23 }
24 #top-menu a {color: #fff; margin-right: 8px; font-weight: bold;}
24 #top-menu a {color: #fff; margin-right: 8px; font-weight: bold;}
25 #top-menu #loggedas { float: right; margin-right: 0.5em; color: #fff; }
25 #top-menu #loggedas { float: right; margin-right: 0.5em; color: #fff; }
26
26
27 #account {float:right;}
27 #account {float:right;}
28
28
29 #header {min-height:5.3em;margin:0;background-color:#628DB6;color:#f8f8f8; padding: 4px 8px 20px 6px; position:relative;}
29 #header {min-height:5.3em;margin:0;background-color:#628DB6;color:#f8f8f8; padding: 4px 8px 20px 6px; position:relative;}
30 #header a {color:#f8f8f8;}
30 #header a {color:#f8f8f8;}
31 #header h1 a.ancestor { font-size: 80%; }
31 #header h1 a.ancestor { font-size: 80%; }
32 #quick-search {float:right;}
32 #quick-search {float:right;}
33
33
34 #main-menu {position: absolute; bottom: 0px; left:6px; margin-right: -500px;}
34 #main-menu {position: absolute; bottom: 0px; left:6px; margin-right: -500px;}
35 #main-menu ul {margin: 0; padding: 0;}
35 #main-menu ul {margin: 0; padding: 0;}
36 #main-menu li {
36 #main-menu li {
37 float:left;
37 float:left;
38 list-style-type:none;
38 list-style-type:none;
39 margin: 0px 2px 0px 0px;
39 margin: 0px 2px 0px 0px;
40 padding: 0px 0px 0px 0px;
40 padding: 0px 0px 0px 0px;
41 white-space:nowrap;
41 white-space:nowrap;
42 }
42 }
43 #main-menu li a {
43 #main-menu li a {
44 display: block;
44 display: block;
45 color: #fff;
45 color: #fff;
46 text-decoration: none;
46 text-decoration: none;
47 font-weight: bold;
47 font-weight: bold;
48 margin: 0;
48 margin: 0;
49 padding: 4px 10px 4px 10px;
49 padding: 4px 10px 4px 10px;
50 }
50 }
51 #main-menu li a:hover {background:#759FCF; color:#fff;}
51 #main-menu li a:hover {background:#759FCF; color:#fff;}
52 #main-menu li a.selected, #main-menu li a.selected:hover {background:#fff; color:#555;}
52 #main-menu li a.selected, #main-menu li a.selected:hover {background:#fff; color:#555;}
53
53
54 #admin-menu ul {margin: 0; padding: 0;}
54 #admin-menu ul {margin: 0; padding: 0;}
55 #admin-menu li {margin: 0; padding: 0 0 6px 0; list-style-type:none;}
55 #admin-menu li {margin: 0; padding: 0 0 6px 0; list-style-type:none;}
56
56
57 #admin-menu a { background-position: 0% 40%; background-repeat: no-repeat; padding-left: 20px; padding-top: 2px; padding-bottom: 3px;}
57 #admin-menu a { background-position: 0% 40%; background-repeat: no-repeat; padding-left: 20px; padding-top: 2px; padding-bottom: 3px;}
58 #admin-menu a.projects { background-image: url(../images/projects.png); }
58 #admin-menu a.projects { background-image: url(../images/projects.png); }
59 #admin-menu a.users { background-image: url(../images/user.png); }
59 #admin-menu a.users { background-image: url(../images/user.png); }
60 #admin-menu a.groups { background-image: url(../images/group.png); }
60 #admin-menu a.groups { background-image: url(../images/group.png); }
61 #admin-menu a.roles { background-image: url(../images/database_key.png); }
61 #admin-menu a.roles { background-image: url(../images/database_key.png); }
62 #admin-menu a.trackers { background-image: url(../images/ticket.png); }
62 #admin-menu a.trackers { background-image: url(../images/ticket.png); }
63 #admin-menu a.issue_statuses { background-image: url(../images/ticket_edit.png); }
63 #admin-menu a.issue_statuses { background-image: url(../images/ticket_edit.png); }
64 #admin-menu a.workflows { background-image: url(../images/ticket_go.png); }
64 #admin-menu a.workflows { background-image: url(../images/ticket_go.png); }
65 #admin-menu a.custom_fields { background-image: url(../images/textfield.png); }
65 #admin-menu a.custom_fields { background-image: url(../images/textfield.png); }
66 #admin-menu a.enumerations { background-image: url(../images/text_list_bullets.png); }
66 #admin-menu a.enumerations { background-image: url(../images/text_list_bullets.png); }
67 #admin-menu a.settings { background-image: url(../images/changeset.png); }
67 #admin-menu a.settings { background-image: url(../images/changeset.png); }
68 #admin-menu a.plugins { background-image: url(../images/plugin.png); }
68 #admin-menu a.plugins { background-image: url(../images/plugin.png); }
69 #admin-menu a.info { background-image: url(../images/help.png); }
69 #admin-menu a.info { background-image: url(../images/help.png); }
70 #admin-menu a.server_authentication { background-image: url(../images/server_key.png); }
70 #admin-menu a.server_authentication { background-image: url(../images/server_key.png); }
71
71
72 #main {background-color:#EEEEEE;}
72 #main {background-color:#EEEEEE;}
73
73
74 #sidebar{ float: right; width: 22%; position: relative; z-index: 9; padding: 0; margin: 0;}
74 #sidebar{ float: right; width: 22%; position: relative; z-index: 9; padding: 0; margin: 0;}
75 * html #sidebar{ width: 22%; }
75 * html #sidebar{ width: 22%; }
76 #sidebar h3{ font-size: 14px; margin-top:14px; color: #666; }
76 #sidebar h3{ font-size: 14px; margin-top:14px; color: #666; }
77 #sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; }
77 #sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; }
78 * html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; }
78 * html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; }
79 #sidebar .contextual { margin-right: 1em; }
79 #sidebar .contextual { margin-right: 1em; }
80 #sidebar ul, ul.flat {margin: 0; padding: 0;}
80 #sidebar ul, ul.flat {margin: 0; padding: 0;}
81 #sidebar ul li, ul.flat li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;}
81 #sidebar ul li, ul.flat li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;}
82
82
83 #content { width: 75%; background-color: #fff; margin: 0px; border-right: 1px solid #ddd; padding: 6px 10px 10px 10px; z-index: 10; }
83 #content { width: 75%; background-color: #fff; margin: 0px; border-right: 1px solid #ddd; padding: 6px 10px 10px 10px; z-index: 10; }
84 * html #content{ width: 75%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
84 * html #content{ width: 75%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
85 html>body #content { min-height: 600px; }
85 html>body #content { min-height: 600px; }
86 * html body #content { height: 600px; } /* IE */
86 * html body #content { height: 600px; } /* IE */
87
87
88 #main.nosidebar #sidebar{ display: none; }
88 #main.nosidebar #sidebar{ display: none; }
89 #main.nosidebar #content{ width: auto; border-right: 0; }
89 #main.nosidebar #content{ width: auto; border-right: 0; }
90
90
91 #footer {clear: both; border-top: 1px solid #bbb; font-size: 0.9em; color: #aaa; padding: 5px; text-align:center; background:#fff;}
91 #footer {clear: both; border-top: 1px solid #bbb; font-size: 0.9em; color: #aaa; padding: 5px; text-align:center; background:#fff;}
92
92
93 #login-form table {margin-top:5em; padding:1em; margin-left: auto; margin-right: auto; border: 2px solid #FDBF3B; background-color:#FFEBC1; }
93 #login-form table {margin-top:5em; padding:1em; margin-left: auto; margin-right: auto; border: 2px solid #FDBF3B; background-color:#FFEBC1; }
94 #login-form table td {padding: 6px;}
94 #login-form table td {padding: 6px;}
95 #login-form label {font-weight: bold;}
95 #login-form label {font-weight: bold;}
96 #login-form input#username, #login-form input#password { width: 300px; }
96 #login-form input#username, #login-form input#password { width: 300px; }
97
97
98 div.modal { border-radius:5px; background:#fff; z-index:50; padding:4px;}
98 div.modal { border-radius:5px; background:#fff; z-index:50; padding:4px;}
99 div.modal h3.title {display:none;}
99 div.modal h3.title {display:none;}
100 div.modal p.buttons {text-align:right; margin-bottom:0;}
100 div.modal p.buttons {text-align:right; margin-bottom:0;}
101 div.modal .box p {margin: 0.3em 0;}
101 div.modal .box p {margin: 0.3em 0;}
102
102
103 input#openid_url { background: url(../images/openid-bg.gif) no-repeat; background-color: #fff; background-position: 0 50%; padding-left: 18px; }
103 input#openid_url { background: url(../images/openid-bg.gif) no-repeat; background-color: #fff; background-position: 0 50%; padding-left: 18px; }
104
104
105 .clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
105 .clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
106
106
107 .mobile-show {display: none;}
107 .mobile-show {display: none;}
108
108
109 /***** Links *****/
109 /***** Links *****/
110 a, a:link, a:visited{ color: #169; text-decoration: none; }
110 a, a:link, a:visited{ color: #169; text-decoration: none; }
111 a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
111 a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
112 a img{ border: 0; }
112 a img{ border: 0; }
113
113
114 a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; }
114 a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; }
115 a.project.closed, a.project.closed:link, a.project.closed:visited { color: #999; }
115 a.project.closed, a.project.closed:link, a.project.closed:visited { color: #999; }
116 a.user.locked, a.user.locked:link, a.user.locked:visited {color: #999;}
116 a.user.locked, a.user.locked:link, a.user.locked:visited {color: #999;}
117
117
118 #sidebar a.selected {line-height:1.7em; padding:1px 3px 2px 2px; margin-left:-2px; background-color:#9DB9D5; color:#fff; border-radius:2px;}
118 #sidebar a.selected {line-height:1.7em; padding:1px 3px 2px 2px; margin-left:-2px; background-color:#9DB9D5; color:#fff; border-radius:2px;}
119 #sidebar a.selected:hover {text-decoration:none;}
119 #sidebar a.selected:hover {text-decoration:none;}
120 #admin-menu a {line-height:1.7em;}
120 #admin-menu a {line-height:1.7em;}
121 #admin-menu a.selected {padding-left: 20px !important; background-position: 2px 40%;}
121 #admin-menu a.selected {padding-left: 20px !important; background-position: 2px 40%;}
122
122
123 a.collapsible {padding-left: 12px; background: url(../images/arrow_expanded.png) no-repeat -3px 40%;}
123 a.collapsible {padding-left: 12px; background: url(../images/arrow_expanded.png) no-repeat -3px 40%;}
124 a.collapsible.collapsed {background: url(../images/arrow_collapsed.png) no-repeat -5px 40%;}
124 a.collapsible.collapsed {background: url(../images/arrow_collapsed.png) no-repeat -5px 40%;}
125
125
126 a#toggle-completed-versions {color:#999;}
126 a#toggle-completed-versions {color:#999;}
127 /***** Tables *****/
127 /***** Tables *****/
128 table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
128 table.list { border: 1px solid #e4e4e4; border-collapse: collapse; width: 100%; margin-bottom: 4px; }
129 table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
129 table.list th { background-color:#EEEEEE; padding: 4px; white-space:nowrap; }
130 table.list td {text-align:center; vertical-align:top; padding-right:10px;}
130 table.list td {text-align:center; vertical-align:top; padding-right:10px;}
131 table.list td.id { width: 2%; text-align: center;}
131 table.list td.id { width: 2%; text-align: center;}
132 table.list td.name, table.list td.description, table.list td.subject, table.list td.comments, table.list td.roles {text-align: left;}
132 table.list td.name, table.list td.description, table.list td.subject, table.list td.comments, table.list td.roles {text-align: left;}
133 table.list td.tick {width:15%}
133 table.list td.tick {width:15%}
134 table.list td.checkbox { width: 15px; padding: 2px 0 0 0; }
134 table.list td.checkbox { width: 15px; padding: 2px 0 0 0; }
135 table.list td.checkbox input {padding:0px;}
135 table.list td.checkbox input {padding:0px;}
136 table.list td.buttons { width: 15%; white-space:nowrap; text-align: right; }
136 table.list td.buttons { width: 15%; white-space:nowrap; text-align: right; }
137 table.list td.buttons a { padding-right: 0.6em; }
137 table.list td.buttons a { padding-right: 0.6em; }
138 table.list td.buttons img {vertical-align:middle;}
138 table.list td.buttons img {vertical-align:middle;}
139 table.list td.reorder {width:15%; white-space:nowrap; text-align:center; }
139 table.list td.reorder {width:15%; white-space:nowrap; text-align:center; }
140 table.list caption { text-align: left; padding: 0.5em 0.5em 0.5em 0; }
140 table.list caption { text-align: left; padding: 0.5em 0.5em 0.5em 0; }
141
141
142 tr.project td.name a { white-space:nowrap; }
142 tr.project td.name a { white-space:nowrap; }
143 tr.project.closed, tr.project.archived { color: #aaa; }
143 tr.project.closed, tr.project.archived { color: #aaa; }
144 tr.project.closed a, tr.project.archived a { color: #aaa; }
144 tr.project.closed a, tr.project.archived a { color: #aaa; }
145
145
146 tr.project.idnt td.name span {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
146 tr.project.idnt td.name span {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
147 tr.project.idnt-1 td.name {padding-left: 0.5em;}
147 tr.project.idnt-1 td.name {padding-left: 0.5em;}
148 tr.project.idnt-2 td.name {padding-left: 2em;}
148 tr.project.idnt-2 td.name {padding-left: 2em;}
149 tr.project.idnt-3 td.name {padding-left: 3.5em;}
149 tr.project.idnt-3 td.name {padding-left: 3.5em;}
150 tr.project.idnt-4 td.name {padding-left: 5em;}
150 tr.project.idnt-4 td.name {padding-left: 5em;}
151 tr.project.idnt-5 td.name {padding-left: 6.5em;}
151 tr.project.idnt-5 td.name {padding-left: 6.5em;}
152 tr.project.idnt-6 td.name {padding-left: 8em;}
152 tr.project.idnt-6 td.name {padding-left: 8em;}
153 tr.project.idnt-7 td.name {padding-left: 9.5em;}
153 tr.project.idnt-7 td.name {padding-left: 9.5em;}
154 tr.project.idnt-8 td.name {padding-left: 11em;}
154 tr.project.idnt-8 td.name {padding-left: 11em;}
155 tr.project.idnt-9 td.name {padding-left: 12.5em;}
155 tr.project.idnt-9 td.name {padding-left: 12.5em;}
156
156
157 tr.issue { text-align: center; white-space: nowrap; }
157 tr.issue { text-align: center; white-space: nowrap; }
158 tr.issue td.subject, tr.issue td.category, td.assigned_to, tr.issue td.string, tr.issue td.text, tr.issue td.relations, tr.issue td.parent { white-space: normal; }
158 tr.issue td.subject, tr.issue td.category, td.assigned_to, tr.issue td.string, tr.issue td.text, tr.issue td.relations, tr.issue td.parent { white-space: normal; }
159 tr.issue td.relations { text-align: left; }
159 tr.issue td.relations { text-align: left; }
160 tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
160 tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
161 tr.issue td.relations span {white-space: nowrap;}
161 tr.issue td.relations span {white-space: nowrap;}
162 table.issues td.description {color:#777; font-size:90%; padding:4px 4px 4px 24px; text-align:left; white-space:normal;}
162 table.issues td.description {color:#777; font-size:90%; padding:4px 4px 4px 24px; text-align:left; white-space:normal;}
163 table.issues td.description pre {white-space:normal;}
163 table.issues td.description pre {white-space:normal;}
164
164
165 tr.issue.idnt td.subject a {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
165 tr.issue.idnt td.subject a {background: url(../images/bullet_arrow_right.png) no-repeat 0 50%; padding-left: 16px;}
166 tr.issue.idnt-1 td.subject {padding-left: 0.5em;}
166 tr.issue.idnt-1 td.subject {padding-left: 0.5em;}
167 tr.issue.idnt-2 td.subject {padding-left: 2em;}
167 tr.issue.idnt-2 td.subject {padding-left: 2em;}
168 tr.issue.idnt-3 td.subject {padding-left: 3.5em;}
168 tr.issue.idnt-3 td.subject {padding-left: 3.5em;}
169 tr.issue.idnt-4 td.subject {padding-left: 5em;}
169 tr.issue.idnt-4 td.subject {padding-left: 5em;}
170 tr.issue.idnt-5 td.subject {padding-left: 6.5em;}
170 tr.issue.idnt-5 td.subject {padding-left: 6.5em;}
171 tr.issue.idnt-6 td.subject {padding-left: 8em;}
171 tr.issue.idnt-6 td.subject {padding-left: 8em;}
172 tr.issue.idnt-7 td.subject {padding-left: 9.5em;}
172 tr.issue.idnt-7 td.subject {padding-left: 9.5em;}
173 tr.issue.idnt-8 td.subject {padding-left: 11em;}
173 tr.issue.idnt-8 td.subject {padding-left: 11em;}
174 tr.issue.idnt-9 td.subject {padding-left: 12.5em;}
174 tr.issue.idnt-9 td.subject {padding-left: 12.5em;}
175
175
176 table.issue-report {table-layout:fixed;}
176 table.issue-report {table-layout:fixed;}
177
177
178 tr.entry { border: 1px solid #f8f8f8; }
178 tr.entry { border: 1px solid #f8f8f8; }
179 tr.entry td { white-space: nowrap; }
179 tr.entry td { white-space: nowrap; }
180 tr.entry td.filename {width:30%; text-align:left;}
180 tr.entry td.filename {width:30%; text-align:left;}
181 tr.entry td.filename_no_report {width:70%; text-align:left;}
181 tr.entry td.filename_no_report {width:70%; text-align:left;}
182 tr.entry td.size { text-align: right; font-size: 90%; }
182 tr.entry td.size { text-align: right; font-size: 90%; }
183 tr.entry td.revision, tr.entry td.author { text-align: center; }
183 tr.entry td.revision, tr.entry td.author { text-align: center; }
184 tr.entry td.age { text-align: right; }
184 tr.entry td.age { text-align: right; }
185 tr.entry.file td.filename a { margin-left: 16px; }
185 tr.entry.file td.filename a { margin-left: 16px; }
186 tr.entry.file td.filename_no_report a { margin-left: 16px; }
186 tr.entry.file td.filename_no_report a { margin-left: 16px; }
187
187
188 tr span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;}
188 tr span.expander {background-image: url(../images/bullet_toggle_plus.png); padding-left: 8px; margin-left: 0; cursor: pointer;}
189 tr.open span.expander {background-image: url(../images/bullet_toggle_minus.png);}
189 tr.open span.expander {background-image: url(../images/bullet_toggle_minus.png);}
190
190
191 tr.changeset { height: 20px }
191 tr.changeset { height: 20px }
192 tr.changeset ul, ol { margin-top: 0px; margin-bottom: 0px; }
192 tr.changeset ul, ol { margin-top: 0px; margin-bottom: 0px; }
193 tr.changeset td.revision_graph { width: 15%; background-color: #fffffb; }
193 tr.changeset td.revision_graph { width: 15%; background-color: #fffffb; }
194 tr.changeset td.author { text-align: center; width: 15%; white-space:nowrap;}
194 tr.changeset td.author { text-align: center; width: 15%; white-space:nowrap;}
195 tr.changeset td.committed_on { text-align: center; width: 15%; white-space:nowrap;}
195 tr.changeset td.committed_on { text-align: center; width: 15%; white-space:nowrap;}
196
196
197 table.files tbody th {text-align:left;}
197 table.files tbody th {text-align:left;}
198 table.files tr.file td.filename { text-align: left; padding-left: 24px; }
198 table.files tr.file td.filename { text-align: left; padding-left: 24px; }
199 table.files tr.file td.digest { font-size: 80%; }
199 table.files tr.file td.digest { font-size: 80%; }
200
200
201 table.members td.roles, table.memberships td.roles { width: 45%; }
201 table.members td.roles, table.memberships td.roles { width: 45%; }
202
202
203 tr.message { height: 2.6em; }
203 tr.message { height: 2.6em; }
204 tr.message td.subject { padding-left: 20px; }
204 tr.message td.subject { padding-left: 20px; }
205 tr.message td.created_on { white-space: nowrap; }
205 tr.message td.created_on { white-space: nowrap; }
206 tr.message td.last_message { font-size: 80%; white-space: nowrap; }
206 tr.message td.last_message { font-size: 80%; white-space: nowrap; }
207 tr.message.locked td.subject { background: url(../images/locked.png) no-repeat 0 1px; }
207 tr.message.locked td.subject { background: url(../images/locked.png) no-repeat 0 1px; }
208 tr.message.sticky td.subject { background: url(../images/bullet_go.png) no-repeat 0 1px; font-weight: bold; }
208 tr.message.sticky td.subject { background: url(../images/bullet_go.png) no-repeat 0 1px; font-weight: bold; }
209
209
210 tr.version.closed, tr.version.closed a { color: #999; }
210 tr.version.closed, tr.version.closed a { color: #999; }
211 tr.version td.name { padding-left: 20px; }
211 tr.version td.name { padding-left: 20px; }
212 tr.version.shared td.name { background: url(../images/link.png) no-repeat 0% 70%; }
212 tr.version.shared td.name { background: url(../images/link.png) no-repeat 0% 70%; }
213 tr.version td.date, tr.version td.status, tr.version td.sharing { text-align: center; white-space:nowrap; }
213 tr.version td.date, tr.version td.status, tr.version td.sharing { text-align: center; white-space:nowrap; }
214
214
215 tr.user td {width:13%;white-space: nowrap;}
215 tr.user td {width:13%;white-space: nowrap;}
216 td.username, td.firstname, td.lastname, td.email {text-align:left !important;}
216 td.username, td.firstname, td.lastname, td.email {text-align:left !important;}
217 tr.user td.email { width:18%; }
217 tr.user td.email { width:18%; }
218 tr.user.locked, tr.user.registered { color: #aaa; }
218 tr.user.locked, tr.user.registered { color: #aaa; }
219 tr.user.locked a, tr.user.registered a { color: #aaa; }
219 tr.user.locked a, tr.user.registered a { color: #aaa; }
220
220
221 table.permissions td.role {color:#999;font-size:90%;font-weight:normal !important;text-align:center;vertical-align:bottom;}
221 table.permissions td.role {color:#999;font-size:90%;font-weight:normal !important;text-align:center;vertical-align:bottom;}
222
222
223 tr.wiki-page-version td.updated_on, tr.wiki-page-version td.author {text-align:center;}
223 tr.wiki-page-version td.updated_on, tr.wiki-page-version td.author {text-align:center;}
224
224
225 tr.time-entry { text-align: center; white-space: nowrap; }
225 tr.time-entry { text-align: center; white-space: nowrap; }
226 tr.time-entry td.issue, tr.time-entry td.comments, tr.time-entry td.subject, tr.time-entry td.activity { text-align: left; white-space: normal; }
226 tr.time-entry td.issue, tr.time-entry td.comments, tr.time-entry td.subject, tr.time-entry td.activity { text-align: left; white-space: normal; }
227 td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; }
227 td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; }
228 td.hours .hours-dec { font-size: 0.9em; }
228 td.hours .hours-dec { font-size: 0.9em; }
229
229
230 table.plugins td { vertical-align: middle; }
230 table.plugins td { vertical-align: middle; }
231 table.plugins td.configure { text-align: right; padding-right: 1em; }
231 table.plugins td.configure { text-align: right; padding-right: 1em; }
232 table.plugins span.name { font-weight: bold; display: block; margin-bottom: 6px; }
232 table.plugins span.name { font-weight: bold; display: block; margin-bottom: 6px; }
233 table.plugins span.description { display: block; font-size: 0.9em; }
233 table.plugins span.description { display: block; font-size: 0.9em; }
234 table.plugins span.url { display: block; font-size: 0.9em; }
234 table.plugins span.url { display: block; font-size: 0.9em; }
235
235
236 tr.group td { padding: 0.8em 0 0.5em 0.3em; border-bottom: 1px solid #ccc; text-align:left; }
236 tr.group td { padding: 0.8em 0 0.5em 0.3em; border-bottom: 1px solid #ccc; text-align:left; }
237 tr.group span.name {font-weight:bold;}
237 tr.group span.name {font-weight:bold;}
238 tr.group span.count {font-weight:bold; position:relative; top:-1px; color:#fff; font-size:10px; background:#9DB9D5; padding:0px 6px 1px 6px; border-radius:3px; margin-left:4px;}
238 tr.group span.count {font-weight:bold; position:relative; top:-1px; color:#fff; font-size:10px; background:#9DB9D5; padding:0px 6px 1px 6px; border-radius:3px; margin-left:4px;}
239 tr.group span.totals {color: #aaa; font-size: 80%;}
239 tr.group span.totals {color: #aaa; font-size: 80%;}
240 tr.group span.totals .value {font-weight:bold; color:#777;}
240 tr.group span.totals .value {font-weight:bold; color:#777;}
241 tr.group a.toggle-all { color: #aaa; font-size: 80%; display:none; float:right; margin-right:4px;}
241 tr.group a.toggle-all { color: #aaa; font-size: 80%; display:none; float:right; margin-right:4px;}
242 tr.group:hover a.toggle-all { display:inline;}
242 tr.group:hover a.toggle-all { display:inline;}
243 a.toggle-all:hover {text-decoration:none;}
243 a.toggle-all:hover {text-decoration:none;}
244
244
245 table.list tbody tr:hover { background-color:#ffffdd; }
245 table.list tbody tr:hover { background-color:#ffffdd; }
246 table.list tbody tr.group:hover { background-color:inherit; }
246 table.list tbody tr.group:hover { background-color:inherit; }
247 table td {padding:2px;}
247 table td {padding:2px;}
248 table p {margin:0;}
248 table p {margin:0;}
249 .odd {background-color:#f6f7f8;}
249 .odd {background-color:#f6f7f8;}
250 .even {background-color: #fff;}
250 .even {background-color: #fff;}
251
251
252 tr.builtin td.name {font-style:italic;}
252 tr.builtin td.name {font-style:italic;}
253
253
254 a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; }
254 a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; }
255 a.sort.asc { background-image: url(../images/sort_asc.png); }
255 a.sort.asc { background-image: url(../images/sort_asc.png); }
256 a.sort.desc { background-image: url(../images/sort_desc.png); }
256 a.sort.desc { background-image: url(../images/sort_desc.png); }
257
257
258 table.boards a.board, h3.comments { background: url(../images/comment.png) no-repeat 0% 50%; padding-left: 20px; }
258 table.boards a.board, h3.comments { background: url(../images/comment.png) no-repeat 0% 50%; padding-left: 20px; }
259 table.boards td.last-message {text-align:left;font-size:80%;}
259 table.boards td.last-message {text-align:left;font-size:80%;}
260
260
261 table.messages td.last_message {text-align:left;}
261 table.messages td.last_message {text-align:left;}
262
262
263 #query_form_content {font-size:90%;}
263 #query_form_content {font-size:90%;}
264
264
265 .query_sort_criteria_count {
265 .query_sort_criteria_count {
266 display: inline-block;
266 display: inline-block;
267 min-width: 1em;
267 min-width: 1em;
268 }
268 }
269
269
270 table.query-columns {
270 table.query-columns {
271 border-collapse: collapse;
271 border-collapse: collapse;
272 border: 0;
272 border: 0;
273 }
273 }
274
274
275 table.query-columns td.buttons {
275 table.query-columns td.buttons {
276 vertical-align: middle;
276 vertical-align: middle;
277 text-align: center;
277 text-align: center;
278 }
278 }
279 table.query-columns td.buttons input[type=button] {width:35px;}
279 table.query-columns td.buttons input[type=button] {width:35px;}
280 .query-totals {text-align:right; margin-top:-2.3em;}
280 .query-totals {text-align:right; margin-top:-2.3em;}
281 .query-totals>span {margin-left:0.6em;}
281 .query-totals>span {margin-left:0.6em;}
282 .query-totals .value {font-weight:bold;}
282 .query-totals .value {font-weight:bold;}
283
283
284 td.center {text-align:center;}
284 td.center {text-align:center;}
285
285
286 h3.version { background: url(../images/package.png) no-repeat 0% 50%; padding-left: 20px; }
286 h3.version { background: url(../images/package.png) no-repeat 0% 50%; padding-left: 20px; }
287
287
288 div.issues h3 { background: url(../images/ticket.png) no-repeat 0% 50%; padding-left: 20px; }
288 div.issues h3 { background: url(../images/ticket.png) no-repeat 0% 50%; padding-left: 20px; }
289 div.members h3 { background: url(../images/group.png) no-repeat 0% 50%; padding-left: 20px; }
289 div.members h3 { background: url(../images/group.png) no-repeat 0% 50%; padding-left: 20px; }
290 div.news h3 { background: url(../images/news.png) no-repeat 0% 50%; padding-left: 20px; }
290 div.news h3 { background: url(../images/news.png) no-repeat 0% 50%; padding-left: 20px; }
291 div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; }
291 div.projects h3 { background: url(../images/projects.png) no-repeat 0% 50%; padding-left: 20px; }
292
292
293 #watchers select {width: 95%; display: block;}
293 #watchers select {width: 95%; display: block;}
294 #watchers a.delete {opacity: 0.4; vertical-align: middle;}
294 #watchers a.delete {opacity: 0.4; vertical-align: middle;}
295 #watchers a.delete:hover {opacity: 1;}
295 #watchers a.delete:hover {opacity: 1;}
296 #watchers img.gravatar {margin: 0 4px 2px 0;}
296 #watchers img.gravatar {margin: 0 4px 2px 0;}
297
297
298 span#watchers_inputs {overflow:auto; display:block;}
298 span#watchers_inputs {overflow:auto; display:block;}
299 span.search_for_watchers {display:block;}
299 span.search_for_watchers {display:block;}
300 span.search_for_watchers, span.add_attachment {font-size:80%; line-height:2.5em;}
300 span.search_for_watchers, span.add_attachment {font-size:80%; line-height:2.5em;}
301 span.search_for_watchers a, span.add_attachment a {padding-left:16px; background: url(../images/bullet_add.png) no-repeat 0 50%; }
301 span.search_for_watchers a, span.add_attachment a {padding-left:16px; background: url(../images/bullet_add.png) no-repeat 0 50%; }
302
302
303
303
304 .highlight { background-color: #FCFD8D;}
304 .highlight { background-color: #FCFD8D;}
305 .highlight.token-1 { background-color: #faa;}
305 .highlight.token-1 { background-color: #faa;}
306 .highlight.token-2 { background-color: #afa;}
306 .highlight.token-2 { background-color: #afa;}
307 .highlight.token-3 { background-color: #aaf;}
307 .highlight.token-3 { background-color: #aaf;}
308
308
309 .box{
309 .box{
310 padding:6px;
310 padding:6px;
311 margin-bottom: 10px;
311 margin-bottom: 10px;
312 background-color:#f6f6f6;
312 background-color:#f6f6f6;
313 color:#505050;
313 color:#505050;
314 line-height:1.5em;
314 line-height:1.5em;
315 border: 1px solid #e4e4e4;
315 border: 1px solid #e4e4e4;
316 word-wrap: break-word;
316 word-wrap: break-word;
317 border-radius: 3px;
317 border-radius: 3px;
318 }
318 }
319 .pagination .per-page span.selected {
320 font-weight: bold;
321 }
319
322
320 div.square {
323 div.square {
321 border: 1px solid #999;
324 border: 1px solid #999;
322 float: left;
325 float: left;
323 margin: .3em .4em 0 .4em;
326 margin: .3em .4em 0 .4em;
324 overflow: hidden;
327 overflow: hidden;
325 width: .6em; height: .6em;
328 width: .6em; height: .6em;
326 }
329 }
327 .contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px; padding-left: 10px; font-size:0.9em;}
330 .contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px; padding-left: 10px; font-size:0.9em;}
328 .contextual input, .contextual select {font-size:0.9em;}
331 .contextual input, .contextual select {font-size:0.9em;}
329 .message .contextual { margin-top: 0; }
332 .message .contextual { margin-top: 0; }
330
333
331 .splitcontent {overflow:auto;}
334 .splitcontent {overflow:auto;}
332 .splitcontentleft{float:left; width:49%;}
335 .splitcontentleft{float:left; width:49%;}
333 .splitcontentright{float:right; width:49%;}
336 .splitcontentright{float:right; width:49%;}
334 form {display: inline;}
337 form {display: inline;}
335 input, select {vertical-align: middle; margin-top: 1px; margin-bottom: 1px;}
338 input, select {vertical-align: middle; margin-top: 1px; margin-bottom: 1px;}
336 fieldset {border: 1px solid #e4e4e4; margin:0;}
339 fieldset {border: 1px solid #e4e4e4; margin:0;}
337 legend {color: #333;}
340 legend {color: #333;}
338 hr { width: 100%; height: 1px; background: #ccc; border: 0;}
341 hr { width: 100%; height: 1px; background: #ccc; border: 0;}
339 blockquote { font-style: italic; border-left: 3px solid #e0e0e0; padding-left: 0.6em; margin-left: 2.4em;}
342 blockquote { font-style: italic; border-left: 3px solid #e0e0e0; padding-left: 0.6em; margin-left: 2.4em;}
340 blockquote blockquote { margin-left: 0;}
343 blockquote blockquote { margin-left: 0;}
341 abbr, span.field-description[title] { border-bottom: 1px dotted #aaa; cursor: help; }
344 abbr, span.field-description[title] { border-bottom: 1px dotted #aaa; cursor: help; }
342 textarea.wiki-edit {width:99%; resize:vertical;}
345 textarea.wiki-edit {width:99%; resize:vertical;}
343 li p {margin-top: 0;}
346 li p {margin-top: 0;}
344 div.issue {background:#ffffdd; padding:6px; margin-bottom:6px; border: 1px solid #d7d7d7; border-radius:3px;}
347 div.issue {background:#ffffdd; padding:6px; margin-bottom:6px; border: 1px solid #d7d7d7; border-radius:3px;}
345 p.breadcrumb { font-size: 0.9em; margin: 4px 0 4px 0;}
348 p.breadcrumb { font-size: 0.9em; margin: 4px 0 4px 0;}
346 p.subtitle { font-size: 0.9em; margin: -6px 0 12px 0; font-style: italic; }
349 p.subtitle { font-size: 0.9em; margin: -6px 0 12px 0; font-style: italic; }
347 p.footnote { font-size: 0.9em; margin-top: 0px; margin-bottom: 0px; }
350 p.footnote { font-size: 0.9em; margin-top: 0px; margin-bottom: 0px; }
348 .ltr {direction:ltr !important; unicode-bidi:bidi-override;}
351 .ltr {direction:ltr !important; unicode-bidi:bidi-override;}
349 .rtl {direction:rtl !important; unicode-bidi:bidi-override;}
352 .rtl {direction:rtl !important; unicode-bidi:bidi-override;}
350
353
351 div.issue div.subject div div { padding-left: 16px; }
354 div.issue div.subject div div { padding-left: 16px; }
352 div.issue div.subject p {margin: 0; margin-bottom: 0.1em; font-size: 90%; color: #999;}
355 div.issue div.subject p {margin: 0; margin-bottom: 0.1em; font-size: 90%; color: #999;}
353 div.issue div.subject>div>p { margin-top: 0.5em; }
356 div.issue div.subject>div>p { margin-top: 0.5em; }
354 div.issue div.subject h3 {margin: 0; margin-bottom: 0.1em;}
357 div.issue div.subject h3 {margin: 0; margin-bottom: 0.1em;}
355 div.issue span.private, div.journal span.private { position:relative; bottom: 2px; text-transform: uppercase; background: #d22; color: #fff; font-weight:bold; padding: 0px 2px 0px 2px; font-size: 60%; margin-right: 2px; border-radius: 2px;}
358 div.issue span.private, div.journal span.private { position:relative; bottom: 2px; text-transform: uppercase; background: #d22; color: #fff; font-weight:bold; padding: 0px 2px 0px 2px; font-size: 60%; margin-right: 2px; border-radius: 2px;}
356 div.issue .next-prev-links {color:#999;}
359 div.issue .next-prev-links {color:#999;}
357 div.issue .attributes {margin-top: 2em;}
360 div.issue .attributes {margin-top: 2em;}
358 div.issue .attribute {padding-left:180px; clear:left; min-height: 1.8em;}
361 div.issue .attribute {padding-left:180px; clear:left; min-height: 1.8em;}
359 div.issue .attribute .label {width: 170px; margin-left:-180px; font-weight:bold; float:left;}
362 div.issue .attribute .label {width: 170px; margin-left:-180px; font-weight:bold; float:left;}
360 div.issue.overdue .due-date .value { color: #c22; }
363 div.issue.overdue .due-date .value { color: #c22; }
361
364
362 #issue_tree table.issues, #relations table.issues { border: 0; }
365 #issue_tree table.issues, #relations table.issues { border: 0; }
363 #issue_tree td.checkbox, #relations td.checkbox {display:none;}
366 #issue_tree td.checkbox, #relations td.checkbox {display:none;}
364 #relations td.buttons {padding:0;}
367 #relations td.buttons {padding:0;}
365
368
366 fieldset.collapsible {border-width: 1px 0 0 0;}
369 fieldset.collapsible {border-width: 1px 0 0 0;}
367 fieldset.collapsible>legend { padding-left: 16px; background: url(../images/arrow_expanded.png) no-repeat 0% 40%; cursor:pointer; }
370 fieldset.collapsible>legend { padding-left: 16px; background: url(../images/arrow_expanded.png) no-repeat 0% 40%; cursor:pointer; }
368 fieldset.collapsible.collapsed>legend { background-image: url(../images/arrow_collapsed.png); }
371 fieldset.collapsible.collapsed>legend { background-image: url(../images/arrow_collapsed.png); }
369
372
370 fieldset#date-range p { margin: 2px 0 2px 0; }
373 fieldset#date-range p { margin: 2px 0 2px 0; }
371 fieldset#filters table { border-collapse: collapse; }
374 fieldset#filters table { border-collapse: collapse; }
372 fieldset#filters table td { padding: 0; vertical-align: middle; }
375 fieldset#filters table td { padding: 0; vertical-align: middle; }
373 fieldset#filters tr.filter { height: 2.1em; }
376 fieldset#filters tr.filter { height: 2.1em; }
374 fieldset#filters td.field { width:230px; }
377 fieldset#filters td.field { width:230px; }
375 fieldset#filters td.operator { width:180px; }
378 fieldset#filters td.operator { width:180px; }
376 fieldset#filters td.operator select {max-width:170px;}
379 fieldset#filters td.operator select {max-width:170px;}
377 fieldset#filters td.values { white-space:nowrap; }
380 fieldset#filters td.values { white-space:nowrap; }
378 fieldset#filters td.values select {min-width:130px;}
381 fieldset#filters td.values select {min-width:130px;}
379 fieldset#filters td.values input {height:1em;}
382 fieldset#filters td.values input {height:1em;}
380
383
381 #filters-table {width:60%; float:left;}
384 #filters-table {width:60%; float:left;}
382 .add-filter {width:35%; float:right; text-align: right; vertical-align: top;}
385 .add-filter {width:35%; float:right; text-align: right; vertical-align: top;}
383
386
384 #issue_is_private_wrap {float:right; margin-right:1em;}
387 #issue_is_private_wrap {float:right; margin-right:1em;}
385 .toggle-multiselect {background: url(../images/bullet_toggle_plus.png) no-repeat 0% 40%; padding-left:8px; margin-left:0; cursor:pointer;}
388 .toggle-multiselect {background: url(../images/bullet_toggle_plus.png) no-repeat 0% 40%; padding-left:8px; margin-left:0; cursor:pointer;}
386 .buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; }
389 .buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; }
387
390
388 div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
391 div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
389 div#issue-changesets div.changeset { padding: 4px;}
392 div#issue-changesets div.changeset { padding: 4px;}
390 div#issue-changesets div.changeset { border-bottom: 1px solid #ddd; }
393 div#issue-changesets div.changeset { border-bottom: 1px solid #ddd; }
391 div#issue-changesets p { margin-top: 0; margin-bottom: 1em;}
394 div#issue-changesets p { margin-top: 0; margin-bottom: 1em;}
392
395
393 .journal ul.details img {margin:0 0 -3px 4px;}
396 .journal ul.details img {margin:0 0 -3px 4px;}
394 div.journal {overflow:auto;}
397 div.journal {overflow:auto;}
395 div.journal.private-notes {border-left:2px solid #d22; padding-left:4px; margin-left:-6px;}
398 div.journal.private-notes {border-left:2px solid #d22; padding-left:4px; margin-left:-6px;}
396 div.journal ul.details {color:#959595; margin-bottom: 1.5em;}
399 div.journal ul.details {color:#959595; margin-bottom: 1.5em;}
397 div.journal ul.details a {color:#70A7CD;}
400 div.journal ul.details a {color:#70A7CD;}
398 div.journal ul.details a:hover {color:#D14848;}
401 div.journal ul.details a:hover {color:#D14848;}
399
402
400 div#activity dl, #search-results { margin-left: 2em; }
403 div#activity dl, #search-results { margin-left: 2em; }
401 div#activity dd, #search-results dd { margin-bottom: 1em; padding-left: 18px; font-size: 0.9em; }
404 div#activity dd, #search-results dd { margin-bottom: 1em; padding-left: 18px; font-size: 0.9em; }
402 div#activity dt, #search-results dt { margin-bottom: 0px; padding-left: 20px; line-height: 18px; background-position: 0 50%; background-repeat: no-repeat; }
405 div#activity dt, #search-results dt { margin-bottom: 0px; padding-left: 20px; line-height: 18px; background-position: 0 50%; background-repeat: no-repeat; }
403 div#activity dt.me .time { border-bottom: 1px solid #999; }
406 div#activity dt.me .time { border-bottom: 1px solid #999; }
404 div#activity dt .time { color: #777; font-size: 80%; }
407 div#activity dt .time { color: #777; font-size: 80%; }
405 div#activity dd .description, #search-results dd .description { font-style: italic; }
408 div#activity dd .description, #search-results dd .description { font-style: italic; }
406 div#activity span.project:after, #search-results span.project:after { content: " -"; }
409 div#activity span.project:after, #search-results span.project:after { content: " -"; }
407 div#activity dd span.description, #search-results dd span.description { display:block; color: #808080; }
410 div#activity dd span.description, #search-results dd span.description { display:block; color: #808080; }
408 div#activity dt.grouped {margin-left:5em;}
411 div#activity dt.grouped {margin-left:5em;}
409 div#activity dd.grouped {margin-left:9em;}
412 div#activity dd.grouped {margin-left:9em;}
410
413
411 #search-results dd { margin-bottom: 1em; padding-left: 20px; margin-left:0px; }
414 #search-results dd { margin-bottom: 1em; padding-left: 20px; margin-left:0px; }
412
415
413 div#search-results-counts {float:right;}
416 div#search-results-counts {float:right;}
414 div#search-results-counts ul { margin-top: 0.5em; }
417 div#search-results-counts ul { margin-top: 0.5em; }
415 div#search-results-counts li { list-style-type:none; float: left; margin-left: 1em; }
418 div#search-results-counts li { list-style-type:none; float: left; margin-left: 1em; }
416
419
417 dt.issue { background-image: url(../images/ticket.png); }
420 dt.issue { background-image: url(../images/ticket.png); }
418 dt.issue-edit { background-image: url(../images/ticket_edit.png); }
421 dt.issue-edit { background-image: url(../images/ticket_edit.png); }
419 dt.issue-closed { background-image: url(../images/ticket_checked.png); }
422 dt.issue-closed { background-image: url(../images/ticket_checked.png); }
420 dt.issue-note { background-image: url(../images/ticket_note.png); }
423 dt.issue-note { background-image: url(../images/ticket_note.png); }
421 dt.changeset { background-image: url(../images/changeset.png); }
424 dt.changeset { background-image: url(../images/changeset.png); }
422 dt.news { background-image: url(../images/news.png); }
425 dt.news { background-image: url(../images/news.png); }
423 dt.message { background-image: url(../images/message.png); }
426 dt.message { background-image: url(../images/message.png); }
424 dt.reply { background-image: url(../images/comments.png); }
427 dt.reply { background-image: url(../images/comments.png); }
425 dt.wiki-page { background-image: url(../images/wiki_edit.png); }
428 dt.wiki-page { background-image: url(../images/wiki_edit.png); }
426 dt.attachment { background-image: url(../images/attachment.png); }
429 dt.attachment { background-image: url(../images/attachment.png); }
427 dt.document { background-image: url(../images/document.png); }
430 dt.document { background-image: url(../images/document.png); }
428 dt.project { background-image: url(../images/projects.png); }
431 dt.project { background-image: url(../images/projects.png); }
429 dt.time-entry { background-image: url(../images/time.png); }
432 dt.time-entry { background-image: url(../images/time.png); }
430
433
431 #search-results dt.issue.closed { background-image: url(../images/ticket_checked.png); }
434 #search-results dt.issue.closed { background-image: url(../images/ticket_checked.png); }
432
435
433 div#roadmap .related-issues { margin-bottom: 1em; }
436 div#roadmap .related-issues { margin-bottom: 1em; }
434 div#roadmap .related-issues td.checkbox { display: none; }
437 div#roadmap .related-issues td.checkbox { display: none; }
435 div#roadmap .wiki h1:first-child { display: none; }
438 div#roadmap .wiki h1:first-child { display: none; }
436 div#roadmap .wiki h1 { font-size: 120%; }
439 div#roadmap .wiki h1 { font-size: 120%; }
437 div#roadmap .wiki h2 { font-size: 110%; }
440 div#roadmap .wiki h2 { font-size: 110%; }
438 body.controller-versions.action-show div#roadmap .related-issues {width:70%;}
441 body.controller-versions.action-show div#roadmap .related-issues {width:70%;}
439
442
440 div#version-summary { float:right; width:28%; margin-left: 16px; margin-bottom: 16px; background-color: #fff; }
443 div#version-summary { float:right; width:28%; margin-left: 16px; margin-bottom: 16px; background-color: #fff; }
441 div#version-summary fieldset { margin-bottom: 1em; }
444 div#version-summary fieldset { margin-bottom: 1em; }
442 div#version-summary fieldset.time-tracking table { width:100%; }
445 div#version-summary fieldset.time-tracking table { width:100%; }
443 div#version-summary th, div#version-summary td.total-hours { text-align: right; }
446 div#version-summary th, div#version-summary td.total-hours { text-align: right; }
444
447
445 table#time-report td.hours, table#time-report th.period, table#time-report th.total { text-align: right; padding-right: 0.5em; }
448 table#time-report td.hours, table#time-report th.period, table#time-report th.total { text-align: right; padding-right: 0.5em; }
446 table#time-report tbody tr.subtotal { font-style: italic; color:#777;}
449 table#time-report tbody tr.subtotal { font-style: italic; color:#777;}
447 table#time-report tbody tr.subtotal td.hours { color:#b0b0b0; }
450 table#time-report tbody tr.subtotal td.hours { color:#b0b0b0; }
448 table#time-report tbody tr.total { font-weight: bold; background-color:#EEEEEE; border-top:1px solid #e4e4e4;}
451 table#time-report tbody tr.total { font-weight: bold; background-color:#EEEEEE; border-top:1px solid #e4e4e4;}
449 table#time-report .hours-dec { font-size: 0.9em; }
452 table#time-report .hours-dec { font-size: 0.9em; }
450
453
451 div.wiki-page .contextual a {opacity: 0.4}
454 div.wiki-page .contextual a {opacity: 0.4}
452 div.wiki-page .contextual a:hover {opacity: 1}
455 div.wiki-page .contextual a:hover {opacity: 1}
453
456
454 form .attributes select { width: 60%; }
457 form .attributes select { width: 60%; }
455 input#issue_subject, input#document_title { width: 99%; }
458 input#issue_subject, input#document_title { width: 99%; }
456 select#issue_done_ratio { width: 95px; }
459 select#issue_done_ratio { width: 95px; }
457
460
458 ul.projects {margin:0; padding-left:1em;}
461 ul.projects {margin:0; padding-left:1em;}
459 ul.projects ul {padding-left:1.6em;}
462 ul.projects ul {padding-left:1.6em;}
460 ul.projects.root {margin:0; padding:0;}
463 ul.projects.root {margin:0; padding:0;}
461 ul.projects li {list-style-type:none;}
464 ul.projects li {list-style-type:none;}
462
465
463 #projects-index ul.projects ul.projects { border-left: 3px solid #e0e0e0; padding-left:1em;}
466 #projects-index ul.projects ul.projects { border-left: 3px solid #e0e0e0; padding-left:1em;}
464 #projects-index ul.projects li.root {margin-bottom: 1em;}
467 #projects-index ul.projects li.root {margin-bottom: 1em;}
465 #projects-index ul.projects li.child {margin-top: 1em;}
468 #projects-index ul.projects li.child {margin-top: 1em;}
466 #projects-index ul.projects div.root a.project { font-family: "Trebuchet MS", Verdana, sans-serif; font-weight: bold; font-size: 16px; margin: 0 0 10px 0; }
469 #projects-index ul.projects div.root a.project { font-family: "Trebuchet MS", Verdana, sans-serif; font-weight: bold; font-size: 16px; margin: 0 0 10px 0; }
467 .my-project { padding-left: 18px; background: url(../images/fav.png) no-repeat 0 50%; }
470 .my-project { padding-left: 18px; background: url(../images/fav.png) no-repeat 0 50%; }
468
471
469 #notified-projects>ul, #tracker_project_ids>ul, #custom_field_project_ids>ul {max-height:250px; overflow-y:auto;}
472 #notified-projects>ul, #tracker_project_ids>ul, #custom_field_project_ids>ul {max-height:250px; overflow-y:auto;}
470
473
471 #related-issues li img {vertical-align:middle;}
474 #related-issues li img {vertical-align:middle;}
472
475
473 ul.properties {padding:0; font-size: 0.9em; color: #777;}
476 ul.properties {padding:0; font-size: 0.9em; color: #777;}
474 ul.properties li {list-style-type:none;}
477 ul.properties li {list-style-type:none;}
475 ul.properties li span {font-style:italic;}
478 ul.properties li span {font-style:italic;}
476
479
477 .total-hours { font-size: 110%; font-weight: bold; }
480 .total-hours { font-size: 110%; font-weight: bold; }
478 .total-hours span.hours-int { font-size: 120%; }
481 .total-hours span.hours-int { font-size: 120%; }
479
482
480 .autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em;}
483 .autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em;}
481 #user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select, #user_identity_url { width: 90%; }
484 #user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select, #user_identity_url { width: 90%; }
482
485
483 #workflow_copy_form select { width: 200px; }
486 #workflow_copy_form select { width: 200px; }
484 table.transitions td.enabled {background: #bfb;}
487 table.transitions td.enabled {background: #bfb;}
485 #workflow_form table select {font-size:90%; max-width:100px;}
488 #workflow_form table select {font-size:90%; max-width:100px;}
486 table.fields_permissions td.readonly {background:#ddd;}
489 table.fields_permissions td.readonly {background:#ddd;}
487 table.fields_permissions td.required {background:#d88;}
490 table.fields_permissions td.required {background:#d88;}
488
491
489 select.expandable {vertical-align:top;}
492 select.expandable {vertical-align:top;}
490
493
491 textarea#custom_field_possible_values {width: 95%; resize:vertical}
494 textarea#custom_field_possible_values {width: 95%; resize:vertical}
492 textarea#custom_field_default_value {width: 95%; resize:vertical}
495 textarea#custom_field_default_value {width: 95%; resize:vertical}
493 .sort-handle {display:inline-block; vertical-align:middle;}
496 .sort-handle {display:inline-block; vertical-align:middle;}
494
497
495 input#content_comments {width: 99%}
498 input#content_comments {width: 99%}
496
499
497 span.pagination {margin-left:3px; color:#888;}
500 span.pagination {margin-left:3px; color:#888;}
498 .pagination ul.pages {
501 .pagination ul.pages {
499 margin: 0 5px 0 0;
502 margin: 0 5px 0 0;
500 padding: 0;
503 padding: 0;
501 display: inline;
504 display: inline;
502 }
505 }
503 .pagination ul.pages li {
506 .pagination ul.pages li {
504 display: inline-block;
507 display: inline-block;
505 padding: 0;
508 padding: 0;
506 border: 1px solid #ccc;
509 border: 1px solid #ccc;
507 margin-left: -1px;
510 margin-left: -1px;
508 line-height: 2em;
511 line-height: 2em;
509 margin-bottom: 1em;
512 margin-bottom: 1em;
510 white-space: nowrap;
513 white-space: nowrap;
511 text-align: center;
514 text-align: center;
512 }
515 }
513 .pagination ul.pages li a,
516 .pagination ul.pages li a,
514 .pagination ul.pages li span {
517 .pagination ul.pages li span {
515 padding: 3px 8px;
518 padding: 3px 8px;
516 }
519 }
517 .pagination ul.pages li:first-child {
520 .pagination ul.pages li:first-child {
518 border-top-left-radius: 4px;
521 border-top-left-radius: 4px;
519 border-bottom-left-radius: 4px;
522 border-bottom-left-radius: 4px;
520 }
523 }
521 .pagination ul.pages li:last-child {
524 .pagination ul.pages li:last-child {
522 border-top-right-radius: 4px;
525 border-top-right-radius: 4px;
523 border-bottom-right-radius: 4px;
526 border-bottom-right-radius: 4px;
524 }
527 }
525 .pagination ul.pages li.current {
528 .pagination ul.pages li.current {
526 color: white;
529 color: white;
527 background-color: #628DB6;
530 background-color: #628DB6;
528 border-color: #628DB6;
531 border-color: #628DB6;
529 }
532 }
530 .pagination ul.pages li.page:hover {
533 .pagination ul.pages li.page:hover {
531 background-color: #EEE;
534 background-color: #EEE;
532 }
535 }
533 .pagination ul.pages li.page a:hover,
536 .pagination ul.pages li.page a:hover,
534 .pagination ul.pages li.page a:active {
537 .pagination ul.pages li.page a:active {
535 color: inherit;
538 color: inherit;
536 text-decoration: inherit;
539 text-decoration: inherit;
537 }
540 }
538 span.pagination>span {white-space:nowrap;}
541 span.pagination>span {white-space:nowrap;}
539
542
540 #search-form fieldset p {margin:0.2em 0;}
543 #search-form fieldset p {margin:0.2em 0;}
541
544
542 /***** Tabular forms ******/
545 /***** Tabular forms ******/
543 .tabular p{
546 .tabular p{
544 margin: 0;
547 margin: 0;
545 padding: 3px 0 3px 0;
548 padding: 3px 0 3px 0;
546 padding-left: 180px; /* width of left column containing the label elements */
549 padding-left: 180px; /* width of left column containing the label elements */
547 min-height: 1.8em;
550 min-height: 1.8em;
548 clear:left;
551 clear:left;
549 }
552 }
550
553
551 html>body .tabular p {overflow:hidden;}
554 html>body .tabular p {overflow:hidden;}
552
555
553 .tabular input, .tabular select {max-width:95%}
556 .tabular input, .tabular select {max-width:95%}
554 .tabular textarea {width:95%; resize:vertical;}
557 .tabular textarea {width:95%; resize:vertical;}
555
558
556 .tabular label{
559 .tabular label{
557 font-weight: bold;
560 font-weight: bold;
558 float: left;
561 float: left;
559 text-align: right;
562 text-align: right;
560 /* width of left column */
563 /* width of left column */
561 margin-left: -180px;
564 margin-left: -180px;
562 /* width of labels. Should be smaller than left column to create some right margin */
565 /* width of labels. Should be smaller than left column to create some right margin */
563 width: 175px;
566 width: 175px;
564 }
567 }
565
568
566 .tabular label.floating{
569 .tabular label.floating{
567 font-weight: normal;
570 font-weight: normal;
568 margin-left: 0px;
571 margin-left: 0px;
569 text-align: left;
572 text-align: left;
570 width: 270px;
573 width: 270px;
571 }
574 }
572
575
573 .tabular label.block{
576 .tabular label.block{
574 font-weight: normal;
577 font-weight: normal;
575 margin-left: 0px !important;
578 margin-left: 0px !important;
576 text-align: left;
579 text-align: left;
577 float: none;
580 float: none;
578 display: block;
581 display: block;
579 width: auto !important;
582 width: auto !important;
580 }
583 }
581
584
582 .tabular label.inline{
585 .tabular label.inline{
583 font-weight: normal;
586 font-weight: normal;
584 float:none;
587 float:none;
585 margin-left: 5px !important;
588 margin-left: 5px !important;
586 width: auto;
589 width: auto;
587 }
590 }
588
591
589 label.no-css {
592 label.no-css {
590 font-weight: inherit;
593 font-weight: inherit;
591 float:none;
594 float:none;
592 text-align:left;
595 text-align:left;
593 margin-left:0px;
596 margin-left:0px;
594 width:auto;
597 width:auto;
595 }
598 }
596 input#time_entry_comments { width: 90%;}
599 input#time_entry_comments { width: 90%;}
597
600
598 #preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
601 #preview fieldset {margin-top: 1em; background: url(../images/draft.png)}
599
602
600 .tabular.settings p{ padding-left: 300px; }
603 .tabular.settings p{ padding-left: 300px; }
601 .tabular.settings label{ margin-left: -300px; width: 295px; }
604 .tabular.settings label{ margin-left: -300px; width: 295px; }
602 .tabular.settings textarea { width: 99%; }
605 .tabular.settings textarea { width: 99%; }
603
606
604 .settings.enabled_scm table {width:100%}
607 .settings.enabled_scm table {width:100%}
605 .settings.enabled_scm td.scm_name{ font-weight: bold; }
608 .settings.enabled_scm td.scm_name{ font-weight: bold; }
606
609
607 fieldset.settings label { display: block; }
610 fieldset.settings label { display: block; }
608 fieldset#notified_events .parent { padding-left: 20px; }
611 fieldset#notified_events .parent { padding-left: 20px; }
609
612
610 span.required {color: #bb0000;}
613 span.required {color: #bb0000;}
611 .summary {font-style: italic;}
614 .summary {font-style: italic;}
612
615
613 .check_box_group {
616 .check_box_group {
614 display:block;
617 display:block;
615 width:95%;
618 width:95%;
616 max-height:300px;
619 max-height:300px;
617 overflow-y:auto;
620 overflow-y:auto;
618 padding:2px 4px 4px 2px;
621 padding:2px 4px 4px 2px;
619 background:#fff;
622 background:#fff;
620 border:1px solid #9EB1C2;
623 border:1px solid #9EB1C2;
621 border-radius:2px
624 border-radius:2px
622 }
625 }
623 .check_box_group label {
626 .check_box_group label {
624 font-weight: normal;
627 font-weight: normal;
625 margin-left: 0px !important;
628 margin-left: 0px !important;
626 text-align: left;
629 text-align: left;
627 float: none;
630 float: none;
628 display: block;
631 display: block;
629 width: auto;
632 width: auto;
630 }
633 }
631 .check_box_group.bool_cf {border:0; background:inherit;}
634 .check_box_group.bool_cf {border:0; background:inherit;}
632 .check_box_group.bool_cf label {display: inline;}
635 .check_box_group.bool_cf label {display: inline;}
633
636
634 #attachments_fields input.description {margin-left:4px; width:340px;}
637 #attachments_fields input.description {margin-left:4px; width:340px;}
635 #attachments_fields span {display:block; white-space:nowrap;}
638 #attachments_fields span {display:block; white-space:nowrap;}
636 #attachments_fields input.filename {border:0; height:1.8em; width:250px; color:#555; background-color:inherit; background:url(../images/attachment.png) no-repeat 1px 50%; padding-left:18px;}
639 #attachments_fields input.filename {border:0; height:1.8em; width:250px; color:#555; background-color:inherit; background:url(../images/attachment.png) no-repeat 1px 50%; padding-left:18px;}
637 #attachments_fields .ajax-waiting input.filename {background:url(../images/hourglass.png) no-repeat 0px 50%;}
640 #attachments_fields .ajax-waiting input.filename {background:url(../images/hourglass.png) no-repeat 0px 50%;}
638 #attachments_fields .ajax-loading input.filename {background:url(../images/loading.gif) no-repeat 0px 50%;}
641 #attachments_fields .ajax-loading input.filename {background:url(../images/loading.gif) no-repeat 0px 50%;}
639 #attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; }
642 #attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; }
640 a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%; width:1px; display:inline-block; padding-left:16px;}
643 a.remove-upload {background: url(../images/delete.png) no-repeat 1px 50%; width:1px; display:inline-block; padding-left:16px;}
641 a.remove-upload:hover {text-decoration:none !important;}
644 a.remove-upload:hover {text-decoration:none !important;}
642
645
643 div.fileover { background-color: lavender; }
646 div.fileover { background-color: lavender; }
644
647
645 div.attachments { margin-top: 12px; }
648 div.attachments { margin-top: 12px; }
646 div.attachments p { margin:4px 0 2px 0; }
649 div.attachments p { margin:4px 0 2px 0; }
647 div.attachments img { vertical-align: middle; }
650 div.attachments img { vertical-align: middle; }
648 div.attachments span.author { font-size: 0.9em; color: #888; }
651 div.attachments span.author { font-size: 0.9em; color: #888; }
649
652
650 div.thumbnails {margin-top:0.6em;}
653 div.thumbnails {margin-top:0.6em;}
651 div.thumbnails div {background:#fff;border:2px solid #ddd;display:inline-block;margin-right:2px;}
654 div.thumbnails div {background:#fff;border:2px solid #ddd;display:inline-block;margin-right:2px;}
652 div.thumbnails img {margin: 3px; vertical-align: middle;}
655 div.thumbnails img {margin: 3px; vertical-align: middle;}
653 #history div.thumbnails {margin-left: 2em;}
656 #history div.thumbnails {margin-left: 2em;}
654
657
655 p.other-formats { text-align: right; font-size:0.9em; color: #666; }
658 p.other-formats { text-align: right; font-size:0.9em; color: #666; }
656 .other-formats span + span:before { content: "| "; }
659 .other-formats span + span:before { content: "| "; }
657
660
658 a.atom { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
661 a.atom { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
659
662
660 em.info {font-style:normal;font-size:90%;color:#888;display:block;}
663 em.info {font-style:normal;font-size:90%;color:#888;display:block;}
661 em.info.error {padding-left:20px; background:url(../images/exclamation.png) no-repeat 0 50%;}
664 em.info.error {padding-left:20px; background:url(../images/exclamation.png) no-repeat 0 50%;}
662
665
663 textarea.text_cf {width:95%; resize:vertical;}
666 textarea.text_cf {width:95%; resize:vertical;}
664 input.string_cf, input.link_cf {width:95%;}
667 input.string_cf, input.link_cf {width:95%;}
665 select.bool_cf {width:auto !important;}
668 select.bool_cf {width:auto !important;}
666
669
667 #tab-content-modules fieldset p {margin:3px 0 4px 0;}
670 #tab-content-modules fieldset p {margin:3px 0 4px 0;}
668
671
669 #tab-content-users .splitcontentleft {width: 64%;}
672 #tab-content-users .splitcontentleft {width: 64%;}
670 #tab-content-users .splitcontentright {width: 34%;}
673 #tab-content-users .splitcontentright {width: 34%;}
671 #tab-content-users fieldset {padding:1em; margin-bottom: 1em;}
674 #tab-content-users fieldset {padding:1em; margin-bottom: 1em;}
672 #tab-content-users fieldset legend {font-weight: bold;}
675 #tab-content-users fieldset legend {font-weight: bold;}
673 #tab-content-users fieldset label {display: block;}
676 #tab-content-users fieldset label {display: block;}
674 #tab-content-users #principals {max-height: 400px; overflow: auto;}
677 #tab-content-users #principals {max-height: 400px; overflow: auto;}
675
678
676 #users_for_watcher {height: 200px; overflow:auto;}
679 #users_for_watcher {height: 200px; overflow:auto;}
677 #users_for_watcher label {display: block;}
680 #users_for_watcher label {display: block;}
678
681
679 table.members td.name {padding-left: 20px;}
682 table.members td.name {padding-left: 20px;}
680 table.members td.group, table.members td.groupnonmember, table.members td.groupanonymous {background: url(../images/group.png) no-repeat 0% 1px;}
683 table.members td.group, table.members td.groupnonmember, table.members td.groupanonymous {background: url(../images/group.png) no-repeat 0% 1px;}
681
684
682 input#principal_search, input#user_search {width:90%}
685 input#principal_search, input#user_search {width:90%}
683 .roles-selection label {display:inline-block; width:210px;}
686 .roles-selection label {display:inline-block; width:210px;}
684
687
685 input.autocomplete {
688 input.autocomplete {
686 background: #fff url(../images/magnifier.png) no-repeat 2px 50%; padding-left:20px !important;
689 background: #fff url(../images/magnifier.png) no-repeat 2px 50%; padding-left:20px !important;
687 border:1px solid #9EB1C2; border-radius:2px; height:1.5em;
690 border:1px solid #9EB1C2; border-radius:2px; height:1.5em;
688 }
691 }
689 input.autocomplete.ajax-loading {
692 input.autocomplete.ajax-loading {
690 background-image: url(../images/loading.gif);
693 background-image: url(../images/loading.gif);
691 }
694 }
692
695
693 .role-visibility {padding-left:2em;}
696 .role-visibility {padding-left:2em;}
694
697
695 .objects-selection {
698 .objects-selection {
696 height: 300px;
699 height: 300px;
697 overflow: auto;
700 overflow: auto;
698 margin-bottom: 1em;
701 margin-bottom: 1em;
699 }
702 }
700
703
701 .objects-selection label {
704 .objects-selection label {
702 display: block;
705 display: block;
703 }
706 }
704
707
705 .objects-selection>div {
708 .objects-selection>div {
706 column-count: auto;
709 column-count: auto;
707 column-width: 200px;
710 column-width: 200px;
708 -webkit-column-count: auto;
711 -webkit-column-count: auto;
709 -webkit-column-width: 200px;
712 -webkit-column-width: 200px;
710 -webkit-column-gap : 0.5rem;
713 -webkit-column-gap : 0.5rem;
711 -webkit-column-rule: 1px solid #ccc;
714 -webkit-column-rule: 1px solid #ccc;
712 -moz-column-count: auto;
715 -moz-column-count: auto;
713 -moz-column-width: 200px;
716 -moz-column-width: 200px;
714 -moz-column-gap : 0.5rem;
717 -moz-column-gap : 0.5rem;
715 -moz-column-rule: 1px solid #ccc;
718 -moz-column-rule: 1px solid #ccc;
716 }
719 }
717
720
718 /***** Flash & error messages ****/
721 /***** Flash & error messages ****/
719 #errorExplanation, div.flash, .nodata, .warning, .conflict {
722 #errorExplanation, div.flash, .nodata, .warning, .conflict {
720 padding: 4px 4px 4px 30px;
723 padding: 4px 4px 4px 30px;
721 margin-bottom: 12px;
724 margin-bottom: 12px;
722 font-size: 1.1em;
725 font-size: 1.1em;
723 border: 2px solid;
726 border: 2px solid;
724 border-radius: 3px;
727 border-radius: 3px;
725 }
728 }
726
729
727 div.flash {margin-top: 8px;}
730 div.flash {margin-top: 8px;}
728
731
729 div.flash.error, #errorExplanation {
732 div.flash.error, #errorExplanation {
730 background: url(../images/exclamation.png) 8px 50% no-repeat;
733 background: url(../images/exclamation.png) 8px 50% no-repeat;
731 background-color: #ffe3e3;
734 background-color: #ffe3e3;
732 border-color: #dd0000;
735 border-color: #dd0000;
733 color: #880000;
736 color: #880000;
734 }
737 }
735
738
736 div.flash.notice {
739 div.flash.notice {
737 background: url(../images/true.png) 8px 5px no-repeat;
740 background: url(../images/true.png) 8px 5px no-repeat;
738 background-color: #dfffdf;
741 background-color: #dfffdf;
739 border-color: #9fcf9f;
742 border-color: #9fcf9f;
740 color: #005f00;
743 color: #005f00;
741 }
744 }
742
745
743 div.flash.warning, .conflict {
746 div.flash.warning, .conflict {
744 background: url(../images/warning.png) 8px 5px no-repeat;
747 background: url(../images/warning.png) 8px 5px no-repeat;
745 background-color: #FFEBC1;
748 background-color: #FFEBC1;
746 border-color: #FDBF3B;
749 border-color: #FDBF3B;
747 color: #A6750C;
750 color: #A6750C;
748 text-align: left;
751 text-align: left;
749 }
752 }
750
753
751 .nodata, .warning {
754 .nodata, .warning {
752 text-align: center;
755 text-align: center;
753 background-color: #FFEBC1;
756 background-color: #FFEBC1;
754 border-color: #FDBF3B;
757 border-color: #FDBF3B;
755 color: #A6750C;
758 color: #A6750C;
756 }
759 }
757
760
758 #errorExplanation ul { font-size: 0.9em;}
761 #errorExplanation ul { font-size: 0.9em;}
759 #errorExplanation h2, #errorExplanation p { display: none; }
762 #errorExplanation h2, #errorExplanation p { display: none; }
760
763
761 .conflict-details {font-size:80%;}
764 .conflict-details {font-size:80%;}
762
765
763 /***** Ajax indicator ******/
766 /***** Ajax indicator ******/
764 #ajax-indicator {
767 #ajax-indicator {
765 position: absolute; /* fixed not supported by IE */
768 position: absolute; /* fixed not supported by IE */
766 background-color:#eee;
769 background-color:#eee;
767 border: 1px solid #bbb;
770 border: 1px solid #bbb;
768 top:35%;
771 top:35%;
769 left:40%;
772 left:40%;
770 width:20%;
773 width:20%;
771 font-weight:bold;
774 font-weight:bold;
772 text-align:center;
775 text-align:center;
773 padding:0.6em;
776 padding:0.6em;
774 z-index:100;
777 z-index:100;
775 opacity: 0.5;
778 opacity: 0.5;
776 }
779 }
777
780
778 html>body #ajax-indicator { position: fixed; }
781 html>body #ajax-indicator { position: fixed; }
779
782
780 #ajax-indicator span {
783 #ajax-indicator span {
781 background-position: 0% 40%;
784 background-position: 0% 40%;
782 background-repeat: no-repeat;
785 background-repeat: no-repeat;
783 background-image: url(../images/loading.gif);
786 background-image: url(../images/loading.gif);
784 padding-left: 26px;
787 padding-left: 26px;
785 vertical-align: bottom;
788 vertical-align: bottom;
786 }
789 }
787
790
788 /***** Calendar *****/
791 /***** Calendar *****/
789 table.cal {border-collapse: collapse; width: 100%; margin: 0px 0 6px 0;border: 1px solid #d7d7d7;}
792 table.cal {border-collapse: collapse; width: 100%; margin: 0px 0 6px 0;border: 1px solid #d7d7d7;}
790 table.cal thead th {width: 14%; background-color:#EEEEEE; padding: 4px; }
793 table.cal thead th {width: 14%; background-color:#EEEEEE; padding: 4px; }
791 table.cal thead th.week-number {width: auto;}
794 table.cal thead th.week-number {width: auto;}
792 table.cal tbody tr {height: 100px;}
795 table.cal tbody tr {height: 100px;}
793 table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;}
796 table.cal td {border: 1px solid #d7d7d7; vertical-align: top; font-size: 0.9em;}
794 table.cal td.week-number { background-color:#EEEEEE; padding: 4px; border:none; font-size: 1em;}
797 table.cal td.week-number { background-color:#EEEEEE; padding: 4px; border:none; font-size: 1em;}
795 table.cal td p.day-num {font-size: 1.1em; text-align:right;}
798 table.cal td p.day-num {font-size: 1.1em; text-align:right;}
796 table.cal td.odd p.day-num {color: #bbb;}
799 table.cal td.odd p.day-num {color: #bbb;}
797 table.cal td.today {background:#ffffdd;}
800 table.cal td.today {background:#ffffdd;}
798 table.cal td.today p.day-num {font-weight: bold;}
801 table.cal td.today p.day-num {font-weight: bold;}
799 table.cal .starting a, p.cal.legend .starting {background: url(../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;}
802 table.cal .starting a, p.cal.legend .starting {background: url(../images/bullet_go.png) no-repeat -1px -2px; padding-left:16px;}
800 table.cal .ending a, p.cal.legend .ending {background: url(../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;}
803 table.cal .ending a, p.cal.legend .ending {background: url(../images/bullet_end.png) no-repeat -1px -2px; padding-left:16px;}
801 table.cal .starting.ending a, p.cal.legend .starting.ending {background: url(../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;}
804 table.cal .starting.ending a, p.cal.legend .starting.ending {background: url(../images/bullet_diamond.png) no-repeat -1px -2px; padding-left:16px;}
802 p.cal.legend span {display:block;}
805 p.cal.legend span {display:block;}
803
806
804 /***** Tooltips ******/
807 /***** Tooltips ******/
805 .tooltip{position:relative;z-index:24;}
808 .tooltip{position:relative;z-index:24;}
806 .tooltip:hover{z-index:25;color:#000;}
809 .tooltip:hover{z-index:25;color:#000;}
807 .tooltip span.tip{display: none; text-align:left;}
810 .tooltip span.tip{display: none; text-align:left;}
808
811
809 div.tooltip:hover span.tip{
812 div.tooltip:hover span.tip{
810 display:block;
813 display:block;
811 position:absolute;
814 position:absolute;
812 top:12px; left:24px; width:270px;
815 top:12px; left:24px; width:270px;
813 border:1px solid #555;
816 border:1px solid #555;
814 background-color:#fff;
817 background-color:#fff;
815 padding: 4px;
818 padding: 4px;
816 font-size: 0.8em;
819 font-size: 0.8em;
817 color:#505050;
820 color:#505050;
818 }
821 }
819
822
820 img.ui-datepicker-trigger {
823 img.ui-datepicker-trigger {
821 cursor: pointer;
824 cursor: pointer;
822 vertical-align: middle;
825 vertical-align: middle;
823 margin-left: 4px;
826 margin-left: 4px;
824 }
827 }
825
828
826 /***** Progress bar *****/
829 /***** Progress bar *****/
827 table.progress {
830 table.progress {
828 border-collapse: collapse;
831 border-collapse: collapse;
829 border-spacing: 0pt;
832 border-spacing: 0pt;
830 empty-cells: show;
833 empty-cells: show;
831 text-align: center;
834 text-align: center;
832 float:left;
835 float:left;
833 margin: 1px 6px 1px 0px;
836 margin: 1px 6px 1px 0px;
834 }
837 }
835
838
836 table.progress {width:80px;}
839 table.progress {width:80px;}
837 table.progress td { height: 1em; }
840 table.progress td { height: 1em; }
838 table.progress td.closed { background: #BAE0BA none repeat scroll 0%; }
841 table.progress td.closed { background: #BAE0BA none repeat scroll 0%; }
839 table.progress td.done { background: #D3EDD3 none repeat scroll 0%; }
842 table.progress td.done { background: #D3EDD3 none repeat scroll 0%; }
840 table.progress td.todo { background: #eee none repeat scroll 0%; }
843 table.progress td.todo { background: #eee none repeat scroll 0%; }
841 p.percent {font-size: 80%; margin:0;}
844 p.percent {font-size: 80%; margin:0;}
842 p.progress-info {clear: left; font-size: 80%; margin-top:-4px; color:#777;}
845 p.progress-info {clear: left; font-size: 80%; margin-top:-4px; color:#777;}
843
846
844 .version-overview table.progress {width:40em;}
847 .version-overview table.progress {width:40em;}
845 .version-overview table.progress td { height: 1.2em; }
848 .version-overview table.progress td { height: 1.2em; }
846
849
847 /***** Tabs *****/
850 /***** Tabs *****/
848 #content .tabs {height: 2.6em; margin-bottom:1.2em; position:relative; overflow:hidden;}
851 #content .tabs {height: 2.6em; margin-bottom:1.2em; position:relative; overflow:hidden;}
849 #content .tabs ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; width: 2000px; border-bottom: 1px solid #bbbbbb;}
852 #content .tabs ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; width: 2000px; border-bottom: 1px solid #bbbbbb;}
850 #content .tabs ul li {
853 #content .tabs ul li {
851 float:left;
854 float:left;
852 list-style-type:none;
855 list-style-type:none;
853 white-space:nowrap;
856 white-space:nowrap;
854 margin-right:4px;
857 margin-right:4px;
855 background:#fff;
858 background:#fff;
856 position:relative;
859 position:relative;
857 margin-bottom:-1px;
860 margin-bottom:-1px;
858 }
861 }
859 #content .tabs ul li a{
862 #content .tabs ul li a{
860 display:block;
863 display:block;
861 font-size: 0.9em;
864 font-size: 0.9em;
862 text-decoration:none;
865 text-decoration:none;
863 line-height:1.3em;
866 line-height:1.3em;
864 padding:4px 6px 4px 6px;
867 padding:4px 6px 4px 6px;
865 border: 1px solid #ccc;
868 border: 1px solid #ccc;
866 border-bottom: 1px solid #bbbbbb;
869 border-bottom: 1px solid #bbbbbb;
867 background-color: #f6f6f6;
870 background-color: #f6f6f6;
868 color:#999;
871 color:#999;
869 font-weight:bold;
872 font-weight:bold;
870 border-top-left-radius:3px;
873 border-top-left-radius:3px;
871 border-top-right-radius:3px;
874 border-top-right-radius:3px;
872 }
875 }
873
876
874 #content .tabs ul li a:hover {
877 #content .tabs ul li a:hover {
875 background-color: #ffffdd;
878 background-color: #ffffdd;
876 text-decoration:none;
879 text-decoration:none;
877 }
880 }
878
881
879 #content .tabs ul li a.selected {
882 #content .tabs ul li a.selected {
880 background-color: #fff;
883 background-color: #fff;
881 border: 1px solid #bbbbbb;
884 border: 1px solid #bbbbbb;
882 border-bottom: 1px solid #fff;
885 border-bottom: 1px solid #fff;
883 color:#444;
886 color:#444;
884 }
887 }
885
888
886 #content .tabs ul li a.selected:hover {background-color: #fff;}
889 #content .tabs ul li a.selected:hover {background-color: #fff;}
887
890
888 div.tabs-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; }
891 div.tabs-buttons { position:absolute; right: 0; width: 48px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid #bbbbbb; }
889
892
890 button.tab-left, button.tab-right {
893 button.tab-left, button.tab-right {
891 font-size: 0.9em;
894 font-size: 0.9em;
892 cursor: pointer;
895 cursor: pointer;
893 height:24px;
896 height:24px;
894 border: 1px solid #ccc;
897 border: 1px solid #ccc;
895 border-bottom: 1px solid #bbbbbb;
898 border-bottom: 1px solid #bbbbbb;
896 position:absolute;
899 position:absolute;
897 padding:4px;
900 padding:4px;
898 width: 20px;
901 width: 20px;
899 bottom: -1px;
902 bottom: -1px;
900 }
903 }
901
904
902 button.tab-left {
905 button.tab-left {
903 right: 20px;
906 right: 20px;
904 background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%;
907 background: #eeeeee url(../images/bullet_arrow_left.png) no-repeat 50% 50%;
905 border-top-left-radius:3px;
908 border-top-left-radius:3px;
906 }
909 }
907
910
908 button.tab-right {
911 button.tab-right {
909 right: 0;
912 right: 0;
910 background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%;
913 background: #eeeeee url(../images/bullet_arrow_right.png) no-repeat 50% 50%;
911 border-top-right-radius:3px;
914 border-top-right-radius:3px;
912 }
915 }
913
916
914 /***** Diff *****/
917 /***** Diff *****/
915 .diff_out { background: #fcc; }
918 .diff_out { background: #fcc; }
916 .diff_out span { background: #faa; }
919 .diff_out span { background: #faa; }
917 .diff_in { background: #cfc; }
920 .diff_in { background: #cfc; }
918 .diff_in span { background: #afa; }
921 .diff_in span { background: #afa; }
919
922
920 .text-diff {
923 .text-diff {
921 padding: 1em;
924 padding: 1em;
922 background-color:#f6f6f6;
925 background-color:#f6f6f6;
923 color:#505050;
926 color:#505050;
924 border: 1px solid #e4e4e4;
927 border: 1px solid #e4e4e4;
925 }
928 }
926
929
927 /***** Wiki *****/
930 /***** Wiki *****/
928 div.wiki table {
931 div.wiki table {
929 border-collapse: collapse;
932 border-collapse: collapse;
930 margin-bottom: 1em;
933 margin-bottom: 1em;
931 }
934 }
932
935
933 div.wiki table, div.wiki td, div.wiki th {
936 div.wiki table, div.wiki td, div.wiki th {
934 border: 1px solid #bbb;
937 border: 1px solid #bbb;
935 padding: 4px;
938 padding: 4px;
936 }
939 }
937
940
938 div.wiki .noborder, div.wiki .noborder td, div.wiki .noborder th {border:0;}
941 div.wiki .noborder, div.wiki .noborder td, div.wiki .noborder th {border:0;}
939
942
940 div.wiki .external {
943 div.wiki .external {
941 background-position: 0% 60%;
944 background-position: 0% 60%;
942 background-repeat: no-repeat;
945 background-repeat: no-repeat;
943 padding-left: 12px;
946 padding-left: 12px;
944 background-image: url(../images/external.png);
947 background-image: url(../images/external.png);
945 }
948 }
946
949
947 div.wiki a {word-wrap: break-word;}
950 div.wiki a {word-wrap: break-word;}
948 div.wiki a.new {color: #b73535;}
951 div.wiki a.new {color: #b73535;}
949
952
950 div.wiki ul, div.wiki ol {margin-bottom:1em;}
953 div.wiki ul, div.wiki ol {margin-bottom:1em;}
951 div.wiki li>ul, div.wiki li>ol {margin-bottom: 0;}
954 div.wiki li>ul, div.wiki li>ol {margin-bottom: 0;}
952
955
953 div.wiki pre {
956 div.wiki pre {
954 margin: 1em 1em 1em 1.6em;
957 margin: 1em 1em 1em 1.6em;
955 padding: 8px;
958 padding: 8px;
956 background-color: #fafafa;
959 background-color: #fafafa;
957 border: 1px solid #e2e2e2;
960 border: 1px solid #e2e2e2;
958 border-radius: 3px;
961 border-radius: 3px;
959 width:auto;
962 width:auto;
960 overflow-x: auto;
963 overflow-x: auto;
961 overflow-y: hidden;
964 overflow-y: hidden;
962 }
965 }
963
966
964 div.wiki ul.toc {
967 div.wiki ul.toc {
965 background-color: #ffffdd;
968 background-color: #ffffdd;
966 border: 1px solid #e4e4e4;
969 border: 1px solid #e4e4e4;
967 padding: 4px;
970 padding: 4px;
968 line-height: 1.2em;
971 line-height: 1.2em;
969 margin-bottom: 12px;
972 margin-bottom: 12px;
970 margin-right: 12px;
973 margin-right: 12px;
971 margin-left: 0;
974 margin-left: 0;
972 display: table
975 display: table
973 }
976 }
974 * html div.wiki ul.toc { width: 50%; } /* IE6 doesn't autosize div */
977 * html div.wiki ul.toc { width: 50%; } /* IE6 doesn't autosize div */
975
978
976 div.wiki ul.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; }
979 div.wiki ul.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; }
977 div.wiki ul.toc.left { float: left; margin-right: 12px; margin-left: 0; width: auto; }
980 div.wiki ul.toc.left { float: left; margin-right: 12px; margin-left: 0; width: auto; }
978 div.wiki ul.toc ul { margin: 0; padding: 0; }
981 div.wiki ul.toc ul { margin: 0; padding: 0; }
979 div.wiki ul.toc li {list-style-type:none; margin: 0; font-size:12px;}
982 div.wiki ul.toc li {list-style-type:none; margin: 0; font-size:12px;}
980 div.wiki ul.toc li li {margin-left: 1.5em; font-size:10px;}
983 div.wiki ul.toc li li {margin-left: 1.5em; font-size:10px;}
981 div.wiki ul.toc a {
984 div.wiki ul.toc a {
982 font-size: 0.9em;
985 font-size: 0.9em;
983 font-weight: normal;
986 font-weight: normal;
984 text-decoration: none;
987 text-decoration: none;
985 color: #606060;
988 color: #606060;
986 }
989 }
987 div.wiki ul.toc a:hover { color: #c61a1a; text-decoration: underline;}
990 div.wiki ul.toc a:hover { color: #c61a1a; text-decoration: underline;}
988
991
989 a.wiki-anchor { display: none; margin-left: 6px; text-decoration: none; }
992 a.wiki-anchor { display: none; margin-left: 6px; text-decoration: none; }
990 a.wiki-anchor:hover { color: #aaa !important; text-decoration: none; }
993 a.wiki-anchor:hover { color: #aaa !important; text-decoration: none; }
991 h1:hover a.wiki-anchor, h2:hover a.wiki-anchor, h3:hover a.wiki-anchor { display: inline; color: #ddd; }
994 h1:hover a.wiki-anchor, h2:hover a.wiki-anchor, h3:hover a.wiki-anchor { display: inline; color: #ddd; }
992
995
993 div.wiki img {vertical-align:middle; max-width:100%;}
996 div.wiki img {vertical-align:middle; max-width:100%;}
994
997
995 /***** My page layout *****/
998 /***** My page layout *****/
996 .block-receiver {
999 .block-receiver {
997 border:1px dashed #c0c0c0;
1000 border:1px dashed #c0c0c0;
998 margin-bottom: 20px;
1001 margin-bottom: 20px;
999 padding: 15px 0 15px 0;
1002 padding: 15px 0 15px 0;
1000 }
1003 }
1001
1004
1002 .mypage-box {
1005 .mypage-box {
1003 margin:0 0 20px 0;
1006 margin:0 0 20px 0;
1004 color:#505050;
1007 color:#505050;
1005 line-height:1.5em;
1008 line-height:1.5em;
1006 }
1009 }
1007
1010
1008 .handle {cursor: move;}
1011 .handle {cursor: move;}
1009
1012
1010 a.close-icon {
1013 a.close-icon {
1011 display:block;
1014 display:block;
1012 margin-top:3px;
1015 margin-top:3px;
1013 overflow:hidden;
1016 overflow:hidden;
1014 width:12px;
1017 width:12px;
1015 height:12px;
1018 height:12px;
1016 background-repeat: no-repeat;
1019 background-repeat: no-repeat;
1017 cursor:pointer;
1020 cursor:pointer;
1018 background-image:url('../images/close.png');
1021 background-image:url('../images/close.png');
1019 }
1022 }
1020 a.close-icon:hover {background-image:url('../images/close_hl.png');}
1023 a.close-icon:hover {background-image:url('../images/close_hl.png');}
1021
1024
1022 /***** Gantt chart *****/
1025 /***** Gantt chart *****/
1023 .gantt_hdr {
1026 .gantt_hdr {
1024 position:absolute;
1027 position:absolute;
1025 top:0;
1028 top:0;
1026 height:16px;
1029 height:16px;
1027 border-top: 1px solid #c0c0c0;
1030 border-top: 1px solid #c0c0c0;
1028 border-bottom: 1px solid #c0c0c0;
1031 border-bottom: 1px solid #c0c0c0;
1029 border-right: 1px solid #c0c0c0;
1032 border-right: 1px solid #c0c0c0;
1030 text-align: center;
1033 text-align: center;
1031 overflow: hidden;
1034 overflow: hidden;
1032 }
1035 }
1033
1036
1034 .gantt_hdr.nwday {background-color:#f1f1f1; color:#999;}
1037 .gantt_hdr.nwday {background-color:#f1f1f1; color:#999;}
1035
1038
1036 .gantt_subjects { font-size: 0.8em; }
1039 .gantt_subjects { font-size: 0.8em; }
1037 .gantt_subjects div { line-height:16px;height:16px;overflow:hidden;white-space:nowrap;text-overflow: ellipsis; }
1040 .gantt_subjects div { line-height:16px;height:16px;overflow:hidden;white-space:nowrap;text-overflow: ellipsis; }
1038
1041
1039 .task {
1042 .task {
1040 position: absolute;
1043 position: absolute;
1041 height:8px;
1044 height:8px;
1042 font-size:0.8em;
1045 font-size:0.8em;
1043 color:#888;
1046 color:#888;
1044 padding:0;
1047 padding:0;
1045 margin:0;
1048 margin:0;
1046 line-height:16px;
1049 line-height:16px;
1047 white-space:nowrap;
1050 white-space:nowrap;
1048 }
1051 }
1049
1052
1050 .task.label {width:100%;}
1053 .task.label {width:100%;}
1051 .task.label.project, .task.label.version { font-weight: bold; }
1054 .task.label.project, .task.label.version { font-weight: bold; }
1052
1055
1053 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
1056 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
1054 .task_done { background:#00c600 url(../images/task_done.png); border: 1px solid #00c600; }
1057 .task_done { background:#00c600 url(../images/task_done.png); border: 1px solid #00c600; }
1055 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
1058 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
1056
1059
1057 .task_todo.parent { background: #888; border: 1px solid #888; height: 3px;}
1060 .task_todo.parent { background: #888; border: 1px solid #888; height: 3px;}
1058 .task_late.parent, .task_done.parent { height: 3px;}
1061 .task_late.parent, .task_done.parent { height: 3px;}
1059 .task.parent.marker.starting { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; left: 0px; top: -1px;}
1062 .task.parent.marker.starting { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; left: 0px; top: -1px;}
1060 .task.parent.marker.ending { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; right: 0px; top: -1px;}
1063 .task.parent.marker.ending { position: absolute; background: url(../images/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; right: 0px; top: -1px;}
1061
1064
1062 .version.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
1065 .version.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
1063 .version.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
1066 .version.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
1064 .version.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
1067 .version.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
1065 .version.marker { background-image:url(../images/version_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
1068 .version.marker { background-image:url(../images/version_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
1066
1069
1067 .project.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
1070 .project.task_late { background:#f66 url(../images/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
1068 .project.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
1071 .project.task_done { background:#00c600 url(../images/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
1069 .project.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
1072 .project.task_todo { background:#fff url(../images/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
1070 .project.marker { background-image:url(../images/project_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
1073 .project.marker { background-image:url(../images/project_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
1071
1074
1072 .version-behind-schedule a, .issue-behind-schedule a {color: #f66914;}
1075 .version-behind-schedule a, .issue-behind-schedule a {color: #f66914;}
1073 .version-overdue a, .issue-overdue a, .project-overdue a {color: #f00;}
1076 .version-overdue a, .issue-overdue a, .project-overdue a {color: #f00;}
1074
1077
1075 /***** Icons *****/
1078 /***** Icons *****/
1076 .icon {
1079 .icon {
1077 background-position: 0% 50%;
1080 background-position: 0% 50%;
1078 background-repeat: no-repeat;
1081 background-repeat: no-repeat;
1079 padding-left: 20px;
1082 padding-left: 20px;
1080 padding-top: 2px;
1083 padding-top: 2px;
1081 padding-bottom: 3px;
1084 padding-bottom: 3px;
1082 }
1085 }
1083
1086
1084 .icon-add { background-image: url(../images/add.png); }
1087 .icon-add { background-image: url(../images/add.png); }
1085 .icon-edit { background-image: url(../images/edit.png); }
1088 .icon-edit { background-image: url(../images/edit.png); }
1086 .icon-copy { background-image: url(../images/copy.png); }
1089 .icon-copy { background-image: url(../images/copy.png); }
1087 .icon-duplicate { background-image: url(../images/duplicate.png); }
1090 .icon-duplicate { background-image: url(../images/duplicate.png); }
1088 .icon-del { background-image: url(../images/delete.png); }
1091 .icon-del { background-image: url(../images/delete.png); }
1089 .icon-move { background-image: url(../images/move.png); }
1092 .icon-move { background-image: url(../images/move.png); }
1090 .icon-save { background-image: url(../images/save.png); }
1093 .icon-save { background-image: url(../images/save.png); }
1091 .icon-cancel { background-image: url(../images/cancel.png); }
1094 .icon-cancel { background-image: url(../images/cancel.png); }
1092 .icon-multiple { background-image: url(../images/table_multiple.png); }
1095 .icon-multiple { background-image: url(../images/table_multiple.png); }
1093 .icon-folder { background-image: url(../images/folder.png); }
1096 .icon-folder { background-image: url(../images/folder.png); }
1094 .open .icon-folder { background-image: url(../images/folder_open.png); }
1097 .open .icon-folder { background-image: url(../images/folder_open.png); }
1095 .icon-package { background-image: url(../images/package.png); }
1098 .icon-package { background-image: url(../images/package.png); }
1096 .icon-user { background-image: url(../images/user.png); }
1099 .icon-user { background-image: url(../images/user.png); }
1097 .icon-projects { background-image: url(../images/projects.png); }
1100 .icon-projects { background-image: url(../images/projects.png); }
1098 .icon-help { background-image: url(../images/help.png); }
1101 .icon-help { background-image: url(../images/help.png); }
1099 .icon-attachment { background-image: url(../images/attachment.png); }
1102 .icon-attachment { background-image: url(../images/attachment.png); }
1100 .icon-history { background-image: url(../images/history.png); }
1103 .icon-history { background-image: url(../images/history.png); }
1101 .icon-time { background-image: url(../images/time.png); }
1104 .icon-time { background-image: url(../images/time.png); }
1102 .icon-time-add { background-image: url(../images/time_add.png); }
1105 .icon-time-add { background-image: url(../images/time_add.png); }
1103 .icon-stats { background-image: url(../images/stats.png); }
1106 .icon-stats { background-image: url(../images/stats.png); }
1104 .icon-warning { background-image: url(../images/warning.png); }
1107 .icon-warning { background-image: url(../images/warning.png); }
1105 .icon-fav { background-image: url(../images/fav.png); }
1108 .icon-fav { background-image: url(../images/fav.png); }
1106 .icon-fav-off { background-image: url(../images/fav_off.png); }
1109 .icon-fav-off { background-image: url(../images/fav_off.png); }
1107 .icon-reload { background-image: url(../images/reload.png); }
1110 .icon-reload { background-image: url(../images/reload.png); }
1108 .icon-lock { background-image: url(../images/locked.png); }
1111 .icon-lock { background-image: url(../images/locked.png); }
1109 .icon-unlock { background-image: url(../images/unlock.png); }
1112 .icon-unlock { background-image: url(../images/unlock.png); }
1110 .icon-checked { background-image: url(../images/true.png); }
1113 .icon-checked { background-image: url(../images/true.png); }
1111 .icon-details { background-image: url(../images/zoom_in.png); }
1114 .icon-details { background-image: url(../images/zoom_in.png); }
1112 .icon-report { background-image: url(../images/report.png); }
1115 .icon-report { background-image: url(../images/report.png); }
1113 .icon-comment { background-image: url(../images/comment.png); }
1116 .icon-comment { background-image: url(../images/comment.png); }
1114 .icon-summary { background-image: url(../images/lightning.png); }
1117 .icon-summary { background-image: url(../images/lightning.png); }
1115 .icon-server-authentication { background-image: url(../images/server_key.png); }
1118 .icon-server-authentication { background-image: url(../images/server_key.png); }
1116 .icon-issue { background-image: url(../images/ticket.png); }
1119 .icon-issue { background-image: url(../images/ticket.png); }
1117 .icon-zoom-in { background-image: url(../images/zoom_in.png); }
1120 .icon-zoom-in { background-image: url(../images/zoom_in.png); }
1118 .icon-zoom-out { background-image: url(../images/zoom_out.png); }
1121 .icon-zoom-out { background-image: url(../images/zoom_out.png); }
1119 .icon-passwd { background-image: url(../images/textfield_key.png); }
1122 .icon-passwd { background-image: url(../images/textfield_key.png); }
1120 .icon-test { background-image: url(../images/bullet_go.png); }
1123 .icon-test { background-image: url(../images/bullet_go.png); }
1121 .icon-email-add { background-image: url(../images/email_add.png); }
1124 .icon-email-add { background-image: url(../images/email_add.png); }
1122
1125
1123 .icon-file { background-image: url(../images/files/default.png); }
1126 .icon-file { background-image: url(../images/files/default.png); }
1124 .icon-file.text-plain { background-image: url(../images/files/text.png); }
1127 .icon-file.text-plain { background-image: url(../images/files/text.png); }
1125 .icon-file.text-x-c { background-image: url(../images/files/c.png); }
1128 .icon-file.text-x-c { background-image: url(../images/files/c.png); }
1126 .icon-file.text-x-csharp { background-image: url(../images/files/csharp.png); }
1129 .icon-file.text-x-csharp { background-image: url(../images/files/csharp.png); }
1127 .icon-file.text-x-java { background-image: url(../images/files/java.png); }
1130 .icon-file.text-x-java { background-image: url(../images/files/java.png); }
1128 .icon-file.text-x-javascript { background-image: url(../images/files/js.png); }
1131 .icon-file.text-x-javascript { background-image: url(../images/files/js.png); }
1129 .icon-file.text-x-php { background-image: url(../images/files/php.png); }
1132 .icon-file.text-x-php { background-image: url(../images/files/php.png); }
1130 .icon-file.text-x-ruby { background-image: url(../images/files/ruby.png); }
1133 .icon-file.text-x-ruby { background-image: url(../images/files/ruby.png); }
1131 .icon-file.text-xml { background-image: url(../images/files/xml.png); }
1134 .icon-file.text-xml { background-image: url(../images/files/xml.png); }
1132 .icon-file.text-css { background-image: url(../images/files/css.png); }
1135 .icon-file.text-css { background-image: url(../images/files/css.png); }
1133 .icon-file.text-html { background-image: url(../images/files/html.png); }
1136 .icon-file.text-html { background-image: url(../images/files/html.png); }
1134 .icon-file.image-gif { background-image: url(../images/files/image.png); }
1137 .icon-file.image-gif { background-image: url(../images/files/image.png); }
1135 .icon-file.image-jpeg { background-image: url(../images/files/image.png); }
1138 .icon-file.image-jpeg { background-image: url(../images/files/image.png); }
1136 .icon-file.image-png { background-image: url(../images/files/image.png); }
1139 .icon-file.image-png { background-image: url(../images/files/image.png); }
1137 .icon-file.image-tiff { background-image: url(../images/files/image.png); }
1140 .icon-file.image-tiff { background-image: url(../images/files/image.png); }
1138 .icon-file.application-pdf { background-image: url(../images/files/pdf.png); }
1141 .icon-file.application-pdf { background-image: url(../images/files/pdf.png); }
1139 .icon-file.application-zip { background-image: url(../images/files/zip.png); }
1142 .icon-file.application-zip { background-image: url(../images/files/zip.png); }
1140 .icon-file.application-x-gzip { background-image: url(../images/files/zip.png); }
1143 .icon-file.application-x-gzip { background-image: url(../images/files/zip.png); }
1141
1144
1142 img.gravatar {
1145 img.gravatar {
1143 padding: 2px;
1146 padding: 2px;
1144 border: solid 1px #d5d5d5;
1147 border: solid 1px #d5d5d5;
1145 background: #fff;
1148 background: #fff;
1146 vertical-align: middle;
1149 vertical-align: middle;
1147 }
1150 }
1148
1151
1149 div.issue img.gravatar {
1152 div.issue img.gravatar {
1150 float: left;
1153 float: left;
1151 margin: 0 6px 0 0;
1154 margin: 0 6px 0 0;
1152 padding: 5px;
1155 padding: 5px;
1153 }
1156 }
1154
1157
1155 div.issue .attributes img.gravatar {
1158 div.issue .attributes img.gravatar {
1156 height: 14px;
1159 height: 14px;
1157 width: 14px;
1160 width: 14px;
1158 padding: 2px;
1161 padding: 2px;
1159 float: left;
1162 float: left;
1160 margin: 0 0.5em 0 0;
1163 margin: 0 0.5em 0 0;
1161 }
1164 }
1162
1165
1163 h2 img.gravatar {margin: -2px 4px -4px 0;}
1166 h2 img.gravatar {margin: -2px 4px -4px 0;}
1164 h3 img.gravatar {margin: -4px 4px -4px 0;}
1167 h3 img.gravatar {margin: -4px 4px -4px 0;}
1165 h4 img.gravatar {margin: -6px 4px -4px 0;}
1168 h4 img.gravatar {margin: -6px 4px -4px 0;}
1166 td.username img.gravatar {margin: 0 0.5em 0 0; vertical-align: top;}
1169 td.username img.gravatar {margin: 0 0.5em 0 0; vertical-align: top;}
1167 #activity dt img.gravatar {float: left; margin: 0 1em 1em 0;}
1170 #activity dt img.gravatar {float: left; margin: 0 1em 1em 0;}
1168 /* Used on 12px Gravatar img tags without the icon background */
1171 /* Used on 12px Gravatar img tags without the icon background */
1169 .icon-gravatar {float: left; margin-right: 4px;}
1172 .icon-gravatar {float: left; margin-right: 4px;}
1170
1173
1171 #activity dt, .journal {clear: left;}
1174 #activity dt, .journal {clear: left;}
1172
1175
1173 .journal-link {float: right;}
1176 .journal-link {float: right;}
1174
1177
1175 h2 img { vertical-align:middle; }
1178 h2 img { vertical-align:middle; }
1176
1179
1177 .hascontextmenu { cursor: context-menu; }
1180 .hascontextmenu { cursor: context-menu; }
1178
1181
1179 .sample-data {border:1px solid #ccc; border-collapse:collapse; background-color:#fff; margin:0.5em;}
1182 .sample-data {border:1px solid #ccc; border-collapse:collapse; background-color:#fff; margin:0.5em;}
1180 .sample-data td {border:1px solid #ccc; padding: 2px 4px; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace;}
1183 .sample-data td {border:1px solid #ccc; padding: 2px 4px; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace;}
1181 .sample-data tr:first-child td {font-weight:bold; text-align:center;}
1184 .sample-data tr:first-child td {font-weight:bold; text-align:center;}
1182
1185
1183 .ui-progressbar {position: relative;}
1186 .ui-progressbar {position: relative;}
1184 #progress-label {
1187 #progress-label {
1185 position: absolute; left: 50%; top: 4px;
1188 position: absolute; left: 50%; top: 4px;
1186 font-weight: bold;
1189 font-weight: bold;
1187 color: #555; text-shadow: 1px 1px 0 #fff;
1190 color: #555; text-shadow: 1px 1px 0 #fff;
1188 }
1191 }
1189
1192
1190 /* Custom JQuery styles */
1193 /* Custom JQuery styles */
1191 .ui-datepicker-title select {width:70px !important; margin-top:-2px !important; margin-right:4px !important;}
1194 .ui-datepicker-title select {width:70px !important; margin-top:-2px !important; margin-right:4px !important;}
1192
1195
1193
1196
1194 /************* CodeRay styles *************/
1197 /************* CodeRay styles *************/
1195 .syntaxhl div {display: inline;}
1198 .syntaxhl div {display: inline;}
1196 .syntaxhl .code pre { overflow: auto }
1199 .syntaxhl .code pre { overflow: auto }
1197
1200
1198 .syntaxhl .annotation { color:#007 }
1201 .syntaxhl .annotation { color:#007 }
1199 .syntaxhl .attribute-name { color:#b48 }
1202 .syntaxhl .attribute-name { color:#b48 }
1200 .syntaxhl .attribute-value { color:#700 }
1203 .syntaxhl .attribute-value { color:#700 }
1201 .syntaxhl .binary { color:#549 }
1204 .syntaxhl .binary { color:#549 }
1202 .syntaxhl .binary .char { color:#325 }
1205 .syntaxhl .binary .char { color:#325 }
1203 .syntaxhl .binary .delimiter { color:#325 }
1206 .syntaxhl .binary .delimiter { color:#325 }
1204 .syntaxhl .char { color:#D20 }
1207 .syntaxhl .char { color:#D20 }
1205 .syntaxhl .char .content { color:#D20 }
1208 .syntaxhl .char .content { color:#D20 }
1206 .syntaxhl .char .delimiter { color:#710 }
1209 .syntaxhl .char .delimiter { color:#710 }
1207 .syntaxhl .class { color:#258; font-weight:bold }
1210 .syntaxhl .class { color:#258; font-weight:bold }
1208 .syntaxhl .class-variable { color:#369 }
1211 .syntaxhl .class-variable { color:#369 }
1209 .syntaxhl .color { color:#0A0 }
1212 .syntaxhl .color { color:#0A0 }
1210 .syntaxhl .comment { color:#385 }
1213 .syntaxhl .comment { color:#385 }
1211 .syntaxhl .comment .char { color:#385 }
1214 .syntaxhl .comment .char { color:#385 }
1212 .syntaxhl .comment .delimiter { color:#385 }
1215 .syntaxhl .comment .delimiter { color:#385 }
1213 .syntaxhl .constant { color:#258; font-weight:bold }
1216 .syntaxhl .constant { color:#258; font-weight:bold }
1214 .syntaxhl .decorator { color:#B0B }
1217 .syntaxhl .decorator { color:#B0B }
1215 .syntaxhl .definition { color:#099; font-weight:bold }
1218 .syntaxhl .definition { color:#099; font-weight:bold }
1216 .syntaxhl .delimiter { color:black }
1219 .syntaxhl .delimiter { color:black }
1217 .syntaxhl .directive { color:#088; font-weight:bold }
1220 .syntaxhl .directive { color:#088; font-weight:bold }
1218 .syntaxhl .docstring { color:#D42; }
1221 .syntaxhl .docstring { color:#D42; }
1219 .syntaxhl .doctype { color:#34b }
1222 .syntaxhl .doctype { color:#34b }
1220 .syntaxhl .done { text-decoration: line-through; color: gray }
1223 .syntaxhl .done { text-decoration: line-through; color: gray }
1221 .syntaxhl .entity { color:#800; font-weight:bold }
1224 .syntaxhl .entity { color:#800; font-weight:bold }
1222 .syntaxhl .error { color:#F00; background-color:#FAA }
1225 .syntaxhl .error { color:#F00; background-color:#FAA }
1223 .syntaxhl .escape { color:#666 }
1226 .syntaxhl .escape { color:#666 }
1224 .syntaxhl .exception { color:#C00; font-weight:bold }
1227 .syntaxhl .exception { color:#C00; font-weight:bold }
1225 .syntaxhl .float { color:#06D }
1228 .syntaxhl .float { color:#06D }
1226 .syntaxhl .function { color:#06B; font-weight:bold }
1229 .syntaxhl .function { color:#06B; font-weight:bold }
1227 .syntaxhl .function .delimiter { color:#024; font-weight:bold }
1230 .syntaxhl .function .delimiter { color:#024; font-weight:bold }
1228 .syntaxhl .global-variable { color:#d70 }
1231 .syntaxhl .global-variable { color:#d70 }
1229 .syntaxhl .hex { color:#02b }
1232 .syntaxhl .hex { color:#02b }
1230 .syntaxhl .id { color:#33D; font-weight:bold }
1233 .syntaxhl .id { color:#33D; font-weight:bold }
1231 .syntaxhl .include { color:#B44; font-weight:bold }
1234 .syntaxhl .include { color:#B44; font-weight:bold }
1232 .syntaxhl .inline { background-color: hsla(0,0%,0%,0.07); color: black }
1235 .syntaxhl .inline { background-color: hsla(0,0%,0%,0.07); color: black }
1233 .syntaxhl .inline-delimiter { font-weight: bold; color: #666 }
1236 .syntaxhl .inline-delimiter { font-weight: bold; color: #666 }
1234 .syntaxhl .instance-variable { color:#33B }
1237 .syntaxhl .instance-variable { color:#33B }
1235 .syntaxhl .integer { color:#06D }
1238 .syntaxhl .integer { color:#06D }
1236 .syntaxhl .imaginary { color:#f00 }
1239 .syntaxhl .imaginary { color:#f00 }
1237 .syntaxhl .important { color:#D00 }
1240 .syntaxhl .important { color:#D00 }
1238 .syntaxhl .key { color: #606 }
1241 .syntaxhl .key { color: #606 }
1239 .syntaxhl .key .char { color: #60f }
1242 .syntaxhl .key .char { color: #60f }
1240 .syntaxhl .key .delimiter { color: #404 }
1243 .syntaxhl .key .delimiter { color: #404 }
1241 .syntaxhl .keyword { color:#939; font-weight:bold }
1244 .syntaxhl .keyword { color:#939; font-weight:bold }
1242 .syntaxhl .label { color:#970; font-weight:bold }
1245 .syntaxhl .label { color:#970; font-weight:bold }
1243 .syntaxhl .local-variable { color:#950 }
1246 .syntaxhl .local-variable { color:#950 }
1244 .syntaxhl .map .content { color:#808 }
1247 .syntaxhl .map .content { color:#808 }
1245 .syntaxhl .map .delimiter { color:#40A}
1248 .syntaxhl .map .delimiter { color:#40A}
1246 .syntaxhl .map { background-color:hsla(200,100%,50%,0.06); }
1249 .syntaxhl .map { background-color:hsla(200,100%,50%,0.06); }
1247 .syntaxhl .namespace { color:#707; font-weight:bold }
1250 .syntaxhl .namespace { color:#707; font-weight:bold }
1248 .syntaxhl .octal { color:#40E }
1251 .syntaxhl .octal { color:#40E }
1249 .syntaxhl .operator { }
1252 .syntaxhl .operator { }
1250 .syntaxhl .predefined { color:#369; font-weight:bold }
1253 .syntaxhl .predefined { color:#369; font-weight:bold }
1251 .syntaxhl .predefined-constant { color:#069 }
1254 .syntaxhl .predefined-constant { color:#069 }
1252 .syntaxhl .predefined-type { color:#0a8; font-weight:bold }
1255 .syntaxhl .predefined-type { color:#0a8; font-weight:bold }
1253 .syntaxhl .preprocessor { color:#579 }
1256 .syntaxhl .preprocessor { color:#579 }
1254 .syntaxhl .pseudo-class { color:#00C; font-weight:bold }
1257 .syntaxhl .pseudo-class { color:#00C; font-weight:bold }
1255 .syntaxhl .regexp { background-color:hsla(300,100%,50%,0.06); }
1258 .syntaxhl .regexp { background-color:hsla(300,100%,50%,0.06); }
1256 .syntaxhl .regexp .content { color:#808 }
1259 .syntaxhl .regexp .content { color:#808 }
1257 .syntaxhl .regexp .delimiter { color:#404 }
1260 .syntaxhl .regexp .delimiter { color:#404 }
1258 .syntaxhl .regexp .modifier { color:#C2C }
1261 .syntaxhl .regexp .modifier { color:#C2C }
1259 .syntaxhl .reserved { color:#080; font-weight:bold }
1262 .syntaxhl .reserved { color:#080; font-weight:bold }
1260 .syntaxhl .shell { background-color:hsla(120,100%,50%,0.06); }
1263 .syntaxhl .shell { background-color:hsla(120,100%,50%,0.06); }
1261 .syntaxhl .shell .content { color:#2B2 }
1264 .syntaxhl .shell .content { color:#2B2 }
1262 .syntaxhl .shell .delimiter { color:#161 }
1265 .syntaxhl .shell .delimiter { color:#161 }
1263 .syntaxhl .string .char { color: #46a }
1266 .syntaxhl .string .char { color: #46a }
1264 .syntaxhl .string .content { color: #46a }
1267 .syntaxhl .string .content { color: #46a }
1265 .syntaxhl .string .delimiter { color: #46a }
1268 .syntaxhl .string .delimiter { color: #46a }
1266 .syntaxhl .string .modifier { color: #46a }
1269 .syntaxhl .string .modifier { color: #46a }
1267 .syntaxhl .symbol { color:#d33 }
1270 .syntaxhl .symbol { color:#d33 }
1268 .syntaxhl .symbol .content { color:#d33 }
1271 .syntaxhl .symbol .content { color:#d33 }
1269 .syntaxhl .symbol .delimiter { color:#d33 }
1272 .syntaxhl .symbol .delimiter { color:#d33 }
1270 .syntaxhl .tag { color:#070; font-weight:bold }
1273 .syntaxhl .tag { color:#070; font-weight:bold }
1271 .syntaxhl .type { color:#339; font-weight:bold }
1274 .syntaxhl .type { color:#339; font-weight:bold }
1272 .syntaxhl .value { color: #088 }
1275 .syntaxhl .value { color: #088 }
1273 .syntaxhl .variable { color:#037 }
1276 .syntaxhl .variable { color:#037 }
1274
1277
1275 .syntaxhl .insert { background: hsla(120,100%,50%,0.12) }
1278 .syntaxhl .insert { background: hsla(120,100%,50%,0.12) }
1276 .syntaxhl .delete { background: hsla(0,100%,50%,0.12) }
1279 .syntaxhl .delete { background: hsla(0,100%,50%,0.12) }
1277 .syntaxhl .change { color: #bbf; background: #007 }
1280 .syntaxhl .change { color: #bbf; background: #007 }
1278 .syntaxhl .head { color: #f8f; background: #505 }
1281 .syntaxhl .head { color: #f8f; background: #505 }
1279 .syntaxhl .head .filename { color: white; }
1282 .syntaxhl .head .filename { color: white; }
1280
1283
1281 .syntaxhl .delete .eyecatcher { background-color: hsla(0,100%,50%,0.2); border: 1px solid hsla(0,100%,45%,0.5); margin: -1px; border-bottom: none; border-top-left-radius: 5px; border-top-right-radius: 5px; }
1284 .syntaxhl .delete .eyecatcher { background-color: hsla(0,100%,50%,0.2); border: 1px solid hsla(0,100%,45%,0.5); margin: -1px; border-bottom: none; border-top-left-radius: 5px; border-top-right-radius: 5px; }
1282 .syntaxhl .insert .eyecatcher { background-color: hsla(120,100%,50%,0.2); border: 1px solid hsla(120,100%,25%,0.5); margin: -1px; border-top: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
1285 .syntaxhl .insert .eyecatcher { background-color: hsla(120,100%,50%,0.2); border: 1px solid hsla(120,100%,25%,0.5); margin: -1px; border-top: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
1283
1286
1284 .syntaxhl .insert .insert { color: #0c0; background:transparent; font-weight:bold }
1287 .syntaxhl .insert .insert { color: #0c0; background:transparent; font-weight:bold }
1285 .syntaxhl .delete .delete { color: #c00; background:transparent; font-weight:bold }
1288 .syntaxhl .delete .delete { color: #c00; background:transparent; font-weight:bold }
1286 .syntaxhl .change .change { color: #88f }
1289 .syntaxhl .change .change { color: #88f }
1287 .syntaxhl .head .head { color: #f4f }
1290 .syntaxhl .head .head { color: #f4f }
1288
1291
1289 /***** Media print specific styles *****/
1292 /***** Media print specific styles *****/
1290 @media print {
1293 @media print {
1291 #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; }
1294 #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; }
1292 #main { background: #fff; }
1295 #main { background: #fff; }
1293 #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;}
1296 #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;}
1294 #wiki_add_attachment { display:none; }
1297 #wiki_add_attachment { display:none; }
1295 .hide-when-print { display: none; }
1298 .hide-when-print { display: none; }
1296 .autoscroll {overflow-x: visible;}
1299 .autoscroll {overflow-x: visible;}
1297 table.list {margin-top:0.5em;}
1300 table.list {margin-top:0.5em;}
1298 table.list th, table.list td {border: 1px solid #aaa;}
1301 table.list th, table.list td {border: 1px solid #aaa;}
1299 }
1302 }
1300
1303
1301 /* Accessibility specific styles */
1304 /* Accessibility specific styles */
1302 .hidden-for-sighted {
1305 .hidden-for-sighted {
1303 position:absolute;
1306 position:absolute;
1304 left:-10000px;
1307 left:-10000px;
1305 top:auto;
1308 top:auto;
1306 width:1px;
1309 width:1px;
1307 height:1px;
1310 height:1px;
1308 overflow:hidden;
1311 overflow:hidden;
1309 }
1312 }
General Comments 0
You need to be logged in to leave comments. Login now