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