##// END OF EJS Templates
Merge pull request #3601 from minrk/headingmath2...
Min RK -
r11432:ae04a0df merge
parent child Browse files
Show More
@@ -1,552 +1,552 b''
1 1 //----------------------------------------------------------------------------
2 2 // Copyright (C) 2008-2012 The IPython Development Team
3 3 //
4 4 // Distributed under the terms of the BSD License. The full license is in
5 5 // the file COPYING, distributed as part of this software.
6 6 //----------------------------------------------------------------------------
7 7
8 8 //============================================================================
9 9 // TextCell
10 10 //============================================================================
11 11
12 12
13 13
14 14 /**
15 15 A module that allow to create different type of Text Cell
16 16 @module IPython
17 17 @namespace IPython
18 18 */
19 19 var IPython = (function (IPython) {
20 20
21 21 // TextCell base class
22 22 var key = IPython.utils.keycodes;
23 23
24 24 /**
25 25 * Construct a new TextCell, codemirror mode is by default 'htmlmixed', and cell type is 'text'
26 26 * cell start as not redered.
27 27 *
28 28 * @class TextCell
29 29 * @constructor TextCell
30 * @extend Ipython.Cell
30 * @extend IPython.Cell
31 31 * @param {object|undefined} [options]
32 32 * @param [options.cm_config] {object} config to pass to CodeMirror, will extend/overwrite default config
33 33 * @param [options.placeholder] {string} default string to use when souce in empty for rendering (only use in some TextCell subclass)
34 34 */
35 35 var TextCell = function (options) {
36 36 // in all TextCell/Cell subclasses
37 37 // do not assign most of members here, just pass it down
38 38 // in the options dict potentially overwriting what you wish.
39 39 // they will be assigned in the base class.
40 40
41 41 // we cannot put this as a class key as it has handle to "this".
42 42 var cm_overwrite_options = {
43 43 onKeyEvent: $.proxy(this.handle_codemirror_keyevent,this)
44 44 };
45 45
46 46 options = this.mergeopt(TextCell,options,{cm_config:cm_overwrite_options});
47 47
48 48 IPython.Cell.apply(this, [options]);
49 49
50 50
51 51 this.rendered = false;
52 52 this.cell_type = this.cell_type || 'text';
53 53 };
54 54
55 55 TextCell.prototype = new IPython.Cell();
56 56
57 57 TextCell.options_default = {
58 58 cm_config : {
59 59 extraKeys: {"Tab": "indentMore","Shift-Tab" : "indentLess"},
60 60 mode: 'htmlmixed',
61 61 lineWrapping : true,
62 62 }
63 63 };
64 64
65 65
66 66
67 67 /**
68 68 * Create the DOM element of the TextCell
69 69 * @method create_element
70 70 * @private
71 71 */
72 72 TextCell.prototype.create_element = function () {
73 73 IPython.Cell.prototype.create_element.apply(this, arguments);
74 74 var cell = $("<div>").addClass('cell text_cell border-box-sizing');
75 75 cell.attr('tabindex','2');
76 76
77 77 this.celltoolbar = new IPython.CellToolbar(this);
78 78 cell.append(this.celltoolbar.element);
79 79
80 80 var input_area = $('<div/>').addClass('text_cell_input border-box-sizing');
81 81 this.code_mirror = CodeMirror(input_area.get(0), this.cm_config);
82 82
83 83 // The tabindex=-1 makes this div focusable.
84 84 var render_area = $('<div/>').addClass('text_cell_render border-box-sizing').
85 85 addClass('rendered_html').attr('tabindex','-1');
86 86 cell.append(input_area).append(render_area);
87 87 this.element = cell;
88 88 };
89 89
90 90
91 91 /**
92 92 * Bind the DOM evet to cell actions
93 93 * Need to be called after TextCell.create_element
94 94 * @private
95 95 * @method bind_event
96 96 */
97 97 TextCell.prototype.bind_events = function () {
98 98 IPython.Cell.prototype.bind_events.apply(this);
99 99 var that = this;
100 100 this.element.keydown(function (event) {
101 101 if (event.which === 13 && !event.shiftKey) {
102 102 if (that.rendered) {
103 103 that.edit();
104 104 return false;
105 105 };
106 106 };
107 107 });
108 108 this.element.dblclick(function () {
109 109 that.edit();
110 110 });
111 111 };
112 112
113 113 /**
114 114 * This method gets called in CodeMirror's onKeyDown/onKeyPress
115 115 * handlers and is used to provide custom key handling.
116 116 *
117 117 * Subclass should override this method to have custom handeling
118 118 *
119 119 * @method handle_codemirror_keyevent
120 120 * @param {CodeMirror} editor - The codemirror instance bound to the cell
121 121 * @param {event} event -
122 122 * @return {Boolean} `true` if CodeMirror should ignore the event, `false` Otherwise
123 123 */
124 124 TextCell.prototype.handle_codemirror_keyevent = function (editor, event) {
125 125
126 126 if (event.keyCode === 13 && (event.shiftKey || event.ctrlKey)) {
127 127 // Always ignore shift-enter in CodeMirror as we handle it.
128 128 return true;
129 129 }
130 130 return false;
131 131 };
132 132
133 133 /**
134 134 * Select the current cell and trigger 'focus'
135 135 * @method select
136 136 */
137 137 TextCell.prototype.select = function () {
138 138 IPython.Cell.prototype.select.apply(this);
139 139 var output = this.element.find("div.text_cell_render");
140 140 output.trigger('focus');
141 141 };
142 142
143 143 /**
144 144 * unselect the current cell and `render` it
145 145 * @method unselect
146 146 */
147 147 TextCell.prototype.unselect = function() {
148 148 // render on selection of another cell
149 149 this.render();
150 150 IPython.Cell.prototype.unselect.apply(this);
151 151 };
152 152
153 153 /**
154 154 *
155 155 * put the current cell in edition mode
156 156 * @method edit
157 157 */
158 158 TextCell.prototype.edit = function () {
159 159 if ( this.read_only ) return;
160 160 if (this.rendered === true) {
161 161 var text_cell = this.element;
162 162 var output = text_cell.find("div.text_cell_render");
163 163 output.hide();
164 164 text_cell.find('div.text_cell_input').show();
165 165 this.code_mirror.refresh();
166 166 this.code_mirror.focus();
167 167 // We used to need an additional refresh() after the focus, but
168 168 // it appears that this has been fixed in CM. This bug would show
169 169 // up on FF when a newly loaded markdown cell was edited.
170 170 this.rendered = false;
171 171 if (this.get_text() === this.placeholder) {
172 172 this.set_text('');
173 173 this.refresh();
174 174 }
175 175 }
176 176 };
177 177
178 178
179 179 /**
180 180 * Empty, Subclasses must define render.
181 181 * @method render
182 182 */
183 183 TextCell.prototype.render = function () {};
184 184
185 185
186 186 /**
187 187 * setter: {{#crossLink "TextCell/set_text"}}{{/crossLink}}
188 188 * @method get_text
189 189 * @retrun {string} CodeMirror current text value
190 190 */
191 191 TextCell.prototype.get_text = function() {
192 192 return this.code_mirror.getValue();
193 193 };
194 194
195 195 /**
196 196 * @param {string} text - Codemiror text value
197 197 * @see TextCell#get_text
198 198 * @method set_text
199 199 * */
200 200 TextCell.prototype.set_text = function(text) {
201 201 this.code_mirror.setValue(text);
202 202 this.code_mirror.refresh();
203 203 };
204 204
205 205 /**
206 206 * setter :{{#crossLink "TextCell/set_rendered"}}{{/crossLink}}
207 207 * @method get_rendered
208 208 * @return {html} html of rendered element
209 209 * */
210 210 TextCell.prototype.get_rendered = function() {
211 211 return this.element.find('div.text_cell_render').html();
212 212 };
213 213
214 214 /**
215 215 * @method set_rendered
216 216 */
217 217 TextCell.prototype.set_rendered = function(text) {
218 218 this.element.find('div.text_cell_render').html(text);
219 219 };
220 220
221 221 /**
222 222 * not deprecated, but implementation wrong
223 223 * @method at_top
224 224 * @deprecated
225 225 * @return {Boolean} true is cell rendered, false otherwise
226 226 * I doubt this is what it is supposed to do
227 227 * this implementation is completly false
228 228 */
229 229 TextCell.prototype.at_top = function () {
230 230 if (this.rendered) {
231 231 return true;
232 232 } else {
233 233 return false;
234 234 }
235 235 };
236 236
237 237
238 238 /**
239 239 * not deprecated, but implementation wrong
240 240 * @method at_bottom
241 241 * @deprecated
242 242 * @return {Boolean} true is cell rendered, false otherwise
243 243 * I doubt this is what it is supposed to do
244 244 * this implementation is completly false
245 245 * */
246 246 TextCell.prototype.at_bottom = function () {
247 247 if (this.rendered) {
248 248 return true;
249 249 } else {
250 250 return false;
251 251 }
252 252 };
253 253
254 254 /**
255 255 * Create Text cell from JSON
256 256 * @param {json} data - JSON serialized text-cell
257 257 * @method fromJSON
258 258 */
259 259 TextCell.prototype.fromJSON = function (data) {
260 260 IPython.Cell.prototype.fromJSON.apply(this, arguments);
261 261 if (data.cell_type === this.cell_type) {
262 262 if (data.source !== undefined) {
263 263 this.set_text(data.source);
264 264 // make this value the starting point, so that we can only undo
265 265 // to this state, instead of a blank cell
266 266 this.code_mirror.clearHistory();
267 267 this.set_rendered(data.rendered || '');
268 268 this.rendered = false;
269 269 this.render();
270 270 }
271 271 }
272 272 };
273 273
274 274 /** Generate JSON from cell
275 275 * @return {object} cell data serialised to json
276 276 */
277 277 TextCell.prototype.toJSON = function () {
278 278 var data = IPython.Cell.prototype.toJSON.apply(this);
279 279 data.cell_type = this.cell_type;
280 280 data.source = this.get_text();
281 281 return data;
282 282 };
283 283
284 284
285 285 /**
286 286 * @class MarkdownCell
287 287 * @constructor MarkdownCell
288 * @extends Ipython.HtmlCell
288 * @extends IPython.HTMLCell
289 289 */
290 290 var MarkdownCell = function (options) {
291 291 var options = options || {};
292 292
293 293 options = this.mergeopt(MarkdownCell,options);
294 294 TextCell.apply(this, [options]);
295 295
296 296 this.cell_type = 'markdown';
297 297 };
298 298
299 299 MarkdownCell.options_default = {
300 300 cm_config: {
301 301 mode: 'gfm'
302 302 },
303 303 placeholder: "Type *Markdown* and LaTeX: $\\alpha^2$"
304 304 }
305 305
306 306
307 307
308 308
309 309 MarkdownCell.prototype = new TextCell();
310 310
311 311 /**
312 312 * @method render
313 313 */
314 314 MarkdownCell.prototype.render = function () {
315 315 if (this.rendered === false) {
316 316 var text = this.get_text();
317 317 if (text === "") { text = this.placeholder; }
318 318 text = IPython.mathjaxutils.remove_math(text);
319 319 var html = marked.parser(marked.lexer(text));
320 320 html = $(IPython.mathjaxutils.replace_math(html));
321 321 // links in markdown cells should open in new tabs
322 322 html.find("a[href]").attr("target", "_blank");
323 323 try {
324 324 this.set_rendered(html);
325 325 } catch (e) {
326 326 console.log("Error running Javascript in Markdown:");
327 327 console.log(e);
328 328 this.set_rendered($("<div/>").addClass("js-error").html(
329 329 "Error rendering Markdown!<br/>" + e.toString())
330 330 );
331 331 }
332 332 this.element.find('div.text_cell_input').hide();
333 333 this.element.find("div.text_cell_render").show();
334 334 this.typeset()
335 335 this.rendered = true;
336 336 }
337 337 };
338 338
339 339
340 340 // RawCell
341 341
342 342 /**
343 343 * @class RawCell
344 344 * @constructor RawCell
345 * @extends Ipython.TextCell
345 * @extends IPython.TextCell
346 346 */
347 347 var RawCell = function (options) {
348 348
349 349 options = this.mergeopt(RawCell,options)
350 350 TextCell.apply(this, [options]);
351 351
352 352 this.cell_type = 'raw';
353 353
354 354 var that = this
355 355 this.element.focusout(
356 356 function() { that.auto_highlight(); }
357 357 );
358 358 };
359 359
360 360 RawCell.options_default = {
361 361 placeholder : "Type plain text and LaTeX: $\\alpha^2$"
362 362 };
363 363
364 364
365 365
366 366 RawCell.prototype = new TextCell();
367 367
368 368 /**
369 369 * Trigger autodetection of highlight scheme for current cell
370 370 * @method auto_highlight
371 371 */
372 372 RawCell.prototype.auto_highlight = function () {
373 373 this._auto_highlight(IPython.config.raw_cell_highlight);
374 374 };
375 375
376 376 /** @method render **/
377 377 RawCell.prototype.render = function () {
378 378 this.rendered = true;
379 379 this.edit();
380 380 };
381 381
382 382
383 383 /** @method handle_codemirror_keyevent **/
384 384 RawCell.prototype.handle_codemirror_keyevent = function (editor, event) {
385 385
386 386 var that = this;
387 387 if (event.which === key.UPARROW && event.type === 'keydown') {
388 388 // If we are not at the top, let CM handle the up arrow and
389 389 // prevent the global keydown handler from handling it.
390 390 if (!that.at_top()) {
391 391 event.stop();
392 392 return false;
393 393 } else {
394 394 return true;
395 395 };
396 396 } else if (event.which === key.DOWNARROW && event.type === 'keydown') {
397 397 // If we are not at the bottom, let CM handle the down arrow and
398 398 // prevent the global keydown handler from handling it.
399 399 if (!that.at_bottom()) {
400 400 event.stop();
401 401 return false;
402 402 } else {
403 403 return true;
404 404 };
405 405 };
406 406 return false;
407 407 };
408 408
409 409 /** @method select **/
410 410 RawCell.prototype.select = function () {
411 411 IPython.Cell.prototype.select.apply(this);
412 412 this.code_mirror.refresh();
413 413 this.code_mirror.focus();
414 414 };
415 415
416 416 /** @method at_top **/
417 417 RawCell.prototype.at_top = function () {
418 418 var cursor = this.code_mirror.getCursor();
419 419 if (cursor.line === 0 && cursor.ch === 0) {
420 420 return true;
421 421 } else {
422 422 return false;
423 423 }
424 424 };
425 425
426 426
427 427 /** @method at_bottom **/
428 428 RawCell.prototype.at_bottom = function () {
429 429 var cursor = this.code_mirror.getCursor();
430 430 if (cursor.line === (this.code_mirror.lineCount()-1) && cursor.ch === this.code_mirror.getLine(cursor.line).length) {
431 431 return true;
432 432 } else {
433 433 return false;
434 434 }
435 435 };
436 436
437 437
438 438 /**
439 439 * @class HeadingCell
440 * @extends Ipython.TextCell
440 * @extends IPython.TextCell
441 441 */
442 442
443 443 /**
444 444 * @constructor HeadingCell
445 * @extends Ipython.TextCell
445 * @extends IPython.TextCell
446 446 */
447 447 var HeadingCell = function (options) {
448 448
449 449 options = this.mergeopt(HeadingCell,options)
450 450 TextCell.apply(this, [options]);
451 451
452 452 /**
453 453 * heading level of the cell, use getter and setter to access
454 454 * @property level
455 455 */
456 456 this.level = 1;
457 457 this.cell_type = 'heading';
458 458 };
459 459
460 460 HeadingCell.options_default = {
461 461 placeholder: "Type Heading Here"
462 462 };
463 463
464 464 HeadingCell.prototype = new TextCell();
465 465
466 466 /** @method fromJSON */
467 467 HeadingCell.prototype.fromJSON = function (data) {
468 468 if (data.level != undefined){
469 469 this.level = data.level;
470 470 }
471 471 TextCell.prototype.fromJSON.apply(this, arguments);
472 472 };
473 473
474 474
475 475 /** @method toJSON */
476 476 HeadingCell.prototype.toJSON = function () {
477 477 var data = TextCell.prototype.toJSON.apply(this);
478 478 data.level = this.get_level();
479 479 return data;
480 480 };
481 481
482 482
483 483 /**
484 484 * Change heading level of cell, and re-render
485 485 * @method set_level
486 486 */
487 487 HeadingCell.prototype.set_level = function (level) {
488 488 this.level = level;
489 489 if (this.rendered) {
490 490 this.rendered = false;
491 491 this.render();
492 492 };
493 493 };
494 494
495 495 /** The depth of header cell, based on html (h1 to h6)
496 496 * @method get_level
497 497 * @return {integer} level - for 1 to 6
498 498 */
499 499 HeadingCell.prototype.get_level = function () {
500 500 return this.level;
501 501 };
502 502
503 503
504 HeadingCell.prototype.set_rendered = function (text) {
505 var r = this.element.find("div.text_cell_render");
506 r.empty();
507 var link = text.replace(/ /g, '_');
508 r.append(
509 $('<h'+this.level+'/>')
510 .append(
511 $('<a/>')
512 .addClass('heading-anchor')
513 .attr('id', link)
514 .html(text)
515 ).append(
516 $('<a/>')
517 .addClass('anchor-link')
518 .attr('href', '#' + link)
519 .text('ΒΆ')
520 )
521 );
504 HeadingCell.prototype.set_rendered = function (html) {
505 this.element.find("div.text_cell_render").html(html);
522 506 };
523 507
524 508
525 509 HeadingCell.prototype.get_rendered = function () {
526 510 var r = this.element.find("div.text_cell_render");
527 511 return r.children().first().html();
528 512 };
529 513
530 514
531 515 HeadingCell.prototype.render = function () {
532 516 if (this.rendered === false) {
533 517 var text = this.get_text();
518 // Markdown headings must be a single line
519 text = text.replace(/\n/g, ' ');
534 520 if (text === "") { text = this.placeholder; }
535 this.set_rendered(text);
521 text = Array(this.level + 1).join("#") + " " + text;
522 text = IPython.mathjaxutils.remove_math(text);
523 var html = marked.parser(marked.lexer(text));
524 var h = $(IPython.mathjaxutils.replace_math(html));
525 // add id and linkback anchor
526 var hash = h.text().replace(/ /g, '-');
527 h.attr('id', hash);
528 h.append(
529 $('<a/>')
530 .addClass('anchor-link')
531 .attr('href', '#' + hash)
532 .text('ΒΆ')
533 );
534
535 this.set_rendered(h);
536 536 this.typeset();
537 537 this.element.find('div.text_cell_input').hide();
538 538 this.element.find("div.text_cell_render").show();
539 539 this.rendered = true;
540 540 };
541 541 };
542 542
543 543 IPython.TextCell = TextCell;
544 544 IPython.MarkdownCell = MarkdownCell;
545 545 IPython.RawCell = RawCell;
546 546 IPython.HeadingCell = HeadingCell;
547 547
548 548
549 549 return IPython;
550 550
551 551 }(IPython));
552 552
@@ -1,37 +1,32 b''
1 1 div.text_cell {
2 2 padding: 5px 5px 5px 5px;
3 3 }
4 4
5 5 div.text_cell_input {
6 6 color: @textColor;
7 7 border: 1px solid @light_border_color;
8 8 .corner-all;
9 9 background: @cell_background;
10 10 }
11 11
12 12 div.text_cell_render {
13 13 /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
14 14 outline: none;
15 15 resize: none;
16 16 width: inherit;
17 17 border-style: none;
18 18 padding: 5px;
19 19 color: @textColor;
20 20 }
21 21
22 a.heading-anchor {
23 text-decoration: none;
24 color: inherit;
25 }
26
27 22 a.anchor-link:link {
28 23 text-decoration: none;
29 24 padding: 0px 20px;
30 25 visibility: hidden;
31 26 }
32 27
33 28 h1,h2,h3,h4,h5,h6 {
34 29 &:hover .anchor-link {
35 30 visibility: visible;
36 31 }
37 32 }
@@ -1,1577 +1,1576 b''
1 1 .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
2 2 .clearfix:after{clear:both;}
3 3 .hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
4 4 .input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
5 5 article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
6 6 audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
7 7 audio:not([controls]){display:none;}
8 8 html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
9 9 a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
10 10 a:hover,a:active{outline:0;}
11 11 sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
12 12 sup{top:-0.5em;}
13 13 sub{bottom:-0.25em;}
14 14 img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;}
15 15 #map_canvas img,.google-maps img{max-width:none;}
16 16 button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
17 17 button,input{*overflow:visible;line-height:normal;}
18 18 button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
19 19 button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}
20 20 label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer;}
21 21 input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;}
22 22 input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
23 23 textarea{overflow:auto;vertical-align:top;}
24 24 @media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important;} a,a:visited{text-decoration:underline;} a[href]:after{content:" (" attr(href) ")";} abbr[title]:after{content:" (" attr(title) ")";} .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:"";} pre,blockquote{border:1px solid #999;page-break-inside:avoid;} thead{display:table-header-group;} tr,img{page-break-inside:avoid;} img{max-width:100% !important;} @page {margin:0.5cm;}p,h2,h3{orphans:3;widows:3;} h2,h3{page-break-after:avoid;}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:20px;color:#000000;background-color:#ffffff;}
25 25 a{color:#0088cc;text-decoration:none;}
26 26 a:hover,a:focus{color:#005580;text-decoration:underline;}
27 27 .img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
28 28 .img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);}
29 29 .img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;}
30 30 .row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;}
31 31 .row:after{clear:both;}
32 32 .row:before,.row:after{display:table;content:"";line-height:0;}
33 33 .row:after{clear:both;}
34 34 [class*="span"]{float:left;min-height:1px;margin-left:20px;}
35 35 .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
36 36 .span12{width:940px;}
37 37 .span11{width:860px;}
38 38 .span10{width:780px;}
39 39 .span9{width:700px;}
40 40 .span8{width:620px;}
41 41 .span7{width:540px;}
42 42 .span6{width:460px;}
43 43 .span5{width:380px;}
44 44 .span4{width:300px;}
45 45 .span3{width:220px;}
46 46 .span2{width:140px;}
47 47 .span1{width:60px;}
48 48 .offset12{margin-left:980px;}
49 49 .offset11{margin-left:900px;}
50 50 .offset10{margin-left:820px;}
51 51 .offset9{margin-left:740px;}
52 52 .offset8{margin-left:660px;}
53 53 .offset7{margin-left:580px;}
54 54 .offset6{margin-left:500px;}
55 55 .offset5{margin-left:420px;}
56 56 .offset4{margin-left:340px;}
57 57 .offset3{margin-left:260px;}
58 58 .offset2{margin-left:180px;}
59 59 .offset1{margin-left:100px;}
60 60 .row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;}
61 61 .row:after{clear:both;}
62 62 .row:before,.row:after{display:table;content:"";line-height:0;}
63 63 .row:after{clear:both;}
64 64 [class*="span"]{float:left;min-height:1px;margin-left:20px;}
65 65 .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
66 66 .span12{width:940px;}
67 67 .span11{width:860px;}
68 68 .span10{width:780px;}
69 69 .span9{width:700px;}
70 70 .span8{width:620px;}
71 71 .span7{width:540px;}
72 72 .span6{width:460px;}
73 73 .span5{width:380px;}
74 74 .span4{width:300px;}
75 75 .span3{width:220px;}
76 76 .span2{width:140px;}
77 77 .span1{width:60px;}
78 78 .offset12{margin-left:980px;}
79 79 .offset11{margin-left:900px;}
80 80 .offset10{margin-left:820px;}
81 81 .offset9{margin-left:740px;}
82 82 .offset8{margin-left:660px;}
83 83 .offset7{margin-left:580px;}
84 84 .offset6{margin-left:500px;}
85 85 .offset5{margin-left:420px;}
86 86 .offset4{margin-left:340px;}
87 87 .offset3{margin-left:260px;}
88 88 .offset2{margin-left:180px;}
89 89 .offset1{margin-left:100px;}
90 90 .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;}
91 91 .row-fluid:after{clear:both;}
92 92 .row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;}
93 93 .row-fluid:after{clear:both;}
94 94 .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;}
95 95 .row-fluid [class*="span"]:first-child{margin-left:0;}
96 96 .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%;}
97 97 .row-fluid .span12{width:100%;*width:99.94680851063829%;}
98 98 .row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%;}
99 99 .row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%;}
100 100 .row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%;}
101 101 .row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%;}
102 102 .row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%;}
103 103 .row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%;}
104 104 .row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%;}
105 105 .row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%;}
106 106 .row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%;}
107 107 .row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%;}
108 108 .row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%;}
109 109 .row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%;}
110 110 .row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%;}
111 111 .row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%;}
112 112 .row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%;}
113 113 .row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%;}
114 114 .row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%;}
115 115 .row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%;}
116 116 .row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%;}
117 117 .row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%;}
118 118 .row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%;}
119 119 .row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%;}
120 120 .row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%;}
121 121 .row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%;}
122 122 .row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%;}
123 123 .row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%;}
124 124 .row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%;}
125 125 .row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%;}
126 126 .row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%;}
127 127 .row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%;}
128 128 .row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%;}
129 129 .row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%;}
130 130 .row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%;}
131 131 .row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%;}
132 132 .row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%;}
133 133 .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;}
134 134 .row-fluid:after{clear:both;}
135 135 .row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;}
136 136 .row-fluid:after{clear:both;}
137 137 .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;}
138 138 .row-fluid [class*="span"]:first-child{margin-left:0;}
139 139 .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%;}
140 140 .row-fluid .span12{width:100%;*width:99.94680851063829%;}
141 141 .row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%;}
142 142 .row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%;}
143 143 .row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%;}
144 144 .row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%;}
145 145 .row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%;}
146 146 .row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%;}
147 147 .row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%;}
148 148 .row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%;}
149 149 .row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%;}
150 150 .row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%;}
151 151 .row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%;}
152 152 .row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%;}
153 153 .row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%;}
154 154 .row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%;}
155 155 .row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%;}
156 156 .row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%;}
157 157 .row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%;}
158 158 .row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%;}
159 159 .row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%;}
160 160 .row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%;}
161 161 .row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%;}
162 162 .row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%;}
163 163 .row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%;}
164 164 .row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%;}
165 165 .row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%;}
166 166 .row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%;}
167 167 .row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%;}
168 168 .row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%;}
169 169 .row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%;}
170 170 .row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%;}
171 171 .row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%;}
172 172 .row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%;}
173 173 .row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%;}
174 174 .row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%;}
175 175 .row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%;}
176 176 [class*="span"].hide,.row-fluid [class*="span"].hide{display:none;}
177 177 [class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right;}
178 178 .container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";line-height:0;}
179 179 .container:after{clear:both;}
180 180 .container:before,.container:after{display:table;content:"";line-height:0;}
181 181 .container:after{clear:both;}
182 182 .container:before,.container:after{display:table;content:"";line-height:0;}
183 183 .container:after{clear:both;}
184 184 .container:before,.container:after{display:table;content:"";line-height:0;}
185 185 .container:after{clear:both;}
186 186 .container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0;}
187 187 .container-fluid:after{clear:both;}
188 188 .container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0;}
189 189 .container-fluid:after{clear:both;}
190 190 p{margin:0 0 10px;}
191 191 .lead{margin-bottom:20px;font-size:19.5px;font-weight:200;line-height:30px;}
192 192 small{font-size:85%;}
193 193 strong{font-weight:bold;}
194 194 em{font-style:italic;}
195 195 cite{font-style:normal;}
196 196 .muted{color:#999999;}
197 197 a.muted:hover,a.muted:focus{color:#808080;}
198 198 .text-warning{color:#c09853;}
199 199 a.text-warning:hover,a.text-warning:focus{color:#a47e3c;}
200 200 .text-error{color:#b94a48;}
201 201 a.text-error:hover,a.text-error:focus{color:#953b39;}
202 202 .text-info{color:#3a87ad;}
203 203 a.text-info:hover,a.text-info:focus{color:#2d6987;}
204 204 .text-success{color:#468847;}
205 205 a.text-success:hover,a.text-success:focus{color:#356635;}
206 206 .text-left{text-align:left;}
207 207 .text-right{text-align:right;}
208 208 .text-center{text-align:center;}
209 209 h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999999;}
210 210 h1,h2,h3{line-height:40px;}
211 211 h1{font-size:35.75px;}
212 212 h2{font-size:29.25px;}
213 213 h3{font-size:22.75px;}
214 214 h4{font-size:16.25px;}
215 215 h5{font-size:13px;}
216 216 h6{font-size:11.049999999999999px;}
217 217 h1 small{font-size:22.75px;}
218 218 h2 small{font-size:16.25px;}
219 219 h3 small{font-size:13px;}
220 220 h4 small{font-size:13px;}
221 221 .page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eeeeee;}
222 222 ul,ol{padding:0;margin:0 0 10px 25px;}
223 223 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
224 224 li{line-height:20px;}
225 225 ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}
226 226 ul.inline,ol.inline{margin-left:0;list-style:none;}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;*zoom:1;padding-left:5px;padding-right:5px;}
227 227 dl{margin-bottom:20px;}
228 228 dt,dd{line-height:20px;}
229 229 dt{font-weight:bold;}
230 230 dd{margin-left:10px;}
231 231 .dl-horizontal{*zoom:1;}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0;}
232 232 .dl-horizontal:after{clear:both;}
233 233 .dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0;}
234 234 .dl-horizontal:after{clear:both;}
235 235 .dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
236 236 .dl-horizontal dd{margin-left:180px;}
237 237 hr{margin:20px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;}
238 238 abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999;}
239 239 abbr.initialism{font-size:90%;text-transform:uppercase;}
240 240 blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16.25px;font-weight:300;line-height:1.25;}
241 241 blockquote small{display:block;line-height:20px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
242 242 blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
243 243 blockquote.pull-right small:before{content:'';}
244 244 blockquote.pull-right small:after{content:'\00A0 \2014';}
245 245 q:before,q:after,blockquote:before,blockquote:after{content:"";}
246 246 address{display:block;margin-bottom:20px;font-style:normal;line-height:20px;}
247 247 code,pre{padding:0 3px 2px;font-family:monospace;font-size:11px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
248 248 code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap;}
249 249 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:12px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}pre.prettyprint{margin-bottom:20px;}
250 250 pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0;}
251 251 .pre-scrollable{max-height:340px;overflow-y:scroll;}
252 252 form{margin:0 0 20px;}
253 253 fieldset{padding:0;margin:0;border:0;}
254 254 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:19.5px;line-height:40px;color:#333333;border:0;border-bottom:1px solid #e5e5e5;}legend small{font-size:15px;color:#999999;}
255 255 label,input,button,select,textarea{font-size:13px;font-weight:normal;line-height:20px;}
256 256 input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;}
257 257 label{display:block;margin-bottom:5px;}
258 258 select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:13px;line-height:20px;color:#555555;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;vertical-align:middle;}
259 259 input,textarea,.uneditable-input{width:206px;}
260 260 textarea{height:auto;}
261 261 textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#ffffff;border:1px solid #cccccc;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear .2s, box-shadow linear .2s;-moz-transition:border linear .2s, box-shadow linear .2s;-o-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82, 168, 236, 0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);}
262 262 input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal;}
263 263 input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto;}
264 264 select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px;}
265 265 select{width:220px;border:1px solid #cccccc;background-color:#ffffff;}
266 266 select[multiple],select[size]{height:auto;}
267 267 select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
268 268 .uneditable-input,.uneditable-textarea{color:#999999;background-color:#fcfcfc;border-color:#cccccc;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;}
269 269 .uneditable-input{overflow:hidden;white-space:nowrap;}
270 270 .uneditable-textarea{width:auto;height:auto;}
271 271 input:-moz-placeholder,textarea:-moz-placeholder{color:#999999;}
272 272 input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999999;}
273 273 input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999999;}
274 274 input:-moz-placeholder,textarea:-moz-placeholder{color:#999999;}
275 275 input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999999;}
276 276 input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999999;}
277 277 .radio,.checkbox{min-height:20px;padding-left:20px;}
278 278 .radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px;}
279 279 .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;}
280 280 .radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;}
281 281 .radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;}
282 282 .input-mini{width:60px;}
283 283 .input-small{width:90px;}
284 284 .input-medium{width:150px;}
285 285 .input-large{width:210px;}
286 286 .input-xlarge{width:270px;}
287 287 .input-xxlarge{width:530px;}
288 288 input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0;}
289 289 .input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block;}
290 290 input,textarea,.uneditable-input{margin-left:0;}
291 291 .controls-row [class*="span"]+[class*="span"]{margin-left:20px;}
292 292 input.span12,textarea.span12,.uneditable-input.span12{width:926px;}
293 293 input.span11,textarea.span11,.uneditable-input.span11{width:846px;}
294 294 input.span10,textarea.span10,.uneditable-input.span10{width:766px;}
295 295 input.span9,textarea.span9,.uneditable-input.span9{width:686px;}
296 296 input.span8,textarea.span8,.uneditable-input.span8{width:606px;}
297 297 input.span7,textarea.span7,.uneditable-input.span7{width:526px;}
298 298 input.span6,textarea.span6,.uneditable-input.span6{width:446px;}
299 299 input.span5,textarea.span5,.uneditable-input.span5{width:366px;}
300 300 input.span4,textarea.span4,.uneditable-input.span4{width:286px;}
301 301 input.span3,textarea.span3,.uneditable-input.span3{width:206px;}
302 302 input.span2,textarea.span2,.uneditable-input.span2{width:126px;}
303 303 input.span1,textarea.span1,.uneditable-input.span1{width:46px;}
304 304 input,textarea,.uneditable-input{margin-left:0;}
305 305 .controls-row [class*="span"]+[class*="span"]{margin-left:20px;}
306 306 input.span12,textarea.span12,.uneditable-input.span12{width:926px;}
307 307 input.span11,textarea.span11,.uneditable-input.span11{width:846px;}
308 308 input.span10,textarea.span10,.uneditable-input.span10{width:766px;}
309 309 input.span9,textarea.span9,.uneditable-input.span9{width:686px;}
310 310 input.span8,textarea.span8,.uneditable-input.span8{width:606px;}
311 311 input.span7,textarea.span7,.uneditable-input.span7{width:526px;}
312 312 input.span6,textarea.span6,.uneditable-input.span6{width:446px;}
313 313 input.span5,textarea.span5,.uneditable-input.span5{width:366px;}
314 314 input.span4,textarea.span4,.uneditable-input.span4{width:286px;}
315 315 input.span3,textarea.span3,.uneditable-input.span3{width:206px;}
316 316 input.span2,textarea.span2,.uneditable-input.span2{width:126px;}
317 317 input.span1,textarea.span1,.uneditable-input.span1{width:46px;}
318 318 .controls-row{*zoom:1;}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0;}
319 319 .controls-row:after{clear:both;}
320 320 .controls-row:before,.controls-row:after{display:table;content:"";line-height:0;}
321 321 .controls-row:after{clear:both;}
322 322 .controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left;}
323 323 .controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px;}
324 324 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eeeeee;}
325 325 input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent;}
326 326 .control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;}
327 327 .control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;}
328 328 .control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;}
329 329 .control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;}
330 330 .control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;}
331 331 .control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;}
332 332 .control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;}
333 333 .control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;}
334 334 .control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
335 335 .control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;}
336 336 .control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;}
337 337 .control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;}
338 338 .control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
339 339 .control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;}
340 340 .control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;}
341 341 .control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;}
342 342 .control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
343 343 .control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;}
344 344 .control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;}
345 345 .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;}
346 346 .control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
347 347 .control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;}
348 348 .control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;}
349 349 .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;}
350 350 .control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad;}
351 351 .control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad;}
352 352 .control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;}
353 353 .control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad;}
354 354 .control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad;}
355 355 .control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad;}
356 356 .control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;}
357 357 .control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad;}
358 358 input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b;}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
359 359 .form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1;}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0;}
360 360 .form-actions:after{clear:both;}
361 361 .form-actions:before,.form-actions:after{display:table;content:"";line-height:0;}
362 362 .form-actions:after{clear:both;}
363 363 .help-block,.help-inline{color:#262626;}
364 364 .help-block{display:block;margin-bottom:10px;}
365 365 .help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px;}
366 366 .input-append,.input-prepend{display:inline-block;margin-bottom:10px;vertical-align:middle;font-size:0;white-space:nowrap;}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:13px;}
367 367 .input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2;}
368 368 .input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:13px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#eeeeee;border:1px solid #ccc;}
369 369 .input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
370 370 .input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546;}
371 371 .input-prepend .add-on,.input-prepend .btn{margin-right:-1px;}
372 372 .input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
373 373 .input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
374 374 .input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px;}
375 375 .input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
376 376 .input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
377 377 .input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
378 378 .input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
379 379 .input-prepend.input-append .btn-group:first-child{margin-left:0;}
380 380 input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
381 381 .form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
382 382 .form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;}
383 383 .form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;}
384 384 .form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;}
385 385 .form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;}
386 386 .form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle;}
387 387 .form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none;}
388 388 .form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block;}
389 389 .form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0;}
390 390 .form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle;}
391 391 .form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0;}
392 392 .control-group{margin-bottom:10px;}
393 393 legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate;}
394 394 .form-horizontal .control-group{margin-bottom:20px;*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0;}
395 395 .form-horizontal .control-group:after{clear:both;}
396 396 .form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0;}
397 397 .form-horizontal .control-group:after{clear:both;}
398 398 .form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right;}
399 399 .form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0;}.form-horizontal .controls:first-child{*padding-left:180px;}
400 400 .form-horizontal .help-block{margin-bottom:0;}
401 401 .form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px;}
402 402 .form-horizontal .form-actions{padding-left:180px;}
403 403 table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;}
404 404 .table{width:100%;margin-bottom:20px;}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;}
405 405 .table th{font-weight:bold;}
406 406 .table thead th{vertical-align:bottom;}
407 407 .table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;}
408 408 .table tbody+tbody{border-top:2px solid #dddddd;}
409 409 .table .table{background-color:#ffffff;}
410 410 .table-condensed th,.table-condensed td{padding:4px 5px;}
411 411 .table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;}
412 412 .table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;}
413 413 .table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;}
414 414 .table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;}
415 415 .table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
416 416 .table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
417 417 .table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;}
418 418 .table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;}
419 419 .table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;}
420 420 .table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;}
421 421 .table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9;}
422 422 .table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5;}
423 423 table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0;}
424 424 .table td.span1,.table th.span1{float:none;width:44px;margin-left:0;}
425 425 .table td.span2,.table th.span2{float:none;width:124px;margin-left:0;}
426 426 .table td.span3,.table th.span3{float:none;width:204px;margin-left:0;}
427 427 .table td.span4,.table th.span4{float:none;width:284px;margin-left:0;}
428 428 .table td.span5,.table th.span5{float:none;width:364px;margin-left:0;}
429 429 .table td.span6,.table th.span6{float:none;width:444px;margin-left:0;}
430 430 .table td.span7,.table th.span7{float:none;width:524px;margin-left:0;}
431 431 .table td.span8,.table th.span8{float:none;width:604px;margin-left:0;}
432 432 .table td.span9,.table th.span9{float:none;width:684px;margin-left:0;}
433 433 .table td.span10,.table th.span10{float:none;width:764px;margin-left:0;}
434 434 .table td.span11,.table th.span11{float:none;width:844px;margin-left:0;}
435 435 .table td.span12,.table th.span12{float:none;width:924px;margin-left:0;}
436 436 .table tbody tr.success>td{background-color:#dff0d8;}
437 437 .table tbody tr.error>td{background-color:#f2dede;}
438 438 .table tbody tr.warning>td{background-color:#fcf8e3;}
439 439 .table tbody tr.info>td{background-color:#d9edf7;}
440 440 .table-hover tbody tr.success:hover>td{background-color:#d0e9c6;}
441 441 .table-hover tbody tr.error:hover>td{background-color:#ebcccc;}
442 442 .table-hover tbody tr.warning:hover>td{background-color:#faf2cc;}
443 443 .table-hover tbody tr.info:hover>td{background-color:#c4e3f3;}
444 444 [class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat;margin-top:1px;}
445 445 .icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png");}
446 446 .icon-glass{background-position:0 0;}
447 447 .icon-music{background-position:-24px 0;}
448 448 .icon-search{background-position:-48px 0;}
449 449 .icon-envelope{background-position:-72px 0;}
450 450 .icon-heart{background-position:-96px 0;}
451 451 .icon-star{background-position:-120px 0;}
452 452 .icon-star-empty{background-position:-144px 0;}
453 453 .icon-user{background-position:-168px 0;}
454 454 .icon-film{background-position:-192px 0;}
455 455 .icon-th-large{background-position:-216px 0;}
456 456 .icon-th{background-position:-240px 0;}
457 457 .icon-th-list{background-position:-264px 0;}
458 458 .icon-ok{background-position:-288px 0;}
459 459 .icon-remove{background-position:-312px 0;}
460 460 .icon-zoom-in{background-position:-336px 0;}
461 461 .icon-zoom-out{background-position:-360px 0;}
462 462 .icon-off{background-position:-384px 0;}
463 463 .icon-signal{background-position:-408px 0;}
464 464 .icon-cog{background-position:-432px 0;}
465 465 .icon-trash{background-position:-456px 0;}
466 466 .icon-home{background-position:0 -24px;}
467 467 .icon-file{background-position:-24px -24px;}
468 468 .icon-time{background-position:-48px -24px;}
469 469 .icon-road{background-position:-72px -24px;}
470 470 .icon-download-alt{background-position:-96px -24px;}
471 471 .icon-download{background-position:-120px -24px;}
472 472 .icon-upload{background-position:-144px -24px;}
473 473 .icon-inbox{background-position:-168px -24px;}
474 474 .icon-play-circle{background-position:-192px -24px;}
475 475 .icon-repeat{background-position:-216px -24px;}
476 476 .icon-refresh{background-position:-240px -24px;}
477 477 .icon-list-alt{background-position:-264px -24px;}
478 478 .icon-lock{background-position:-287px -24px;}
479 479 .icon-flag{background-position:-312px -24px;}
480 480 .icon-headphones{background-position:-336px -24px;}
481 481 .icon-volume-off{background-position:-360px -24px;}
482 482 .icon-volume-down{background-position:-384px -24px;}
483 483 .icon-volume-up{background-position:-408px -24px;}
484 484 .icon-qrcode{background-position:-432px -24px;}
485 485 .icon-barcode{background-position:-456px -24px;}
486 486 .icon-tag{background-position:0 -48px;}
487 487 .icon-tags{background-position:-25px -48px;}
488 488 .icon-book{background-position:-48px -48px;}
489 489 .icon-bookmark{background-position:-72px -48px;}
490 490 .icon-print{background-position:-96px -48px;}
491 491 .icon-camera{background-position:-120px -48px;}
492 492 .icon-font{background-position:-144px -48px;}
493 493 .icon-bold{background-position:-167px -48px;}
494 494 .icon-italic{background-position:-192px -48px;}
495 495 .icon-text-height{background-position:-216px -48px;}
496 496 .icon-text-width{background-position:-240px -48px;}
497 497 .icon-align-left{background-position:-264px -48px;}
498 498 .icon-align-center{background-position:-288px -48px;}
499 499 .icon-align-right{background-position:-312px -48px;}
500 500 .icon-align-justify{background-position:-336px -48px;}
501 501 .icon-list{background-position:-360px -48px;}
502 502 .icon-indent-left{background-position:-384px -48px;}
503 503 .icon-indent-right{background-position:-408px -48px;}
504 504 .icon-facetime-video{background-position:-432px -48px;}
505 505 .icon-picture{background-position:-456px -48px;}
506 506 .icon-pencil{background-position:0 -72px;}
507 507 .icon-map-marker{background-position:-24px -72px;}
508 508 .icon-adjust{background-position:-48px -72px;}
509 509 .icon-tint{background-position:-72px -72px;}
510 510 .icon-edit{background-position:-96px -72px;}
511 511 .icon-share{background-position:-120px -72px;}
512 512 .icon-check{background-position:-144px -72px;}
513 513 .icon-move{background-position:-168px -72px;}
514 514 .icon-step-backward{background-position:-192px -72px;}
515 515 .icon-fast-backward{background-position:-216px -72px;}
516 516 .icon-backward{background-position:-240px -72px;}
517 517 .icon-play{background-position:-264px -72px;}
518 518 .icon-pause{background-position:-288px -72px;}
519 519 .icon-stop{background-position:-312px -72px;}
520 520 .icon-forward{background-position:-336px -72px;}
521 521 .icon-fast-forward{background-position:-360px -72px;}
522 522 .icon-step-forward{background-position:-384px -72px;}
523 523 .icon-eject{background-position:-408px -72px;}
524 524 .icon-chevron-left{background-position:-432px -72px;}
525 525 .icon-chevron-right{background-position:-456px -72px;}
526 526 .icon-plus-sign{background-position:0 -96px;}
527 527 .icon-minus-sign{background-position:-24px -96px;}
528 528 .icon-remove-sign{background-position:-48px -96px;}
529 529 .icon-ok-sign{background-position:-72px -96px;}
530 530 .icon-question-sign{background-position:-96px -96px;}
531 531 .icon-info-sign{background-position:-120px -96px;}
532 532 .icon-screenshot{background-position:-144px -96px;}
533 533 .icon-remove-circle{background-position:-168px -96px;}
534 534 .icon-ok-circle{background-position:-192px -96px;}
535 535 .icon-ban-circle{background-position:-216px -96px;}
536 536 .icon-arrow-left{background-position:-240px -96px;}
537 537 .icon-arrow-right{background-position:-264px -96px;}
538 538 .icon-arrow-up{background-position:-289px -96px;}
539 539 .icon-arrow-down{background-position:-312px -96px;}
540 540 .icon-share-alt{background-position:-336px -96px;}
541 541 .icon-resize-full{background-position:-360px -96px;}
542 542 .icon-resize-small{background-position:-384px -96px;}
543 543 .icon-plus{background-position:-408px -96px;}
544 544 .icon-minus{background-position:-433px -96px;}
545 545 .icon-asterisk{background-position:-456px -96px;}
546 546 .icon-exclamation-sign{background-position:0 -120px;}
547 547 .icon-gift{background-position:-24px -120px;}
548 548 .icon-leaf{background-position:-48px -120px;}
549 549 .icon-fire{background-position:-72px -120px;}
550 550 .icon-eye-open{background-position:-96px -120px;}
551 551 .icon-eye-close{background-position:-120px -120px;}
552 552 .icon-warning-sign{background-position:-144px -120px;}
553 553 .icon-plane{background-position:-168px -120px;}
554 554 .icon-calendar{background-position:-192px -120px;}
555 555 .icon-random{background-position:-216px -120px;width:16px;}
556 556 .icon-comment{background-position:-240px -120px;}
557 557 .icon-magnet{background-position:-264px -120px;}
558 558 .icon-chevron-up{background-position:-288px -120px;}
559 559 .icon-chevron-down{background-position:-313px -119px;}
560 560 .icon-retweet{background-position:-336px -120px;}
561 561 .icon-shopping-cart{background-position:-360px -120px;}
562 562 .icon-folder-close{background-position:-384px -120px;width:16px;}
563 563 .icon-folder-open{background-position:-408px -120px;width:16px;}
564 564 .icon-resize-vertical{background-position:-432px -119px;}
565 565 .icon-resize-horizontal{background-position:-456px -118px;}
566 566 .icon-hdd{background-position:0 -144px;}
567 567 .icon-bullhorn{background-position:-24px -144px;}
568 568 .icon-bell{background-position:-48px -144px;}
569 569 .icon-certificate{background-position:-72px -144px;}
570 570 .icon-thumbs-up{background-position:-96px -144px;}
571 571 .icon-thumbs-down{background-position:-120px -144px;}
572 572 .icon-hand-right{background-position:-144px -144px;}
573 573 .icon-hand-left{background-position:-168px -144px;}
574 574 .icon-hand-up{background-position:-192px -144px;}
575 575 .icon-hand-down{background-position:-216px -144px;}
576 576 .icon-circle-arrow-right{background-position:-240px -144px;}
577 577 .icon-circle-arrow-left{background-position:-264px -144px;}
578 578 .icon-circle-arrow-up{background-position:-288px -144px;}
579 579 .icon-circle-arrow-down{background-position:-312px -144px;}
580 580 .icon-globe{background-position:-336px -144px;}
581 581 .icon-wrench{background-position:-360px -144px;}
582 582 .icon-tasks{background-position:-384px -144px;}
583 583 .icon-filter{background-position:-408px -144px;}
584 584 .icon-briefcase{background-position:-432px -144px;}
585 585 .icon-fullscreen{background-position:-456px -144px;}
586 586 .dropup,.dropdown{position:relative;}
587 587 .dropdown-toggle{*margin-bottom:-3px;}
588 588 .dropdown-toggle:active,.open .dropdown-toggle{outline:0;}
589 589 .caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000000;border-right:4px solid transparent;border-left:4px solid transparent;content:"";}
590 590 .dropdown .caret{margin-top:8px;margin-left:2px;}
591 591 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#ffffff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.dropdown-menu.pull-right{right:0;left:auto;}
592 592 .dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
593 593 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333333;white-space:nowrap;}
594 594 .dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{text-decoration:none;color:#ffffff;background-color:#0081c2;background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(to bottom, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);}
595 595 .dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#0081c2;background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(to bottom, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);}
596 596 .dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999999;}
597 597 .dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:default;}
598 598 .open{*z-index:1000;}.open>.dropdown-menu{display:block;}
599 599 .dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990;}
600 600 .pull-right>.dropdown-menu{right:0;left:auto;}
601 601 .dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000000;content:"";}
602 602 .dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px;}
603 603 .dropdown-submenu{position:relative;}
604 604 .dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;}
605 605 .dropdown-submenu:hover>.dropdown-menu{display:block;}
606 606 .dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0;}
607 607 .dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#cccccc;margin-top:5px;margin-right:-10px;}
608 608 .dropdown-submenu:hover>a:after{border-left-color:#ffffff;}
609 609 .dropdown-submenu.pull-left{float:none;}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;}
610 610 .dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px;}
611 611 .typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
612 612 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
613 613 .well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
614 614 .well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
615 615 .fade{opacity:0;-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;}.fade.in{opacity:1;}
616 616 .collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height 0.35s ease;-moz-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease;}.collapse.in{height:auto;}
617 617 .close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.4;filter:alpha(opacity=40);}
618 618 button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;}
619 619 .btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:13px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(to bottom, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid #cccccc;*border:0;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333333;background-color:#e6e6e6;*background-color:#d9d9d9;}
620 620 .btn:active,.btn.active{background-color:#cccccc \9;}
621 621 .btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333333;background-color:#e6e6e6;*background-color:#d9d9d9;}
622 622 .btn:active,.btn.active{background-color:#cccccc \9;}
623 623 .btn:first-child{*margin-left:0;}
624 624 .btn:first-child{*margin-left:0;}
625 625 .btn:hover,.btn:focus{color:#333333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear;}
626 626 .btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
627 627 .btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);}
628 628 .btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
629 629 .btn-large{padding:11px 19px;font-size:16.25px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
630 630 .btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px;}
631 631 .btn-small{padding:2px 10px;font-size:11.049999999999999px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
632 632 .btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0;}
633 633 .btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px;}
634 634 .btn-mini{padding:0 6px;font-size:9.75px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
635 635 .btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
636 636 .btn-block+.btn-block{margin-top:5px;}
637 637 input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%;}
638 638 .btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255, 255, 255, 0.75);}
639 639 .btn-primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top, #0088cc, #0044cc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));background-image:-webkit-linear-gradient(top, #0088cc, #0044cc);background-image:-o-linear-gradient(top, #0088cc, #0044cc);background-image:linear-gradient(to bottom, #0088cc, #0044cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);border-color:#0044cc #0044cc #002a80;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#0044cc;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#ffffff;background-color:#0044cc;*background-color:#003bb3;}
640 640 .btn-primary:active,.btn-primary.active{background-color:#003399 \9;}
641 641 .btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#ffffff;background-color:#0044cc;*background-color:#003bb3;}
642 642 .btn-primary:active,.btn-primary.active{background-color:#003399 \9;}
643 643 .btn-warning{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#f89406;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#ffffff;background-color:#f89406;*background-color:#df8505;}
644 644 .btn-warning:active,.btn-warning.active{background-color:#c67605 \9;}
645 645 .btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#ffffff;background-color:#f89406;*background-color:#df8505;}
646 646 .btn-warning:active,.btn-warning.active{background-color:#c67605 \9;}
647 647 .btn-danger{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#da4f49;background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);background-image:linear-gradient(to bottom, #ee5f5b, #bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#bd362f;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#ffffff;background-color:#bd362f;*background-color:#a9302a;}
648 648 .btn-danger:active,.btn-danger.active{background-color:#942a25 \9;}
649 649 .btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#ffffff;background-color:#bd362f;*background-color:#a9302a;}
650 650 .btn-danger:active,.btn-danger.active{background-color:#942a25 \9;}
651 651 .btn-success{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#5bb75b;background-image:-moz-linear-gradient(top, #62c462, #51a351);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));background-image:-webkit-linear-gradient(top, #62c462, #51a351);background-image:-o-linear-gradient(top, #62c462, #51a351);background-image:linear-gradient(to bottom, #62c462, #51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#51a351;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#ffffff;background-color:#51a351;*background-color:#499249;}
652 652 .btn-success:active,.btn-success.active{background-color:#408140 \9;}
653 653 .btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#ffffff;background-color:#51a351;*background-color:#499249;}
654 654 .btn-success:active,.btn-success.active{background-color:#408140 \9;}
655 655 .btn-info{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#49afcd;background-image:-moz-linear-gradient(top, #5bc0de, #2f96b4);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));background-image:-webkit-linear-gradient(top, #5bc0de, #2f96b4);background-image:-o-linear-gradient(top, #5bc0de, #2f96b4);background-image:linear-gradient(to bottom, #5bc0de, #2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#2f96b4;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#ffffff;background-color:#2f96b4;*background-color:#2a85a0;}
656 656 .btn-info:active,.btn-info.active{background-color:#24748c \9;}
657 657 .btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#ffffff;background-color:#2f96b4;*background-color:#2a85a0;}
658 658 .btn-info:active,.btn-info.active{background-color:#24748c \9;}
659 659 .btn-inverse{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#363636;background-image:-moz-linear-gradient(top, #444444, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));background-image:-webkit-linear-gradient(top, #444444, #222222);background-image:-o-linear-gradient(top, #444444, #222222);background-image:linear-gradient(to bottom, #444444, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#222222;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#ffffff;background-color:#222222;*background-color:#151515;}
660 660 .btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;}
661 661 .btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#ffffff;background-color:#222222;*background-color:#151515;}
662 662 .btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;}
663 663 button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px;}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0;}
664 664 button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px;}
665 665 button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px;}
666 666 button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px;}
667 667 .btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
668 668 .btn-link{border-color:transparent;cursor:pointer;color:#0088cc;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
669 669 .btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent;}
670 670 .btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333333;text-decoration:none;}
671 671 .btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em;}.btn-group:first-child{*margin-left:0;}
672 672 .btn-group:first-child{*margin-left:0;}
673 673 .btn-group+.btn-group{margin-left:5px;}
674 674 .btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px;}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px;}
675 675 .btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
676 676 .btn-group>.btn+.btn{margin-left:-1px;}
677 677 .btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:13px;}
678 678 .btn-group>.btn-mini{font-size:9.75px;}
679 679 .btn-group>.btn-small{font-size:11.049999999999999px;}
680 680 .btn-group>.btn-large{font-size:16.25px;}
681 681 .btn-group>.btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
682 682 .btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
683 683 .btn-group>.btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
684 684 .btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
685 685 .btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2;}
686 686 .btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;}
687 687 .btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px;}
688 688 .btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px;}
689 689 .btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px;}
690 690 .btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px;}
691 691 .btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);}
692 692 .btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6;}
693 693 .btn-group.open .btn-primary.dropdown-toggle{background-color:#0044cc;}
694 694 .btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406;}
695 695 .btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f;}
696 696 .btn-group.open .btn-success.dropdown-toggle{background-color:#51a351;}
697 697 .btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4;}
698 698 .btn-group.open .btn-inverse.dropdown-toggle{background-color:#222222;}
699 699 .btn .caret{margin-top:8px;margin-left:0;}
700 700 .btn-large .caret{margin-top:6px;}
701 701 .btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px;}
702 702 .btn-mini .caret,.btn-small .caret{margin-top:8px;}
703 703 .dropup .btn-large .caret{border-bottom-width:5px;}
704 704 .btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;}
705 705 .btn-group-vertical{display:inline-block;*display:inline;*zoom:1;}
706 706 .btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
707 707 .btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px;}
708 708 .btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}
709 709 .btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}
710 710 .btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0;}
711 711 .btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;}
712 712 .alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
713 713 .alert,.alert h4{color:#c09853;}
714 714 .alert h4{margin:0;}
715 715 .alert .close{position:relative;top:-2px;right:-21px;line-height:20px;}
716 716 .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847;}
717 717 .alert-success h4{color:#468847;}
718 718 .alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48;}
719 719 .alert-danger h4,.alert-error h4{color:#b94a48;}
720 720 .alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad;}
721 721 .alert-info h4{color:#3a87ad;}
722 722 .alert-block{padding-top:14px;padding-bottom:14px;}
723 723 .alert-block>p,.alert-block>ul{margin-bottom:0;}
724 724 .alert-block p+p{margin-top:5px;}
725 725 .nav{margin-left:0;margin-bottom:20px;list-style:none;}
726 726 .nav>li>a{display:block;}
727 727 .nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee;}
728 728 .nav>li>a>img{max-width:none;}
729 729 .nav>.pull-right{float:right;}
730 730 .nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999999;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-transform:uppercase;}
731 731 .nav li+.nav-header{margin-top:9px;}
732 732 .nav-list{padding-left:15px;padding-right:15px;margin-bottom:0;}
733 733 .nav-list>li>a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
734 734 .nav-list>li>a{padding:3px 15px;}
735 735 .nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;}
736 736 .nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px;}
737 737 .nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
738 738 .nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0;}
739 739 .nav-tabs:after,.nav-pills:after{clear:both;}
740 740 .nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0;}
741 741 .nav-tabs:after,.nav-pills:after{clear:both;}
742 742 .nav-tabs>li,.nav-pills>li{float:left;}
743 743 .nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
744 744 .nav-tabs{border-bottom:1px solid #ddd;}
745 745 .nav-tabs>li{margin-bottom:-1px;}
746 746 .nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eeeeee #eeeeee #dddddd;}
747 747 .nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
748 748 .nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
749 749 .nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#ffffff;background-color:#0088cc;}
750 750 .nav-stacked>li{float:none;}
751 751 .nav-stacked>li>a{margin-right:0;}
752 752 .nav-tabs.nav-stacked{border-bottom:0;}
753 753 .nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
754 754 .nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;}
755 755 .nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
756 756 .nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{border-color:#ddd;z-index:2;}
757 757 .nav-pills.nav-stacked>li>a{margin-bottom:3px;}
758 758 .nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;}
759 759 .nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;}
760 760 .nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
761 761 .nav .dropdown-toggle .caret{border-top-color:#0088cc;border-bottom-color:#0088cc;margin-top:6px;}
762 762 .nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580;}
763 763 .nav-tabs .dropdown-toggle .caret{margin-top:8px;}
764 764 .nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff;}
765 765 .nav-tabs .active .dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;}
766 766 .nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer;}
767 767 .nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#ffffff;background-color:#999999;border-color:#999999;}
768 768 .nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;opacity:1;filter:alpha(opacity=100);}
769 769 .tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999999;}
770 770 .tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0;}
771 771 .tabbable:after{clear:both;}
772 772 .tabbable:before,.tabbable:after{display:table;content:"";line-height:0;}
773 773 .tabbable:after{clear:both;}
774 774 .tab-content{overflow:auto;}
775 775 .tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0;}
776 776 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
777 777 .tab-content>.active,.pill-content>.active{display:block;}
778 778 .tabs-below>.nav-tabs{border-top:1px solid #ddd;}
779 779 .tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0;}
780 780 .tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-bottom-color:transparent;border-top-color:#ddd;}
781 781 .tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd;}
782 782 .tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none;}
783 783 .tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;}
784 784 .tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;}
785 785 .tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
786 786 .tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eeeeee #dddddd #eeeeee #eeeeee;}
787 787 .tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;}
788 788 .tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;}
789 789 .tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
790 790 .tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eeeeee #eeeeee #eeeeee #dddddd;}
791 791 .tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;}
792 792 .nav>.disabled>a{color:#999999;}
793 793 .nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;background-color:transparent;cursor:default;}
794 794 .navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2;}
795 795 .navbar-inner{min-height:36px;padding-left:20px;padding-right:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top, #ffffff, #f2f2f2);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));background-image:-webkit-linear-gradient(top, #ffffff, #f2f2f2);background-image:-o-linear-gradient(top, #ffffff, #f2f2f2);background-image:linear-gradient(to bottom, #ffffff, #f2f2f2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);*zoom:1;}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0;}
796 796 .navbar-inner:after{clear:both;}
797 797 .navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0;}
798 798 .navbar-inner:after{clear:both;}
799 799 .navbar .container{width:auto;}
800 800 .nav-collapse.collapse{height:auto;overflow:visible;}
801 801 .navbar .brand{float:left;display:block;padding:8px 20px 8px;margin-left:-20px;font-size:20px;font-weight:200;color:#777777;text-shadow:0 1px 0 #ffffff;}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none;}
802 802 .navbar-text{margin-bottom:0;line-height:36px;color:#777777;}
803 803 .navbar-link{color:#777777;}.navbar-link:hover,.navbar-link:focus{color:#333333;}
804 804 .navbar .divider-vertical{height:36px;margin:0 9px;border-left:1px solid #f2f2f2;border-right:1px solid #ffffff;}
805 805 .navbar .btn,.navbar .btn-group{margin-top:3px;}
806 806 .navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0;}
807 807 .navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0;}
808 808 .navbar-form:after{clear:both;}
809 809 .navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0;}
810 810 .navbar-form:after{clear:both;}
811 811 .navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:3px;}
812 812 .navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0;}
813 813 .navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;}
814 814 .navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap;}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0;}
815 815 .navbar-search{position:relative;float:left;margin-top:3px;margin-bottom:0;}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
816 816 .navbar-static-top{position:static;margin-bottom:0;}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
817 817 .navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;}
818 818 .navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px;}
819 819 .navbar-fixed-bottom .navbar-inner{border-width:1px 0 0;}
820 820 .navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
821 821 .navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
822 822 .navbar-fixed-top{top:0;}
823 823 .navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1);}
824 824 .navbar-fixed-bottom{bottom:0;}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1);}
825 825 .navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
826 826 .navbar .nav.pull-right{float:right;margin-right:0;}
827 827 .navbar .nav>li{float:left;}
828 828 .navbar .nav>li>a{float:none;padding:8px 15px 8px;color:#777777;text-decoration:none;text-shadow:0 1px 0 #ffffff;}
829 829 .navbar .nav .dropdown-toggle .caret{margin-top:8px;}
830 830 .navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#333333;text-decoration:none;}
831 831 .navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);-moz-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);}
832 832 .navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#ededed;background-image:-moz-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));background-image:-webkit-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-o-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:linear-gradient(to bottom, #f2f2f2, #e5e5e5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e5e5e5;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#ffffff;background-color:#e5e5e5;*background-color:#d9d9d9;}
833 833 .navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#cccccc \9;}
834 834 .navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#ffffff;background-color:#e5e5e5;*background-color:#d9d9d9;}
835 835 .navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#cccccc \9;}
836 836 .navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);-moz-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);}
837 837 .btn-navbar .icon-bar+.icon-bar{margin-top:3px;}
838 838 .navbar .nav>li>.dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
839 839 .navbar .nav>li>.dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;position:absolute;top:-6px;left:10px;}
840 840 .navbar-fixed-bottom .nav>li>.dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0, 0, 0, 0.2);border-bottom:0;bottom:-7px;top:auto;}
841 841 .navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #ffffff;border-bottom:0;bottom:-6px;top:auto;}
842 842 .navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333333;border-bottom-color:#333333;}
843 843 .navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:#e5e5e5;color:#555555;}
844 844 .navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777777;border-bottom-color:#777777;}
845 845 .navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;}
846 846 .navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{left:auto;right:0;}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{left:auto;right:12px;}
847 847 .navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px;}
848 848 .navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;}
849 849 .navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top, #222222, #111111);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));background-image:-webkit-linear-gradient(top, #222222, #111111);background-image:-o-linear-gradient(top, #222222, #111111);background-image:linear-gradient(to bottom, #222222, #111111);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);border-color:#252525;}
850 850 .navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999999;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#ffffff;}
851 851 .navbar-inverse .brand{color:#999999;}
852 852 .navbar-inverse .navbar-text{color:#999999;}
853 853 .navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:transparent;color:#ffffff;}
854 854 .navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#ffffff;background-color:#111111;}
855 855 .navbar-inverse .navbar-link{color:#999999;}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#ffffff;}
856 856 .navbar-inverse .divider-vertical{border-left-color:#111111;border-right-color:#222222;}
857 857 .navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#111111;color:#ffffff;}
858 858 .navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;}
859 859 .navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999999;border-bottom-color:#999999;}
860 860 .navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;}
861 861 .navbar-inverse .navbar-search .search-query{color:#ffffff;background-color:#515151;border-color:#111111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#cccccc;}
862 862 .navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#cccccc;}
863 863 .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#cccccc;}
864 864 .navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#cccccc;}
865 865 .navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#cccccc;}
866 866 .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#cccccc;}
867 867 .navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;}
868 868 .navbar-inverse .btn-navbar{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e0e0e;background-image:-moz-linear-gradient(top, #151515, #040404);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));background-image:-webkit-linear-gradient(top, #151515, #040404);background-image:-o-linear-gradient(top, #151515, #040404);background-image:linear-gradient(to bottom, #151515, #040404);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);border-color:#040404 #040404 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#040404;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#ffffff;background-color:#040404;*background-color:#000000;}
869 869 .navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000000 \9;}
870 870 .navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#ffffff;background-color:#040404;*background-color:#000000;}
871 871 .navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000000 \9;}
872 872 .breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.breadcrumb>li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #ffffff;}.breadcrumb>li>.divider{padding:0 5px;color:#ccc;}
873 873 .breadcrumb>.active{color:#999999;}
874 874 .pagination{margin:20px 0;}
875 875 .pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);}
876 876 .pagination ul>li{display:inline;}
877 877 .pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#ffffff;border:1px solid #dddddd;border-left-width:0;}
878 878 .pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5;}
879 879 .pagination ul>.active>a,.pagination ul>.active>span{color:#999999;cursor:default;}
880 880 .pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999999;background-color:transparent;cursor:default;}
881 881 .pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
882 882 .pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
883 883 .pagination-centered{text-align:center;}
884 884 .pagination-right{text-align:right;}
885 885 .pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:16.25px;}
886 886 .pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
887 887 .pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
888 888 .pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px;}
889 889 .pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px;}
890 890 .pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.049999999999999px;}
891 891 .pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:9.75px;}
892 892 .pager{margin:20px 0;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";line-height:0;}
893 893 .pager:after{clear:both;}
894 894 .pager:before,.pager:after{display:table;content:"";line-height:0;}
895 895 .pager:after{clear:both;}
896 896 .pager li{display:inline;}
897 897 .pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
898 898 .pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5;}
899 899 .pager .next>a,.pager .next>span{float:right;}
900 900 .pager .previous>a,.pager .previous>span{float:left;}
901 901 .pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;background-color:#fff;cursor:default;}
902 902 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
903 903 .modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);}
904 904 .modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:none;}.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;}
905 905 .modal.fade.in{top:10%;}
906 906 .modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;}
907 907 .modal-header h3{margin:0;line-height:30px;}
908 908 .modal-body{position:relative;overflow-y:auto;max-height:400px;padding:15px;}
909 909 .modal-form{margin-bottom:0;}
910 910 .modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0;}
911 911 .modal-footer:after{clear:both;}
912 912 .modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0;}
913 913 .modal-footer:after{clear:both;}
914 914 .modal-footer .btn+.btn{margin-left:5px;margin-bottom:0;}
915 915 .modal-footer .btn-group .btn+.btn{margin-left:-1px;}
916 916 .modal-footer .btn-block+.btn-block{margin-left:0;}
917 917 .tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);}
918 918 .tooltip.top{margin-top:-3px;padding:5px 0;}
919 919 .tooltip.right{margin-left:3px;padding:0 5px;}
920 920 .tooltip.bottom{margin-top:3px;padding:5px 0;}
921 921 .tooltip.left{margin-left:-3px;padding:0 5px;}
922 922 .tooltip-inner{max-width:200px;padding:8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
923 923 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;}
924 924 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;}
925 925 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;}
926 926 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;}
927 927 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;}
928 928 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);white-space:normal;}.popover.top{margin-top:-10px;}
929 929 .popover.right{margin-left:10px;}
930 930 .popover.bottom{margin-top:10px;}
931 931 .popover.left{margin-left:-10px;}
932 932 .popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;}.popover-title:empty{display:none;}
933 933 .popover-content{padding:9px 14px;}
934 934 .popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;}
935 935 .popover .arrow{border-width:11px;}
936 936 .popover .arrow:after{border-width:10px;content:"";}
937 937 .popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0, 0, 0, 0.25);bottom:-11px;}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff;}
938 938 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0, 0, 0, 0.25);}.popover.right .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff;}
939 939 .popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0, 0, 0, 0.25);top:-11px;}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff;}
940 940 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0, 0, 0, 0.25);}.popover.left .arrow:after{right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px;}
941 941 .thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0;}
942 942 .thumbnails:after{clear:both;}
943 943 .thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0;}
944 944 .thumbnails:after{clear:both;}
945 945 .row-fluid .thumbnails{margin-left:0;}
946 946 .thumbnails>li{float:left;margin-bottom:20px;margin-left:20px;}
947 947 .thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;}
948 948 a.thumbnail:hover,a.thumbnail:focus{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);}
949 949 .thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;}
950 950 .thumbnail .caption{padding:9px;color:#555555;}
951 951 .media,.media-body{overflow:hidden;*overflow:visible;zoom:1;}
952 952 .media,.media .media{margin-top:15px;}
953 953 .media:first-child{margin-top:0;}
954 954 .media-object{display:block;}
955 955 .media-heading{margin:0 0 5px;}
956 956 .media>.pull-left{margin-right:10px;}
957 957 .media>.pull-right{margin-left:10px;}
958 958 .media-list{margin-left:0;list-style:none;}
959 959 .label,.badge{display:inline-block;padding:2px 4px;font-size:10.998px;font-weight:bold;line-height:14px;color:#ffffff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;}
960 960 .label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
961 961 .badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;}
962 962 .label:empty,.badge:empty{display:none;}
963 963 a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer;}
964 964 .label-important,.badge-important{background-color:#b94a48;}
965 965 .label-important[href],.badge-important[href]{background-color:#953b39;}
966 966 .label-warning,.badge-warning{background-color:#f89406;}
967 967 .label-warning[href],.badge-warning[href]{background-color:#c67605;}
968 968 .label-success,.badge-success{background-color:#468847;}
969 969 .label-success[href],.badge-success[href]{background-color:#356635;}
970 970 .label-info,.badge-info{background-color:#3a87ad;}
971 971 .label-info[href],.badge-info[href]{background-color:#2d6987;}
972 972 .label-inverse,.badge-inverse{background-color:#333333;}
973 973 .label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;}
974 974 .btn .label,.btn .badge{position:relative;top:-1px;}
975 975 .btn-mini .label,.btn-mini .badge{top:0;}
976 976 @-webkit-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-o-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(to bottom, #f5f5f5, #f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
977 977 .progress .bar{width:0%;height:100%;color:#ffffff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));background-image:-webkit-linear-gradient(top, #149bdf, #0480be);background-image:-o-linear-gradient(top, #149bdf, #0480be);background-image:linear-gradient(to bottom, #149bdf, #0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width 0.6s ease;-moz-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;}
978 978 .progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);}
979 979 .progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;}
980 980 .progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;}
981 981 .progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(to bottom, #ee5f5b, #c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);}
982 982 .progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
983 983 .progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(to bottom, #62c462, #57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);}
984 984 .progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
985 985 .progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(to bottom, #5bc0de, #339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);}
986 986 .progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
987 987 .progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);}
988 988 .progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
989 989 .accordion{margin-bottom:20px;}
990 990 .accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
991 991 .accordion-heading{border-bottom:0;}
992 992 .accordion-heading .accordion-toggle{display:block;padding:8px 15px;}
993 993 .accordion-toggle{cursor:pointer;}
994 994 .accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
995 995 .carousel{position:relative;margin-bottom:20px;line-height:1;}
996 996 .carousel-inner{overflow:hidden;width:100%;position:relative;}
997 997 .carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-moz-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1;}
998 998 .carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block;}
999 999 .carousel-inner>.active{left:0;}
1000 1000 .carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%;}
1001 1001 .carousel-inner>.next{left:100%;}
1002 1002 .carousel-inner>.prev{left:-100%;}
1003 1003 .carousel-inner>.next.left,.carousel-inner>.prev.right{left:0;}
1004 1004 .carousel-inner>.active.left{left:-100%;}
1005 1005 .carousel-inner>.active.right{left:100%;}
1006 1006 .carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);}.carousel-control.right{left:auto;right:15px;}
1007 1007 .carousel-control:hover,.carousel-control:focus{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);}
1008 1008 .carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none;}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255, 255, 255, 0.25);border-radius:5px;}
1009 1009 .carousel-indicators .active{background-color:#fff;}
1010 1010 .carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#333333;background:rgba(0, 0, 0, 0.75);}
1011 1011 .carousel-caption h4,.carousel-caption p{color:#ffffff;line-height:20px;}
1012 1012 .carousel-caption h4{margin:0 0 5px;}
1013 1013 .carousel-caption p{margin-bottom:0;}
1014 1014 .hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eeeeee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px;}
1015 1015 .hero-unit li{line-height:30px;}
1016 1016 .pull-right{float:right;}
1017 1017 .pull-left{float:left;}
1018 1018 .hide{display:none;}
1019 1019 .show{display:block;}
1020 1020 .invisible{visibility:hidden;}
1021 1021 .affix{position:fixed;}
1022 1022 .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
1023 1023 .clearfix:after{clear:both;}
1024 1024 .hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
1025 1025 .input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
1026 1026 @-ms-viewport{width:device-width;}.hidden{display:none;visibility:hidden;}
1027 1027 .visible-phone{display:none !important;}
1028 1028 .visible-tablet{display:none !important;}
1029 1029 .hidden-desktop{display:none !important;}
1030 1030 .visible-desktop{display:inherit !important;}
1031 1031 @media (min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important ;} .visible-tablet{display:inherit !important;} .hidden-tablet{display:none !important;}}@media (max-width:767px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important;} .visible-phone{display:inherit !important;} .hidden-phone{display:none !important;}}.visible-print{display:none !important;}
1032 1032 @media print{.visible-print{display:inherit !important;} .hidden-print{display:none !important;}}@media (min-width:1200px){.row{margin-left:-30px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} .row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:30px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px;} .span12{width:1170px;} .span11{width:1070px;} .span10{width:970px;} .span9{width:870px;} .span8{width:770px;} .span7{width:670px;} .span6{width:570px;} .span5{width:470px;} .span4{width:370px;} .span3{width:270px;} .span2{width:170px;} .span1{width:70px;} .offset12{margin-left:1230px;} .offset11{margin-left:1130px;} .offset10{margin-left:1030px;} .offset9{margin-left:930px;} .offset8{margin-left:830px;} .offset7{margin-left:730px;} .offset6{margin-left:630px;} .offset5{margin-left:530px;} .offset4{margin-left:430px;} .offset3{margin-left:330px;} .offset2{margin-left:230px;} .offset1{margin-left:130px;} .row{margin-left:-30px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} .row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:30px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px;} .span12{width:1170px;} .span11{width:1070px;} .span10{width:970px;} .span9{width:870px;} .span8{width:770px;} .span7{width:670px;} .span6{width:570px;} .span5{width:470px;} .span4{width:370px;} .span3{width:270px;} .span2{width:170px;} .span1{width:70px;} .offset12{margin-left:1230px;} .offset11{margin-left:1130px;} .offset10{margin-left:1030px;} .offset9{margin-left:930px;} .offset8{margin-left:830px;} .offset7{margin-left:730px;} .offset6{margin-left:630px;} .offset5{margin-left:530px;} .offset4{margin-left:430px;} .offset3{margin-left:330px;} .offset2{margin-left:230px;} .offset1{margin-left:130px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%;} .row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%;} .row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%;} .row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%;} .row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%;} .row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%;} .row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%;} .row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%;} .row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%;} .row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%;} .row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%;} .row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%;} .row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%;} .row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%;} .row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%;} .row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%;} .row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%;} .row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%;} .row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%;} .row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%;} .row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%;} .row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%;} .row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%;} .row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%;} .row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%;} .row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%;} .row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%;} .row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%;} .row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%;} .row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%;} .row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%;} .row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%;} .row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%;} .row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%;} .row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%;} .row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%;} .row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%;} .row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%;} .row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%;} .row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%;} .row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%;} .row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%;} .row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%;} .row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%;} .row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%;} .row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%;} .row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%;} .row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%;} .row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%;} .row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%;} .row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%;} .row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%;} .row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%;} .row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%;} .row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%;} .row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%;} .row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%;} .row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%;} .row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%;} .row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%;} .row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%;} .row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%;} .row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%;} .row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%;} .row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%;} .row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%;} .row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%;} .row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%;} .row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:30px;} input.span12,textarea.span12,.uneditable-input.span12{width:1156px;} input.span11,textarea.span11,.uneditable-input.span11{width:1056px;} input.span10,textarea.span10,.uneditable-input.span10{width:956px;} input.span9,textarea.span9,.uneditable-input.span9{width:856px;} input.span8,textarea.span8,.uneditable-input.span8{width:756px;} input.span7,textarea.span7,.uneditable-input.span7{width:656px;} input.span6,textarea.span6,.uneditable-input.span6{width:556px;} input.span5,textarea.span5,.uneditable-input.span5{width:456px;} input.span4,textarea.span4,.uneditable-input.span4{width:356px;} input.span3,textarea.span3,.uneditable-input.span3{width:256px;} input.span2,textarea.span2,.uneditable-input.span2{width:156px;} input.span1,textarea.span1,.uneditable-input.span1{width:56px;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:30px;} input.span12,textarea.span12,.uneditable-input.span12{width:1156px;} input.span11,textarea.span11,.uneditable-input.span11{width:1056px;} input.span10,textarea.span10,.uneditable-input.span10{width:956px;} input.span9,textarea.span9,.uneditable-input.span9{width:856px;} input.span8,textarea.span8,.uneditable-input.span8{width:756px;} input.span7,textarea.span7,.uneditable-input.span7{width:656px;} input.span6,textarea.span6,.uneditable-input.span6{width:556px;} input.span5,textarea.span5,.uneditable-input.span5{width:456px;} input.span4,textarea.span4,.uneditable-input.span4{width:356px;} input.span3,textarea.span3,.uneditable-input.span3{width:256px;} input.span2,textarea.span2,.uneditable-input.span2{width:156px;} input.span1,textarea.span1,.uneditable-input.span1{width:56px;} .thumbnails{margin-left:-30px;} .thumbnails>li{margin-left:30px;} .row-fluid .thumbnails{margin-left:0;}}@media (min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} .row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:20px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px;} .span12{width:724px;} .span11{width:662px;} .span10{width:600px;} .span9{width:538px;} .span8{width:476px;} .span7{width:414px;} .span6{width:352px;} .span5{width:290px;} .span4{width:228px;} .span3{width:166px;} .span2{width:104px;} .span1{width:42px;} .offset12{margin-left:764px;} .offset11{margin-left:702px;} .offset10{margin-left:640px;} .offset9{margin-left:578px;} .offset8{margin-left:516px;} .offset7{margin-left:454px;} .offset6{margin-left:392px;} .offset5{margin-left:330px;} .offset4{margin-left:268px;} .offset3{margin-left:206px;} .offset2{margin-left:144px;} .offset1{margin-left:82px;} .row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} .row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:20px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px;} .span12{width:724px;} .span11{width:662px;} .span10{width:600px;} .span9{width:538px;} .span8{width:476px;} .span7{width:414px;} .span6{width:352px;} .span5{width:290px;} .span4{width:228px;} .span3{width:166px;} .span2{width:104px;} .span1{width:42px;} .offset12{margin-left:764px;} .offset11{margin-left:702px;} .offset10{margin-left:640px;} .offset9{margin-left:578px;} .offset8{margin-left:516px;} .offset7{margin-left:454px;} .offset6{margin-left:392px;} .offset5{margin-left:330px;} .offset4{margin-left:268px;} .offset3{margin-left:206px;} .offset2{margin-left:144px;} .offset1{margin-left:82px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%;} .row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%;} .row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%;} .row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%;} .row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%;} .row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%;} .row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%;} .row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%;} .row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%;} .row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%;} .row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%;} .row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%;} .row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%;} .row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%;} .row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%;} .row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%;} .row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%;} .row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%;} .row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%;} .row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%;} .row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%;} .row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%;} .row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%;} .row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%;} .row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%;} .row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%;} .row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%;} .row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%;} .row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%;} .row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%;} .row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%;} .row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%;} .row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%;} .row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%;} .row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%;} .row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%;} .row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%;} .row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%;} .row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%;} .row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%;} .row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%;} .row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%;} .row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%;} .row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%;} .row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%;} .row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%;} .row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%;} .row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%;} .row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%;} .row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%;} .row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%;} .row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%;} .row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%;} .row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%;} .row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%;} .row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%;} .row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%;} .row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%;} .row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%;} .row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%;} .row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%;} .row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%;} .row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%;} .row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%;} .row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%;} .row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%;} .row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%;} .row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%;} .row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:20px;} input.span12,textarea.span12,.uneditable-input.span12{width:710px;} input.span11,textarea.span11,.uneditable-input.span11{width:648px;} input.span10,textarea.span10,.uneditable-input.span10{width:586px;} input.span9,textarea.span9,.uneditable-input.span9{width:524px;} input.span8,textarea.span8,.uneditable-input.span8{width:462px;} input.span7,textarea.span7,.uneditable-input.span7{width:400px;} input.span6,textarea.span6,.uneditable-input.span6{width:338px;} input.span5,textarea.span5,.uneditable-input.span5{width:276px;} input.span4,textarea.span4,.uneditable-input.span4{width:214px;} input.span3,textarea.span3,.uneditable-input.span3{width:152px;} input.span2,textarea.span2,.uneditable-input.span2{width:90px;} input.span1,textarea.span1,.uneditable-input.span1{width:28px;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:20px;} input.span12,textarea.span12,.uneditable-input.span12{width:710px;} input.span11,textarea.span11,.uneditable-input.span11{width:648px;} input.span10,textarea.span10,.uneditable-input.span10{width:586px;} input.span9,textarea.span9,.uneditable-input.span9{width:524px;} input.span8,textarea.span8,.uneditable-input.span8{width:462px;} input.span7,textarea.span7,.uneditable-input.span7{width:400px;} input.span6,textarea.span6,.uneditable-input.span6{width:338px;} input.span5,textarea.span5,.uneditable-input.span5{width:276px;} input.span4,textarea.span4,.uneditable-input.span4{width:214px;} input.span3,textarea.span3,.uneditable-input.span3{width:152px;} input.span2,textarea.span2,.uneditable-input.span2{width:90px;} input.span1,textarea.span1,.uneditable-input.span1{width:28px;}}@media (max-width:767px){body{padding-left:20px;padding-right:20px;} .navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-left:-20px;margin-right:-20px;} .container-fluid{padding:0;} .dl-horizontal dt{float:none;clear:none;width:auto;text-align:left;} .dl-horizontal dd{margin-left:0;} .container{width:auto;} .row-fluid{width:100%;} .row,.thumbnails{margin-left:0;} .thumbnails>li{float:none;margin-left:0;} [class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{float:none;display:block;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .row-fluid [class*="offset"]:first-child{margin-left:0;} .input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto;} .controls-row [class*="span"]+[class*="span"]{margin-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade{top:-100px;} .modal.fade.in{top:20px;}}@media (max-width:480px){.nav-collapse{-webkit-transform:translate3d(0, 0, 0);} .page-header h1 small{display:block;line-height:20px;} input[type="checkbox"],input[type="radio"]{border:1px solid #ccc;} .form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:10px;padding-right:10px;} .media .pull-left,.media .pull-right{float:none;display:block;margin-bottom:10px;} .media-object{margin-right:0;margin-left:0;} .modal{top:10px;left:10px;right:10px;} .modal-header .close{padding:10px;margin:-10px;} .carousel-caption{position:static;}}@media (max-width:979px){body{padding-top:0;} .navbar-fixed-top,.navbar-fixed-bottom{position:static;} .navbar-fixed-top{margin-bottom:20px;} .navbar-fixed-bottom{margin-top:20px;} .navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px;} .navbar .container{width:auto;padding:0;} .navbar .brand{padding-left:10px;padding-right:10px;margin:0 0 0 -5px;} .nav-collapse{clear:both;} .nav-collapse .nav{float:none;margin:0 0 10px;} .nav-collapse .nav>li{float:none;} .nav-collapse .nav>li>a{margin-bottom:2px;} .nav-collapse .nav>.divider-vertical{display:none;} .nav-collapse .nav .nav-header{color:#777777;text-shadow:none;} .nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} .nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} .nav-collapse .dropdown-menu li+li a{margin-bottom:2px;} .nav-collapse .nav>li>a:hover,.nav-collapse .nav>li>a:focus,.nav-collapse .dropdown-menu a:hover,.nav-collapse .dropdown-menu a:focus{background-color:#f2f2f2;} .navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999999;} .navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .nav>li>a:focus,.navbar-inverse .nav-collapse .dropdown-menu a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:focus{background-color:#111111;} .nav-collapse.in .btn-group{margin-top:5px;padding:0;} .nav-collapse .dropdown-menu{position:static;top:auto;left:auto;float:none;display:none;max-width:none;margin:0 15px;padding:0;background-color:transparent;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} .nav-collapse .open>.dropdown-menu{display:block;} .nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none;} .nav-collapse .dropdown-menu .divider{display:none;} .nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none;} .nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);} .navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111111;border-bottom-color:#111111;} .navbar .nav-collapse .nav.pull-right{float:none;margin-left:0;} .nav-collapse,.nav-collapse.collapse{overflow:hidden;height:0;} .navbar .btn-navbar{display:block;} .navbar-static .navbar-inner{padding-left:10px;padding-right:10px;}}@media (min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important;}}.border-box-sizing{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}
1033 1033 .corner-all{border-radius:4px;}
1034 1034 .hbox{display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;}
1035 1035 .hbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
1036 1036 .vbox{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;}
1037 1037 .vbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
1038 1038 .reverse{-webkit-box-direction:reverse;-moz-box-direction:reverse;box-direction:reverse;}
1039 1039 .box-flex0{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
1040 1040 .box-flex1{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;}
1041 1041 .box-flex{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;}
1042 1042 .box-flex2{-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;}
1043 1043 .box-group1{-webkit-box-flex-group:1;-moz-box-flex-group:1;box-flex-group:1;}
1044 1044 .box-group2{-webkit-box-flex-group:2;-moz-box-flex-group:2;box-flex-group:2;}
1045 1045 .start{-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;}
1046 1046 .end{-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;}
1047 1047 .center{-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;}
1048 1048 body{background-color:white;position:absolute;left:0px;right:0px;top:0px;bottom:0px;overflow:visible;}
1049 1049 div#header{display:none;}
1050 1050 #ipython_notebook{padding-left:16px;}
1051 1051 #noscript{width:auto;padding-top:16px;padding-bottom:16px;text-align:center;font-size:22px;color:red;font-weight:bold;}
1052 1052 #ipython_notebook img{font-family:Verdana,"Helvetica Neue",Arial,Helvetica,Geneva,sans-serif;height:24px;text-decoration:none;color:black;}
1053 1053 #site{width:100%;display:none;}
1054 1054 .ui-button .ui-button-text{padding:0.2em 0.8em;font-size:77%;}
1055 1055 input.ui-button{padding:0.3em 0.9em;}
1056 1056 .navbar span{margin-top:3px;}
1057 1057 span#login_widget{float:right;}
1058 1058 .nav-header{text-transform:none;}
1059 1059 .navbar-nobg{background-color:transparent;background-image:none;}
1060 1060 #header>span{margin-top:10px;}
1061 1061 .modal-body{max-height:500px;}
1062 1062 @font-face{font-family:'FontAwesome';src:url('../components/font-awesome/build/assets/font-awesome/font/fontawesome-webfont.eot?v=3.1.0');src:url('../components/font-awesome/build/assets/font-awesome/font/fontawesome-webfont.eot?#iefix&v=3.1.0') format('embedded-opentype'),url('../components/font-awesome/build/assets/font-awesome/font/fontawesome-webfont.woff?v=3.1.0') format('woff'),url('../components/font-awesome/build/assets/font-awesome/font/fontawesome-webfont.ttf?v=3.1.0') format('truetype'),url('../components/font-awesome/build/assets/font-awesome/font/fontawesome-webfont.svg#fontawesomeregular?v=3.1.0') format('svg');font-weight:normal;font-style:normal;}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;}
1063 1063 [class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none;}
1064 1064 .icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em;}
1065 1065 a [class^="icon-"],a [class*=" icon-"],a [class^="icon-"]:before,a [class*=" icon-"]:before{display:inline;}
1066 1066 [class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.2857142857142858em;text-align:center;}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.5714285714285714em;}
1067 1067 ul.icons-ul{list-style-type:none;text-indent:-0.7142857142857143em;margin-left:2.142857142857143em;}ul.icons-ul>li .icon-li{width:0.7142857142857143em;display:inline-block;text-align:center;}
1068 1068 [class^="icon-"].hide,[class*=" icon-"].hide{display:none;}
1069 1069 .icon-muted{color:#eeeeee;}
1070 1070 .icon-light{color:#ffffff;}
1071 1071 .icon-dark{color:#333333;}
1072 1072 .icon-border{border:solid 1px #eeeeee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
1073 1073 .icon-2x{font-size:2em;}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
1074 1074 .icon-3x{font-size:3em;}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
1075 1075 .icon-4x{font-size:4em;}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
1076 1076 .icon-5x{font-size:5em;}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;}
1077 1077 .pull-right{float:right;}
1078 1078 .pull-left{float:left;}
1079 1079 [class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em;}
1080 1080 [class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em;}
1081 1081 [class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0% 0%;background-repeat:repeat;margin-top:0;}
1082 1082 .icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none;}
1083 1083 .btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em;}
1084 1084 .btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block;}
1085 1085 .nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em;}
1086 1086 .btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em;}
1087 1087 .btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em;}
1088 1088 .btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em;}
1089 1089 .btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0;}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em;}
1090 1090 .btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em;}
1091 1091 .btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em;}
1092 1092 .icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%;}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em;}
1093 1093 .icon-stack .icon-stack-base{font-size:2em;*line-height:1em;}
1094 1094 .icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;}
1095 1095 @-moz-keyframes spin{0%{-moz-transform:rotate(0deg);} 100%{-moz-transform:rotate(359deg);}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);} 100%{-webkit-transform:rotate(359deg);}}@-o-keyframes spin{0%{-o-transform:rotate(0deg);} 100%{-o-transform:rotate(359deg);}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg);} 100%{-ms-transform:rotate(359deg);}}@keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(359deg);}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);}
1096 1096 .icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);}
1097 1097 .icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);}
1098 1098 .icon-flip-horizontal:before{-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1);}
1099 1099 .icon-flip-vertical:before{-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1);}
1100 1100 .icon-glass:before{content:"\f000";}
1101 1101 .icon-music:before{content:"\f001";}
1102 1102 .icon-search:before{content:"\f002";}
1103 1103 .icon-envelope:before{content:"\f003";}
1104 1104 .icon-heart:before{content:"\f004";}
1105 1105 .icon-star:before{content:"\f005";}
1106 1106 .icon-star-empty:before{content:"\f006";}
1107 1107 .icon-user:before{content:"\f007";}
1108 1108 .icon-film:before{content:"\f008";}
1109 1109 .icon-th-large:before{content:"\f009";}
1110 1110 .icon-th:before{content:"\f00a";}
1111 1111 .icon-th-list:before{content:"\f00b";}
1112 1112 .icon-ok:before{content:"\f00c";}
1113 1113 .icon-remove:before{content:"\f00d";}
1114 1114 .icon-zoom-in:before{content:"\f00e";}
1115 1115 .icon-zoom-out:before{content:"\f010";}
1116 1116 .icon-off:before{content:"\f011";}
1117 1117 .icon-signal:before{content:"\f012";}
1118 1118 .icon-cog:before{content:"\f013";}
1119 1119 .icon-trash:before{content:"\f014";}
1120 1120 .icon-home:before{content:"\f015";}
1121 1121 .icon-file:before{content:"\f016";}
1122 1122 .icon-time:before{content:"\f017";}
1123 1123 .icon-road:before{content:"\f018";}
1124 1124 .icon-download-alt:before{content:"\f019";}
1125 1125 .icon-download:before{content:"\f01a";}
1126 1126 .icon-upload:before{content:"\f01b";}
1127 1127 .icon-inbox:before{content:"\f01c";}
1128 1128 .icon-play-circle:before{content:"\f01d";}
1129 1129 .icon-repeat:before,.icon-rotate-right:before{content:"\f01e";}
1130 1130 .icon-refresh:before{content:"\f021";}
1131 1131 .icon-list-alt:before{content:"\f022";}
1132 1132 .icon-lock:before{content:"\f023";}
1133 1133 .icon-flag:before{content:"\f024";}
1134 1134 .icon-headphones:before{content:"\f025";}
1135 1135 .icon-volume-off:before{content:"\f026";}
1136 1136 .icon-volume-down:before{content:"\f027";}
1137 1137 .icon-volume-up:before{content:"\f028";}
1138 1138 .icon-qrcode:before{content:"\f029";}
1139 1139 .icon-barcode:before{content:"\f02a";}
1140 1140 .icon-tag:before{content:"\f02b";}
1141 1141 .icon-tags:before{content:"\f02c";}
1142 1142 .icon-book:before{content:"\f02d";}
1143 1143 .icon-bookmark:before{content:"\f02e";}
1144 1144 .icon-print:before{content:"\f02f";}
1145 1145 .icon-camera:before{content:"\f030";}
1146 1146 .icon-font:before{content:"\f031";}
1147 1147 .icon-bold:before{content:"\f032";}
1148 1148 .icon-italic:before{content:"\f033";}
1149 1149 .icon-text-height:before{content:"\f034";}
1150 1150 .icon-text-width:before{content:"\f035";}
1151 1151 .icon-align-left:before{content:"\f036";}
1152 1152 .icon-align-center:before{content:"\f037";}
1153 1153 .icon-align-right:before{content:"\f038";}
1154 1154 .icon-align-justify:before{content:"\f039";}
1155 1155 .icon-list:before{content:"\f03a";}
1156 1156 .icon-indent-left:before{content:"\f03b";}
1157 1157 .icon-indent-right:before{content:"\f03c";}
1158 1158 .icon-facetime-video:before{content:"\f03d";}
1159 1159 .icon-picture:before{content:"\f03e";}
1160 1160 .icon-pencil:before{content:"\f040";}
1161 1161 .icon-map-marker:before{content:"\f041";}
1162 1162 .icon-adjust:before{content:"\f042";}
1163 1163 .icon-tint:before{content:"\f043";}
1164 1164 .icon-edit:before{content:"\f044";}
1165 1165 .icon-share:before{content:"\f045";}
1166 1166 .icon-check:before{content:"\f046";}
1167 1167 .icon-move:before{content:"\f047";}
1168 1168 .icon-step-backward:before{content:"\f048";}
1169 1169 .icon-fast-backward:before{content:"\f049";}
1170 1170 .icon-backward:before{content:"\f04a";}
1171 1171 .icon-play:before{content:"\f04b";}
1172 1172 .icon-pause:before{content:"\f04c";}
1173 1173 .icon-stop:before{content:"\f04d";}
1174 1174 .icon-forward:before{content:"\f04e";}
1175 1175 .icon-fast-forward:before{content:"\f050";}
1176 1176 .icon-step-forward:before{content:"\f051";}
1177 1177 .icon-eject:before{content:"\f052";}
1178 1178 .icon-chevron-left:before{content:"\f053";}
1179 1179 .icon-chevron-right:before{content:"\f054";}
1180 1180 .icon-plus-sign:before{content:"\f055";}
1181 1181 .icon-minus-sign:before{content:"\f056";}
1182 1182 .icon-remove-sign:before{content:"\f057";}
1183 1183 .icon-ok-sign:before{content:"\f058";}
1184 1184 .icon-question-sign:before{content:"\f059";}
1185 1185 .icon-info-sign:before{content:"\f05a";}
1186 1186 .icon-screenshot:before{content:"\f05b";}
1187 1187 .icon-remove-circle:before{content:"\f05c";}
1188 1188 .icon-ok-circle:before{content:"\f05d";}
1189 1189 .icon-ban-circle:before{content:"\f05e";}
1190 1190 .icon-arrow-left:before{content:"\f060";}
1191 1191 .icon-arrow-right:before{content:"\f061";}
1192 1192 .icon-arrow-up:before{content:"\f062";}
1193 1193 .icon-arrow-down:before{content:"\f063";}
1194 1194 .icon-share-alt:before,.icon-mail-forward:before{content:"\f064";}
1195 1195 .icon-resize-full:before{content:"\f065";}
1196 1196 .icon-resize-small:before{content:"\f066";}
1197 1197 .icon-plus:before{content:"\f067";}
1198 1198 .icon-minus:before{content:"\f068";}
1199 1199 .icon-asterisk:before{content:"\f069";}
1200 1200 .icon-exclamation-sign:before{content:"\f06a";}
1201 1201 .icon-gift:before{content:"\f06b";}
1202 1202 .icon-leaf:before{content:"\f06c";}
1203 1203 .icon-fire:before{content:"\f06d";}
1204 1204 .icon-eye-open:before{content:"\f06e";}
1205 1205 .icon-eye-close:before{content:"\f070";}
1206 1206 .icon-warning-sign:before{content:"\f071";}
1207 1207 .icon-plane:before{content:"\f072";}
1208 1208 .icon-calendar:before{content:"\f073";}
1209 1209 .icon-random:before{content:"\f074";}
1210 1210 .icon-comment:before{content:"\f075";}
1211 1211 .icon-magnet:before{content:"\f076";}
1212 1212 .icon-chevron-up:before{content:"\f077";}
1213 1213 .icon-chevron-down:before{content:"\f078";}
1214 1214 .icon-retweet:before{content:"\f079";}
1215 1215 .icon-shopping-cart:before{content:"\f07a";}
1216 1216 .icon-folder-close:before{content:"\f07b";}
1217 1217 .icon-folder-open:before{content:"\f07c";}
1218 1218 .icon-resize-vertical:before{content:"\f07d";}
1219 1219 .icon-resize-horizontal:before{content:"\f07e";}
1220 1220 .icon-bar-chart:before{content:"\f080";}
1221 1221 .icon-twitter-sign:before{content:"\f081";}
1222 1222 .icon-facebook-sign:before{content:"\f082";}
1223 1223 .icon-camera-retro:before{content:"\f083";}
1224 1224 .icon-key:before{content:"\f084";}
1225 1225 .icon-cogs:before{content:"\f085";}
1226 1226 .icon-comments:before{content:"\f086";}
1227 1227 .icon-thumbs-up:before{content:"\f087";}
1228 1228 .icon-thumbs-down:before{content:"\f088";}
1229 1229 .icon-star-half:before{content:"\f089";}
1230 1230 .icon-heart-empty:before{content:"\f08a";}
1231 1231 .icon-signout:before{content:"\f08b";}
1232 1232 .icon-linkedin-sign:before{content:"\f08c";}
1233 1233 .icon-pushpin:before{content:"\f08d";}
1234 1234 .icon-external-link:before{content:"\f08e";}
1235 1235 .icon-signin:before{content:"\f090";}
1236 1236 .icon-trophy:before{content:"\f091";}
1237 1237 .icon-github-sign:before{content:"\f092";}
1238 1238 .icon-upload-alt:before{content:"\f093";}
1239 1239 .icon-lemon:before{content:"\f094";}
1240 1240 .icon-phone:before{content:"\f095";}
1241 1241 .icon-check-empty:before{content:"\f096";}
1242 1242 .icon-bookmark-empty:before{content:"\f097";}
1243 1243 .icon-phone-sign:before{content:"\f098";}
1244 1244 .icon-twitter:before{content:"\f099";}
1245 1245 .icon-facebook:before{content:"\f09a";}
1246 1246 .icon-github:before{content:"\f09b";}
1247 1247 .icon-unlock:before{content:"\f09c";}
1248 1248 .icon-credit-card:before{content:"\f09d";}
1249 1249 .icon-rss:before{content:"\f09e";}
1250 1250 .icon-hdd:before{content:"\f0a0";}
1251 1251 .icon-bullhorn:before{content:"\f0a1";}
1252 1252 .icon-bell:before{content:"\f0a2";}
1253 1253 .icon-certificate:before{content:"\f0a3";}
1254 1254 .icon-hand-right:before{content:"\f0a4";}
1255 1255 .icon-hand-left:before{content:"\f0a5";}
1256 1256 .icon-hand-up:before{content:"\f0a6";}
1257 1257 .icon-hand-down:before{content:"\f0a7";}
1258 1258 .icon-circle-arrow-left:before{content:"\f0a8";}
1259 1259 .icon-circle-arrow-right:before{content:"\f0a9";}
1260 1260 .icon-circle-arrow-up:before{content:"\f0aa";}
1261 1261 .icon-circle-arrow-down:before{content:"\f0ab";}
1262 1262 .icon-globe:before{content:"\f0ac";}
1263 1263 .icon-wrench:before{content:"\f0ad";}
1264 1264 .icon-tasks:before{content:"\f0ae";}
1265 1265 .icon-filter:before{content:"\f0b0";}
1266 1266 .icon-briefcase:before{content:"\f0b1";}
1267 1267 .icon-fullscreen:before{content:"\f0b2";}
1268 1268 .icon-group:before{content:"\f0c0";}
1269 1269 .icon-link:before{content:"\f0c1";}
1270 1270 .icon-cloud:before{content:"\f0c2";}
1271 1271 .icon-beaker:before{content:"\f0c3";}
1272 1272 .icon-cut:before{content:"\f0c4";}
1273 1273 .icon-copy:before{content:"\f0c5";}
1274 1274 .icon-paper-clip:before{content:"\f0c6";}
1275 1275 .icon-save:before{content:"\f0c7";}
1276 1276 .icon-sign-blank:before{content:"\f0c8";}
1277 1277 .icon-reorder:before{content:"\f0c9";}
1278 1278 .icon-list-ul:before{content:"\f0ca";}
1279 1279 .icon-list-ol:before{content:"\f0cb";}
1280 1280 .icon-strikethrough:before{content:"\f0cc";}
1281 1281 .icon-underline:before{content:"\f0cd";}
1282 1282 .icon-table:before{content:"\f0ce";}
1283 1283 .icon-magic:before{content:"\f0d0";}
1284 1284 .icon-truck:before{content:"\f0d1";}
1285 1285 .icon-pinterest:before{content:"\f0d2";}
1286 1286 .icon-pinterest-sign:before{content:"\f0d3";}
1287 1287 .icon-google-plus-sign:before{content:"\f0d4";}
1288 1288 .icon-google-plus:before{content:"\f0d5";}
1289 1289 .icon-money:before{content:"\f0d6";}
1290 1290 .icon-caret-down:before{content:"\f0d7";}
1291 1291 .icon-caret-up:before{content:"\f0d8";}
1292 1292 .icon-caret-left:before{content:"\f0d9";}
1293 1293 .icon-caret-right:before{content:"\f0da";}
1294 1294 .icon-columns:before{content:"\f0db";}
1295 1295 .icon-sort:before{content:"\f0dc";}
1296 1296 .icon-sort-down:before{content:"\f0dd";}
1297 1297 .icon-sort-up:before{content:"\f0de";}
1298 1298 .icon-envelope-alt:before{content:"\f0e0";}
1299 1299 .icon-linkedin:before{content:"\f0e1";}
1300 1300 .icon-undo:before,.icon-rotate-left:before{content:"\f0e2";}
1301 1301 .icon-legal:before{content:"\f0e3";}
1302 1302 .icon-dashboard:before{content:"\f0e4";}
1303 1303 .icon-comment-alt:before{content:"\f0e5";}
1304 1304 .icon-comments-alt:before{content:"\f0e6";}
1305 1305 .icon-bolt:before{content:"\f0e7";}
1306 1306 .icon-sitemap:before{content:"\f0e8";}
1307 1307 .icon-umbrella:before{content:"\f0e9";}
1308 1308 .icon-paste:before{content:"\f0ea";}
1309 1309 .icon-lightbulb:before{content:"\f0eb";}
1310 1310 .icon-exchange:before{content:"\f0ec";}
1311 1311 .icon-cloud-download:before{content:"\f0ed";}
1312 1312 .icon-cloud-upload:before{content:"\f0ee";}
1313 1313 .icon-user-md:before{content:"\f0f0";}
1314 1314 .icon-stethoscope:before{content:"\f0f1";}
1315 1315 .icon-suitcase:before{content:"\f0f2";}
1316 1316 .icon-bell-alt:before{content:"\f0f3";}
1317 1317 .icon-coffee:before{content:"\f0f4";}
1318 1318 .icon-food:before{content:"\f0f5";}
1319 1319 .icon-file-alt:before{content:"\f0f6";}
1320 1320 .icon-building:before{content:"\f0f7";}
1321 1321 .icon-hospital:before{content:"\f0f8";}
1322 1322 .icon-ambulance:before{content:"\f0f9";}
1323 1323 .icon-medkit:before{content:"\f0fa";}
1324 1324 .icon-fighter-jet:before{content:"\f0fb";}
1325 1325 .icon-beer:before{content:"\f0fc";}
1326 1326 .icon-h-sign:before{content:"\f0fd";}
1327 1327 .icon-plus-sign-alt:before{content:"\f0fe";}
1328 1328 .icon-double-angle-left:before{content:"\f100";}
1329 1329 .icon-double-angle-right:before{content:"\f101";}
1330 1330 .icon-double-angle-up:before{content:"\f102";}
1331 1331 .icon-double-angle-down:before{content:"\f103";}
1332 1332 .icon-angle-left:before{content:"\f104";}
1333 1333 .icon-angle-right:before{content:"\f105";}
1334 1334 .icon-angle-up:before{content:"\f106";}
1335 1335 .icon-angle-down:before{content:"\f107";}
1336 1336 .icon-desktop:before{content:"\f108";}
1337 1337 .icon-laptop:before{content:"\f109";}
1338 1338 .icon-tablet:before{content:"\f10a";}
1339 1339 .icon-mobile-phone:before{content:"\f10b";}
1340 1340 .icon-circle-blank:before{content:"\f10c";}
1341 1341 .icon-quote-left:before{content:"\f10d";}
1342 1342 .icon-quote-right:before{content:"\f10e";}
1343 1343 .icon-spinner:before{content:"\f110";}
1344 1344 .icon-circle:before{content:"\f111";}
1345 1345 .icon-reply:before,.icon-mail-reply:before{content:"\f112";}
1346 1346 .icon-folder-close-alt:before{content:"\f114";}
1347 1347 .icon-folder-open-alt:before{content:"\f115";}
1348 1348 .icon-expand-alt:before{content:"\f116";}
1349 1349 .icon-collapse-alt:before{content:"\f117";}
1350 1350 .icon-smile:before{content:"\f118";}
1351 1351 .icon-frown:before{content:"\f119";}
1352 1352 .icon-meh:before{content:"\f11a";}
1353 1353 .icon-gamepad:before{content:"\f11b";}
1354 1354 .icon-keyboard:before{content:"\f11c";}
1355 1355 .icon-flag-alt:before{content:"\f11d";}
1356 1356 .icon-flag-checkered:before{content:"\f11e";}
1357 1357 .icon-terminal:before{content:"\f120";}
1358 1358 .icon-code:before{content:"\f121";}
1359 1359 .icon-reply-all:before{content:"\f122";}
1360 1360 .icon-mail-reply-all:before{content:"\f122";}
1361 1361 .icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123";}
1362 1362 .icon-location-arrow:before{content:"\f124";}
1363 1363 .icon-crop:before{content:"\f125";}
1364 1364 .icon-code-fork:before{content:"\f126";}
1365 1365 .icon-unlink:before{content:"\f127";}
1366 1366 .icon-question:before{content:"\f128";}
1367 1367 .icon-info:before{content:"\f129";}
1368 1368 .icon-exclamation:before{content:"\f12a";}
1369 1369 .icon-superscript:before{content:"\f12b";}
1370 1370 .icon-subscript:before{content:"\f12c";}
1371 1371 .icon-eraser:before{content:"\f12d";}
1372 1372 .icon-puzzle-piece:before{content:"\f12e";}
1373 1373 .icon-microphone:before{content:"\f130";}
1374 1374 .icon-microphone-off:before{content:"\f131";}
1375 1375 .icon-shield:before{content:"\f132";}
1376 1376 .icon-calendar-empty:before{content:"\f133";}
1377 1377 .icon-fire-extinguisher:before{content:"\f134";}
1378 1378 .icon-rocket:before{content:"\f135";}
1379 1379 .icon-maxcdn:before{content:"\f136";}
1380 1380 .icon-chevron-sign-left:before{content:"\f137";}
1381 1381 .icon-chevron-sign-right:before{content:"\f138";}
1382 1382 .icon-chevron-sign-up:before{content:"\f139";}
1383 1383 .icon-chevron-sign-down:before{content:"\f13a";}
1384 1384 .icon-html5:before{content:"\f13b";}
1385 1385 .icon-css3:before{content:"\f13c";}
1386 1386 .icon-anchor:before{content:"\f13d";}
1387 1387 .icon-unlock-alt:before{content:"\f13e";}
1388 1388 .icon-bullseye:before{content:"\f140";}
1389 1389 .icon-ellipsis-horizontal:before{content:"\f141";}
1390 1390 .icon-ellipsis-vertical:before{content:"\f142";}
1391 1391 .icon-rss-sign:before{content:"\f143";}
1392 1392 .icon-play-sign:before{content:"\f144";}
1393 1393 .icon-ticket:before{content:"\f145";}
1394 1394 .icon-minus-sign-alt:before{content:"\f146";}
1395 1395 .icon-check-minus:before{content:"\f147";}
1396 1396 .icon-level-up:before{content:"\f148";}
1397 1397 .icon-level-down:before{content:"\f149";}
1398 1398 .icon-check-sign:before{content:"\f14a";}
1399 1399 .icon-edit-sign:before{content:"\f14b";}
1400 1400 .icon-external-link-sign:before{content:"\f14c";}
1401 1401 .icon-share-sign:before{content:"\f14d";}
1402 1402 .center-nav{display:inline-block;margin-bottom:-4px;}
1403 1403 .alternate_upload{background-color:none;display:inline;}
1404 1404 .alternate_upload.form{padding:0;margin:0;}
1405 1405 .alternate_upload input.fileinput{background-color:red;position:relative;opacity:0;z-index:2;width:295px;margin-left:163px;cursor:pointer;}
1406 1406 .list_toolbar{padding:5px;height:25px;line-height:25px;}
1407 1407 .toolbar_info{float:left;}
1408 1408 .toolbar_buttons{float:right;}
1409 1409 .list_header{font-weight:bold;}
1410 1410 .list_container{margin-top:16px;margin-bottom:16px;border:1px solid #ababab;border-radius:4px;}
1411 1411 .list_container>div{border-bottom:1px solid #ababab;}.list_container>div:hover .list-item{background-color:red;}
1412 1412 .list_container>div:last-child{border:none;}
1413 1413 .list_item:hover .list_item{background-color:#ddd;}
1414 1414 .list_container>div>span,.list_container>div>div{padding:8px;}
1415 1415 .list_item a{text-decoration:none;}
1416 1416 input.nbname_input{height:15px;}
1417 1417 .highlight_text{color:blue;}
1418 1418 #project_name>.breadcrumb{padding:0px;margin-bottom:0px;background-color:transparent;font-weight:bold;}
1419 1419 input.engine_num_input{height:20px;margin-bottom:2px;padding-top:0;padding-bottom:0;width:60px;}
1420 1420 .ansibold{font-weight:bold;}
1421 1421 .ansiblack{color:black;}
1422 1422 .ansired{color:darkred;}
1423 1423 .ansigreen{color:darkgreen;}
1424 1424 .ansiyellow{color:brown;}
1425 1425 .ansiblue{color:darkblue;}
1426 1426 .ansipurple{color:darkviolet;}
1427 1427 .ansicyan{color:steelblue;}
1428 1428 .ansigray{color:gray;}
1429 1429 .ansibgblack{background-color:black;}
1430 1430 .ansibgred{background-color:red;}
1431 1431 .ansibggreen{background-color:green;}
1432 1432 .ansibgyellow{background-color:yellow;}
1433 1433 .ansibgblue{background-color:blue;}
1434 1434 .ansibgpurple{background-color:magenta;}
1435 1435 .ansibgcyan{background-color:cyan;}
1436 1436 .ansibggray{background-color:gray;}
1437 1437 .cell{border:1px solid transparent;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;}.cell.selected{border-radius:4px;border:thin #ababab solid;}
1438 1438 div.cell{width:100%;padding:5px 5px 5px 0px;margin:2px 0px 2px 7px;outline:none;}
1439 1439 div.prompt{width:11ex;padding:0.4em;margin:0px;font-family:monospace;text-align:right;line-height:1.231em;}
1440 1440 .celltoolbar{border:thin solid #CFCFCF;border-bottom:none;background:#EEE;border-top-right-radius:3px;border-top-left-radius:3px;width:100%;-webkit-box-pack:end;height:22px;}
1441 1441 .no_input_radius{border-top-right-radius:0px;border-top-left-radius:0px;}
1442 1442 .text_cell .ctb_prompt{display:none;}
1443 1443 .code_cell .ctb_prompt{display:block;}
1444 1444 .ctb_hideshow{display:none;vertical-align:bottom;padding-right:2px;}
1445 1445 .celltoolbar>div{padding-top:0px;}
1446 1446 .ctb_area{margin:0;padding:0;width:100%;}
1447 1447 .ctb_show.ctb_hideshow,.ctb_show .ctb_hideshow{display:block;}
1448 1448 .ctb_show .input_area,.ctb_show .ctb_hideshow+div.text_cell_input{border-top-right-radius:0px;border-top-left-radius:0px;}
1449 1449 .ctb_show>.celltoolbar{border-bottom-right-radius:0px;border-bottom-left-radius:0px;}
1450 1450 .button_container{margin-top:0;margin-bottom:0;}
1451 1451 .ui-button{min-width:30px;}
1452 1452 .celltoolbar .button_container select{margin:10px;margin-top:1px;margin-bottom:0px;padding:0;font-size:87%;width:auto;display:inline-block;height:18px;line-height:18px;vertical-align:top;}
1453 1453 .celltoolbar label{display:inline-block;height:15px;line-height:15px;vertical-align:top;}
1454 1454 .celltoolbar label span{font-size:85%;}
1455 1455 .celltoolbar input[type=checkbox]{margin:0px;margin-left:4px;margin-right:4px;}
1456 1456 .celltoolbar .ui-button{border:none;vertical-align:top;height:20px;}
1457 1457 div.input{page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;}
1458 1458 div.input_area{border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;}
1459 1459 div.input_prompt{color:navy;border-top:1px solid transparent;}
1460 1460 div.output_wrapper{margin-top:5px;position:relative;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;}
1461 1461 div.output_scroll{height:24em;width:100%;overflow:auto;border-radius:4px;-webkit-box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);-moz-box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);}
1462 1462 div.output_collapsed{margin:0px;padding:0px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:vertical;-moz-box-align:stretch;display:box;box-orient:vertical;box-align:stretch;width:100%;}
1463 1463 div.out_prompt_overlay{height:100%;padding:0px 0.4em;position:absolute;border-radius:4px;}
1464 1464 div.out_prompt_overlay:hover{-webkit-box-shadow:inset 0 0 1px #000000;-moz-box-shadow:inset 0 0 1px #000000;box-shadow:inset 0 0 1px #000000;background:rgba(240, 240, 240, 0.5);}
1465 1465 div.output_prompt{color:darkred;}
1466 1466 .CodeMirror{line-height:1.231em;height:auto;background:none;}
1467 1467 .CodeMirror-scroll{overflow-y:hidden;overflow-x:auto;}
1468 1468 @-moz-document {.CodeMirror-scroll{overflow-x:hidden;}}.CodeMirror-lines{padding:0.4em;}
1469 1469 .CodeMirror-linenumber{padding:0 8px 0 4px;}
1470 1470 .CodeMirror-gutters{border-bottom-left-radius:4px;border-top-left-radius:4px;}
1471 1471 .CodeMirror pre{padding:0;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
1472 1472 .completions{position:absolute;z-index:10;overflow:hidden;border:1px solid #ababab;border-radius:4px;-webkit-box-shadow:0px 6px 10px -1px #adadad;-moz-box-shadow:0px 6px 10px -1px #adadad;box-shadow:0px 6px 10px -1px #adadad;}
1473 1473 .completions select{background:white;outline:none;border:none;padding:0px;margin:0px;overflow:auto;font-family:monospace;font-size:110%;color:#000000;}
1474 1474 .completions select option.context{color:#0064cd;}
1475 1475 pre code{display:block;padding:0.5em;}
1476 1476 .highlight-base,pre code,pre .subst,pre .tag .title,pre .lisp .title,pre .clojure .built_in,pre .nginx .title{color:black;}
1477 1477 .highlight-string,pre .string,pre .constant,pre .parent,pre .tag .value,pre .rules .value,pre .rules .value .number,pre .preprocessor,pre .ruby .symbol,pre .ruby .symbol .string,pre .aggregate,pre .template_tag,pre .django .variable,pre .smalltalk .class,pre .addition,pre .flow,pre .stream,pre .bash .variable,pre .apache .tag,pre .apache .cbracket,pre .tex .command,pre .tex .special,pre .erlang_repl .function_or_atom,pre .markdown .header{color:#BA2121;}
1478 1478 .highlight-comment,pre .comment,pre .annotation,pre .template_comment,pre .diff .header,pre .chunk,pre .markdown .blockquote{color:#408080;font-style:italic;}
1479 1479 .highlight-number,pre .number,pre .date,pre .regexp,pre .literal,pre .smalltalk .symbol,pre .smalltalk .char,pre .go .constant,pre .change,pre .markdown .bullet,pre .markdown .link_url{color:#080;}
1480 1480 pre .label,pre .javadoc,pre .ruby .string,pre .decorator,pre .filter .argument,pre .localvars,pre .array,pre .attr_selector,pre .important,pre .pseudo,pre .pi,pre .doctype,pre .deletion,pre .envvar,pre .shebang,pre .apache .sqbracket,pre .nginx .built_in,pre .tex .formula,pre .erlang_repl .reserved,pre .prompt,pre .markdown .link_label,pre .vhdl .attribute,pre .clojure .attribute,pre .coffeescript .property{color:#8888ff;}
1481 1481 .highlight-keyword,pre .keyword,pre .id,pre .phpdoc,pre .aggregate,pre .css .tag,pre .javadoctag,pre .phpdoc,pre .yardoctag,pre .smalltalk .class,pre .winutils,pre .bash .variable,pre .apache .tag,pre .go .typename,pre .tex .command,pre .markdown .strong,pre .request,pre .status{color:#008000;font-weight:bold;}
1482 1482 .highlight-builtin,pre .built_in{color:#008000;}
1483 1483 pre .markdown .emphasis{font-style:italic;}
1484 1484 pre .nginx .built_in{font-weight:normal;}
1485 1485 pre .coffeescript .javascript,pre .javascript .xml,pre .tex .formula,pre .xml .javascript,pre .xml .vbscript,pre .xml .css,pre .xml .cdata{opacity:0.5;}
1486 1486 .cm-s-ipython span.cm-variable{color:black;}
1487 1487 .cm-s-ipython span.cm-keyword{color:#008000;font-weight:bold;}
1488 1488 .cm-s-ipython span.cm-number{color:#080;}
1489 1489 .cm-s-ipython span.cm-comment{color:#408080;font-style:italic;}
1490 1490 .cm-s-ipython span.cm-string{color:#BA2121;}
1491 1491 .cm-s-ipython span.cm-builtin{color:#008000;}
1492 1492 .cm-s-ipython span.cm-error{color:#f00;}
1493 1493 .cm-s-ipython span.cm-operator{color:#AA22FF;font-weight:bold;}
1494 1494 .cm-s-ipython span.cm-meta{color:#AA22FF;}
1495 1495 #menubar .navbar-inner{min-height:28px;border-top:1px;border-radius:0px 0px 4px 4px;}
1496 1496 #menubar .navbar{margin-bottom:8px;}
1497 1497 .nav-wrapper{border-bottom:1px solid #d4d4d4;}
1498 1498 #menubar li.dropdown{line-height:12px;}
1499 1499 body{background-color:#ffffff;}
1500 1500 body.notebook_app{overflow:hidden;}
1501 1501 span#notebook_name{height:1em;line-height:1em;padding:3px;border:none;font-size:146.5%;}
1502 1502 div#notebook_panel{margin:0px 0px 0px 0px;padding:0px;-webkit-box-shadow:0 -1px 10px rgba(0, 0, 0, 0.1);-moz-box-shadow:0 -1px 10px rgba(0, 0, 0, 0.1);box-shadow:0 -1px 10px rgba(0, 0, 0, 0.1);}
1503 1503 div#notebook{overflow-y:scroll;overflow-x:auto;width:100%;padding:5px 5px 15px 5px;margin:0px;border-top:1px solid #ababab;}
1504 1504 div.ui-widget-content{border:1px solid #ababab;outline:none;}
1505 1505 pre.dialog{background-color:#f7f7f7;border:1px solid #ddd;border-radius:4px;padding:0.4em;padding-left:2em;}
1506 1506 p.dialog{padding:0.2em;}
1507 1507 pre,code,kbd,samp{white-space:pre-wrap;}
1508 1508 #fonttest{font-family:monospace;}
1509 1509 p{margin-bottom:0;}
1510 1510 .end_space{height:200px;}
1511 1511 #notification_area{z-index:10;}
1512 1512 .notification_widget{color:#777777;padding:1px 12px;margin:2px 4px;z-index:10;border:1px solid #ccc;border-radius:4px;background:rgba(240, 240, 240, 0.5);}
1513 1513 div.output_area{padding:0px;page-break-inside:avoid;display:-webkit-box;-webkit-box-orient:horizontal;-webkit-box-align:stretch;display:-moz-box;-moz-box-orient:horizontal;-moz-box-align:stretch;display:box;box-orient:horizontal;box-align:stretch;}
1514 1514 div.output_area pre{font-family:monospace;margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;color:black;background-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;line-height:inherit;}
1515 1515 div.output_subarea{padding:0.44em 0.4em 0.4em 1px;margin-left:6px;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;}
1516 1516 div.output_text{text-align:left;color:#000000;font-family:monospace;line-height:1.231em;}
1517 1517 div.output_stream{padding-top:0.0em;padding-bottom:0.0em;}
1518 1518 div.output_stderr{background:#fdd;}
1519 1519 div.output_latex{text-align:left;}
1520 1520 .js-error{color:darkred;}
1521 1521 div.raw_input{padding-top:0px;padding-bottom:0px;height:1em;line-height:1em;font-family:monospace;}
1522 1522 span.input_prompt{font-family:inherit;}
1523 1523 input.raw_input{font-family:inherit;font-size:inherit;color:inherit;width:auto;margin:-2px 0px 0px 1px;padding-left:1px;padding-top:2px;height:1em;}
1524 1524 p.p-space{margin-bottom:10px;}
1525 1525 div#pager_splitter{height:8px;}
1526 1526 #pager-container{position:relative;padding:15px 0px;}
1527 1527 div#pager{overflow:auto;display:none;}div#pager pre{font-size:13px;line-height:1.231em;color:#000000;background-color:#f7f7f7;padding:0.4em;}
1528 1528 .shortcut_key{display:inline-block;width:15ex;text-align:right;font-family:monospace;}
1529 1529 .rendered_html{color:black;}.rendered_html em{font-style:italic;}
1530 1530 .rendered_html strong{font-weight:bold;}
1531 1531 .rendered_html u{text-decoration:underline;}
1532 1532 .rendered_html :link{text-decoration:underline;}
1533 1533 .rendered_html :visited{text-decoration:underline;}
1534 1534 .rendered_html h1{font-size:197%;margin:.65em 0;font-weight:bold;}
1535 1535 .rendered_html h2{font-size:153.9%;margin:.75em 0;font-weight:bold;}
1536 1536 .rendered_html h3{font-size:123.1%;margin:.85em 0;font-weight:bold;}
1537 1537 .rendered_html h4{font-size:100%;margin:0.95em 0;font-weight:bold;}
1538 1538 .rendered_html h5{font-size:85%;margin:1.5em 0;font-weight:bold;}
1539 1539 .rendered_html h6{font-size:77%;margin:1.65em 0;font-weight:bold;}
1540 1540 .rendered_html ul{list-style:disc;margin:1em 2em;}
1541 1541 .rendered_html ul ul{list-style:square;margin:0em 2em;}
1542 1542 .rendered_html ul ul ul{list-style:circle;margin:0em 2em;}
1543 1543 .rendered_html ol{list-style:decimal;margin:1em 2em;}
1544 1544 .rendered_html ol ol{list-style:upper-alpha;margin:0em 2em;}
1545 1545 .rendered_html ol ol ol{list-style:lower-alpha;margin:0em 2em;}
1546 1546 .rendered_html ol ol ol ol{list-style:lower-roman;margin:0em 2em;}
1547 1547 .rendered_html ol ol ol ol ol{list-style:decimal;margin:0em 2em;}
1548 1548 .rendered_html hr{color:black;background-color:black;}
1549 1549 .rendered_html pre{margin:1em 2em;}
1550 1550 .rendered_html pre,.rendered_html code{border:0;background-color:#ffffff;color:#000000;font-size:100%;padding:0px;}
1551 1551 .rendered_html blockquote{margin:1em 2em;}
1552 1552 .rendered_html table,.rendered_html tr,.rendered_html th,.rendered_html td{border:1px solid black;border-collapse:collapse;margin:1em 2em;}
1553 1553 .rendered_html td,.rendered_html th{text-align:left;vertical-align:middle;padding:4px;}
1554 1554 .rendered_html th{font-weight:bold;}
1555 1555 .rendered_html p{text-align:justify;}
1556 1556 .rendered_html p+p{margin-top:1em;}
1557 1557 span#save_widget{padding:0px 5px;margin-top:12px;}
1558 1558 span#checkpoint_status,span#autosave_status{font-size:small;}
1559 1559 @media (max-width:767px){span#save_widget{font-size:small;} span#checkpoint_status,span#autosave_status{font-size:x-small;}}@media (max-width:767px){span#checkpoint_status,span#autosave_status{display:none;}}@media (min-width:768px) and (max-width:979px){span#checkpoint_status{display:none;} span#autosave_status{font-size:x-small;}}div.text_cell{padding:5px 5px 5px 5px;}
1560 1560 div.text_cell_input{color:#000000;border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;}
1561 1561 div.text_cell_render{outline:none;resize:none;width:inherit;border-style:none;padding:5px;color:#000000;}
1562 a.heading-anchor{text-decoration:none;color:inherit;}
1563 1562 a.anchor-link:link{text-decoration:none;padding:0px 20px;visibility:hidden;}
1564 1563 h1:hover .anchor-link,h2:hover .anchor-link,h3:hover .anchor-link,h4:hover .anchor-link,h5:hover .anchor-link,h6:hover .anchor-link{visibility:visible;}
1565 1564 .toolbar{padding:0px 10px;margin-top:-5px;}.toolbar select,.toolbar label{width:auto;height:26px;vertical-align:middle;margin-right:2px;margin-bottom:0px;display:inline;font-size:92%;margin-left:0.3em;margin-right:0.3em;padding:0px;padding-top:3px;}
1566 1565 .toolbar .btn{padding:2px 8px;}
1567 1566 .toolbar .btn-group{margin-top:0px;}
1568 1567 .toolbar-inner{border:none !important;-webkit-box-shadow:none !important;-moz-box-shadow:none !important;box-shadow:none !important;}
1569 1568 #maintoolbar{margin-bottom:0px;}
1570 1569 @-moz-keyframes fadeOut{from{opacity:1;} to{opacity:0;}}@-webkit-keyframes fadeOut{from{opacity:1;} to{opacity:0;}}@-moz-keyframes fadeIn{from{opacity:0;} to{opacity:1;}}@-webkit-keyframes fadeIn{from{opacity:0;} to{opacity:1;}}.bigtooltip{overflow:auto;height:200px;-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms;}
1571 1570 .smalltooltip{-webkit-transition-property:height;-webkit-transition-duration:500ms;-moz-transition-property:height;-moz-transition-duration:500ms;transition-property:height;transition-duration:500ms;text-overflow:ellipsis;overflow:hidden;height:80px;}
1572 1571 .tooltipbuttons{position:absolute;padding-right:15px;top:0px;right:0px;}
1573 1572 .tooltiptext{padding-right:30px;}
1574 1573 .ipython_tooltip{max-width:700px;-webkit-animation:fadeOut 400ms;-moz-animation:fadeOut 400ms;animation:fadeOut 400ms;-webkit-animation:fadeIn 400ms;-moz-animation:fadeIn 400ms;animation:fadeIn 400ms;vertical-align:middle;background-color:#f7f7f7;overflow:visible;border:#ababab 1px solid;outline:none;padding:3px;margin:0px;padding-left:7px;font-family:monospace;min-height:50px;-moz-box-shadow:0px 6px 10px -1px #adadad;-webkit-box-shadow:0px 6px 10px -1px #adadad;box-shadow:0px 6px 10px -1px #adadad;border-radius:4px;position:absolute;z-index:2;}.ipython_tooltip a{float:right;}
1575 1574 .ipython_tooltip .tooltiptext pre{border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;font-size:100%;background-color:#f7f7f7;}
1576 1575 .pretooltiparrow{left:0px;margin:0px;top:-16px;width:40px;height:16px;overflow:hidden;position:absolute;}
1577 1576 .pretooltiparrow:before{background-color:#f7f7f7;border:1px #ababab solid;z-index:11;content:"";position:absolute;left:15px;top:10px;width:25px;height:25px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);}
@@ -1,346 +1,348 b''
1 1 """This module defines Exporter, a highly configurable converter
2 2 that uses Jinja2 to export notebook files into different formats.
3 3 """
4 4
5 5 #-----------------------------------------------------------------------------
6 6 # Copyright (c) 2013, the IPython Development Team.
7 7 #
8 8 # Distributed under the terms of the Modified BSD License.
9 9 #
10 10 # The full license is in the file COPYING.txt, distributed with this software.
11 11 #-----------------------------------------------------------------------------
12 12
13 13 #-----------------------------------------------------------------------------
14 14 # Imports
15 15 #-----------------------------------------------------------------------------
16 16
17 17 from __future__ import print_function, absolute_import
18 18
19 19 # Stdlib imports
20 20 import io
21 21 import os
22 22 import inspect
23 23 from copy import deepcopy
24 24
25 25 # other libs/dependencies
26 26 from jinja2 import Environment, FileSystemLoader, ChoiceLoader
27 27
28 28 # IPython imports
29 29 from IPython.config.configurable import Configurable
30 30 from IPython.config import Config
31 31 from IPython.nbformat import current as nbformat
32 32 from IPython.utils.traitlets import MetaHasTraits, Unicode
33 33 from IPython.utils.text import indent
34 34
35 35 from IPython.nbconvert import filters
36 36 from IPython.nbconvert import transformers
37 37
38 38 #-----------------------------------------------------------------------------
39 39 # Globals and constants
40 40 #-----------------------------------------------------------------------------
41 41
42 42 #Jinja2 extensions to load.
43 43 JINJA_EXTENSIONS = ['jinja2.ext.loopcontrols']
44 44
45 45 default_filters = {
46 46 'indent': indent,
47 47 'markdown': filters.markdown2html,
48 48 'ansi2html': filters.ansi2html,
49 49 'filter_data_type': filters.DataTypeFilter,
50 50 'get_lines': filters.get_lines,
51 51 'highlight': filters.highlight,
52 52 'highlight2html': filters.highlight,
53 53 'highlight2latex': filters.highlight2latex,
54 54 'markdown2latex': filters.markdown2latex,
55 55 'markdown2rst': filters.markdown2rst,
56 56 'pycomment': filters.python_comment,
57 57 'rm_ansi': filters.remove_ansi,
58 58 'rm_dollars': filters.strip_dollars,
59 59 'rm_fake': filters.rm_fake,
60 'html_text' : filters.html_text,
61 'add_anchor': filters.add_anchor,
60 62 'ansi2latex': filters.ansi2latex,
61 63 'rm_math_space': filters.rm_math_space,
62 64 'wrap': filters.wrap
63 65 }
64 66
65 67 #-----------------------------------------------------------------------------
66 68 # Class
67 69 #-----------------------------------------------------------------------------
68 70
69 71 class Exporter(Configurable):
70 72 """
71 73 Exports notebooks into other file formats. Uses Jinja 2 templating engine
72 74 to output new formats. Inherit from this class if you are creating a new
73 75 template type along with new filters/transformers. If the filters/
74 76 transformers provided by default suffice, there is no need to inherit from
75 77 this class. Instead, override the template_file and file_extension
76 78 traits via a config file.
77 79
78 80 {filters}
79 81 """
80 82
81 83 # finish the docstring
82 84 __doc__ = __doc__.format(filters = '- '+'\n - '.join(default_filters.keys()))
83 85
84 86
85 87 template_file = Unicode(
86 88 '', config=True,
87 89 help="Name of the template file to use")
88 90
89 91 file_extension = Unicode(
90 92 'txt', config=True,
91 93 help="Extension of the file that should be written to disk"
92 94 )
93 95
94 96 template_path = Unicode(
95 97 os.path.join("..", "templates"), config=True,
96 98 help="Path where the template files are located.")
97 99
98 100 template_skeleton_path = Unicode(
99 101 os.path.join("..", "templates", "skeleton"), config=True,
100 102 help="Path where the template skeleton files are located.")
101 103
102 104 #Jinja block definitions
103 105 jinja_comment_block_start = Unicode("", config=True)
104 106 jinja_comment_block_end = Unicode("", config=True)
105 107 jinja_variable_block_start = Unicode("", config=True)
106 108 jinja_variable_block_end = Unicode("", config=True)
107 109 jinja_logic_block_start = Unicode("", config=True)
108 110 jinja_logic_block_end = Unicode("", config=True)
109 111
110 112 #Extension that the template files use.
111 113 template_extension = Unicode(".tpl", config=True)
112 114
113 115 #Processors that process the input data prior to the export, set in the
114 116 #constructor for this class.
115 117 transformers = None
116 118
117 119
118 120 def __init__(self, transformers=None, filters=None, config=None, extra_loaders=None, **kw):
119 121 """
120 122 Public constructor
121 123
122 124 Parameters
123 125 ----------
124 126 transformers : list[of transformer]
125 127 Custom transformers to apply to the notebook prior to engaging
126 128 the Jinja template engine. Any transformers specified here
127 129 will override existing transformers if a naming conflict
128 130 occurs.
129 131 filters : dict[of filter]
130 132 filters specified here will override existing filters if a naming
131 133 conflict occurs. Filters are availlable in jinja template through
132 134 the name of the corresponding key. Cf class docstring for
133 135 availlable default filters.
134 136 config : config
135 137 User configuration instance.
136 138 extra_loaders : list[of Jinja Loaders]
137 139 ordered list of Jinja loder to find templates. Will be tried in order
138 140 before the default FileSysteme ones.
139 141 """
140 142
141 143 #Call the base class constructor
142 144 c = self.default_config
143 145 if config:
144 146 c.merge(config)
145 147
146 148 super(Exporter, self).__init__(config=c, **kw)
147 149
148 150 #Standard environment
149 151 self._init_environment(extra_loaders=extra_loaders)
150 152
151 153 #Add transformers
152 154 self._register_transformers()
153 155
154 156 #Add filters to the Jinja2 environment
155 157 self._register_filters()
156 158
157 159 #Load user transformers. Overwrite existing transformers if need be.
158 160 if transformers :
159 161 for transformer in transformers:
160 162 self.register_transformer(transformer)
161 163
162 164 #Load user filters. Overwrite existing filters if need be.
163 165 if not filters is None:
164 166 for key, user_filter in filters.iteritems():
165 167 self.register_filter(key, user_filter)
166 168
167 169 @property
168 170 def default_config(self):
169 171 return Config()
170 172
171 173
172 174
173 175 def from_notebook_node(self, nb, resources=None):
174 176 """
175 177 Convert a notebook from a notebook node instance.
176 178
177 179 Parameters
178 180 ----------
179 181 nb : Notebook node
180 182 resources : a dict of additional resources that
181 183 can be accessed read/write by transformers
182 184 and filters.
183 185 """
184 186 if resources is None:
185 187 resources = {}
186 188 nb, resources = self._preprocess(nb, resources)
187 189
188 190 #Load the template file.
189 191 self.template = self.environment.get_template(self.template_file+self.template_extension)
190 192
191 193 return self.template.render(nb=nb, resources=resources), resources
192 194
193 195
194 196 def from_filename(self, filename):
195 197 """
196 198 Convert a notebook from a notebook file.
197 199
198 200 Parameters
199 201 ----------
200 202 filename : str
201 203 Full filename of the notebook file to open and convert.
202 204 """
203 205
204 206 with io.open(filename) as f:
205 207 return self.from_notebook_node(nbformat.read(f, 'json'))
206 208
207 209
208 210 def from_file(self, file_stream):
209 211 """
210 212 Convert a notebook from a notebook file.
211 213
212 214 Parameters
213 215 ----------
214 216 file_stream : file-like object
215 217 Notebook file-like object to convert.
216 218 """
217 219 return self.from_notebook_node(nbformat.read(file_stream, 'json'))
218 220
219 221
220 222 def register_transformer(self, transformer):
221 223 """
222 224 Register a transformer.
223 225 Transformers are classes that act upon the notebook before it is
224 226 passed into the Jinja templating engine. Transformers are also
225 227 capable of passing additional information to the Jinja
226 228 templating engine.
227 229
228 230 Parameters
229 231 ----------
230 232 transformer : transformer
231 233 """
232 234 if self.transformers is None:
233 235 self.transformers = []
234 236
235 237 if inspect.isfunction(transformer):
236 238 self.transformers.append(transformer)
237 239 return transformer
238 240 elif isinstance(transformer, MetaHasTraits):
239 241 transformer_instance = transformer(config=self.config)
240 242 self.transformers.append(transformer_instance)
241 243 return transformer_instance
242 244 else:
243 245 transformer_instance = transformer()
244 246 self.transformers.append(transformer_instance)
245 247 return transformer_instance
246 248
247 249
248 250 def register_filter(self, name, filter):
249 251 """
250 252 Register a filter.
251 253 A filter is a function that accepts and acts on one string.
252 254 The filters are accesible within the Jinja templating engine.
253 255
254 256 Parameters
255 257 ----------
256 258 name : str
257 259 name to give the filter in the Jinja engine
258 260 filter : filter
259 261 """
260 262 if inspect.isfunction(filter):
261 263 self.environment.filters[name] = filter
262 264 elif isinstance(filter, MetaHasTraits):
263 265 self.environment.filters[name] = filter(config=self.config)
264 266 else:
265 267 self.environment.filters[name] = filter()
266 268 return self.environment.filters[name]
267 269
268 270
269 271 def _register_transformers(self):
270 272 """
271 273 Register all of the transformers needed for this exporter.
272 274 """
273 275
274 276 self.register_transformer(transformers.coalesce_streams)
275 277
276 278 #Remember the figure extraction transformer so it can be enabled and
277 279 #disabled easily later.
278 280 self.extract_figure_transformer = self.register_transformer(transformers.ExtractFigureTransformer)
279 281
280 282
281 283 def _register_filters(self):
282 284 """
283 285 Register all of the filters required for the exporter.
284 286 """
285 287 for k, v in default_filters.iteritems():
286 288 self.register_filter(k, v)
287 289
288 290
289 291 def _init_environment(self, extra_loaders=None):
290 292 """
291 293 Create the Jinja templating environment.
292 294 """
293 295 here = os.path.dirname(os.path.realpath(__file__))
294 296 loaders = []
295 297 if extra_loaders:
296 298 loaders.extend(extra_loaders)
297 299
298 300 loaders.append(FileSystemLoader([
299 301 os.path.join(here, self.template_path),
300 302 os.path.join(here, self.template_skeleton_path),
301 303 ]))
302 304
303 305 self.environment = Environment(
304 306 loader= ChoiceLoader(loaders),
305 307 extensions=JINJA_EXTENSIONS
306 308 )
307 309
308 310 #Set special Jinja2 syntax that will not conflict with latex.
309 311 if self.jinja_logic_block_start:
310 312 self.environment.block_start_string = self.jinja_logic_block_start
311 313 if self.jinja_logic_block_end:
312 314 self.environment.block_end_string = self.jinja_logic_block_end
313 315 if self.jinja_variable_block_start:
314 316 self.environment.variable_start_string = self.jinja_variable_block_start
315 317 if self.jinja_variable_block_end:
316 318 self.environment.variable_end_string = self.jinja_variable_block_end
317 319 if self.jinja_comment_block_start:
318 320 self.environment.comment_start_string = self.jinja_comment_block_start
319 321 if self.jinja_comment_block_end:
320 322 self.environment.comment_end_string = self.jinja_comment_block_end
321 323
322 324
323 325 def _preprocess(self, nb, resources):
324 326 """
325 327 Preprocess the notebook before passing it into the Jinja engine.
326 328 To preprocess the notebook is to apply all of the
327 329
328 330 Parameters
329 331 ----------
330 332 nb : notebook node
331 333 notebook that is being exported.
332 334 resources : a dict of additional resources that
333 335 can be accessed read/write by transformers
334 336 and filters.
335 337 """
336 338
337 339 # Do a deepcopy first,
338 340 # we are never safe enough with what the transformers could do.
339 341 nbc = deepcopy(nb)
340 342 resc = deepcopy(resources)
341 343 #Run each transformer on the notebook. Carry the output along
342 344 #to each transformer
343 345 for transformer in self.transformers:
344 346 nb, resources = transformer(nbc, resc)
345 347 return nb, resources
346 348
@@ -1,74 +1,74 b''
1 1 """Markdown filters
2 2 This file contains a collection of utility filters for dealing with
3 3 markdown within Jinja templates.
4 4 """
5 5 #-----------------------------------------------------------------------------
6 6 # Copyright (c) 2013, the IPython Development Team.
7 7 #
8 8 # Distributed under the terms of the Modified BSD License.
9 9 #
10 10 # The full license is in the file COPYING.txt, distributed with this software.
11 11 #-----------------------------------------------------------------------------
12 12
13 13 #-----------------------------------------------------------------------------
14 14 # Imports
15 15 #-----------------------------------------------------------------------------
16 16 from __future__ import print_function
17 17
18 18 # Stdlib imports
19 19 import sys
20 20 import subprocess
21 21
22 22 from IPython.nbconvert.utils.pandoc import pandoc
23 23
24 24 #-----------------------------------------------------------------------------
25 25 # Functions
26 26 #-----------------------------------------------------------------------------
27 27
28 28 __all__ = [
29 29 'markdown2html',
30 30 'markdown2latex',
31 31 'markdown2rst'
32 32 ]
33 33
34 34 def markdown2latex(source):
35 35 """Convert a markdown string to LaTeX via pandoc.
36 36
37 37 This function will raise an error if pandoc is not installed.
38 38 Any error messages generated by pandoc are printed to stderr.
39 39
40 40 Parameters
41 41 ----------
42 42 source : string
43 43 Input string, assumed to be valid markdown.
44 44
45 45 Returns
46 46 -------
47 47 out : string
48 48 Output as returned by pandoc.
49 49 """
50 50 return pandoc(source, 'markdown', 'latex')
51 51
52 52
53 53 def markdown2html(source):
54 54 """Convert a markdown string to HTML via pandoc"""
55 return pandoc(source, 'markdown', 'html')
55 return pandoc(source, 'markdown', 'html', extra_args=['--mathjax'])
56 56
57 57 def markdown2rst(source):
58 58 """Convert a markdown string to LaTeX via pandoc.
59 59
60 60 This function will raise an error if pandoc is not installed.
61 61 Any error messages generated by pandoc are printed to stderr.
62 62
63 63 Parameters
64 64 ----------
65 65 source : string
66 66 Input string, assumed to be valid markdown.
67 67
68 68 Returns
69 69 -------
70 70 out : string
71 71 Output as returned by pandoc.
72 72 """
73 73 return pandoc(source, 'markdown', 'rst')
74 74
@@ -1,116 +1,151 b''
1 # coding: utf-8
1 2 """String filters.
2 3
3 4 Contains a collection of useful string manipulation filters for use in Jinja
4 5 templates.
5 6 """
6 7 #-----------------------------------------------------------------------------
7 8 # Copyright (c) 2013, the IPython Development Team.
8 9 #
9 10 # Distributed under the terms of the Modified BSD License.
10 11 #
11 12 # The full license is in the file COPYING.txt, distributed with this software.
12 13 #-----------------------------------------------------------------------------
13 14
14 15 #-----------------------------------------------------------------------------
15 16 # Imports
16 17 #-----------------------------------------------------------------------------
17 18
18 19 import re
19 20 import textwrap
21 from xml.etree import ElementTree
22
23 from IPython.utils import py3compat
20 24
21 25 #-----------------------------------------------------------------------------
22 26 # Functions
23 27 #-----------------------------------------------------------------------------
24 28
25 29 __all__ = [
26 30 'wrap',
31 'html_text',
32 'add_anchor',
27 33 'strip_dollars',
28 34 'rm_fake',
29 35 'python_comment',
30 36 'get_lines'
31 37 ]
32 38
33 39
34 40 def wrap(text, width=100):
35 41 """
36 42 Intelligently wrap text.
37 43 Wrap text without breaking words if possible.
38 44
39 45 Parameters
40 46 ----------
41 47 text : str
42 48 Text to wrap.
43 49 width : int, optional
44 50 Number of characters to wrap to, default 100.
45 51 """
46 52
47 53 split_text = text.split('\n')
48 54 wrp = map(lambda x:textwrap.wrap(x,width), split_text)
49 55 wrpd = map('\n'.join, wrp)
50 56 return '\n'.join(wrpd)
51 57
52 58
59 def html_text(element):
60 """extract inner text from html
61
62 Analog of jQuery's $(element).text()
63 """
64 if not isinstance(element, (ElementTree.ElementTree, ElementTree.Element)):
65 element = ElementTree.fromstring(element)
66
67 text = element.text or ""
68 for child in element:
69 text += html_text(child)
70 text += (element.tail or "")
71 return text
72
73
74 def add_anchor(html):
75 """Add an anchor-link to an html header tag
76
77 For use in heading cells
78 """
79 h = ElementTree.fromstring(py3compat.cast_bytes_py2(html))
80 link = html_text(h).replace(' ', '-')
81 h.set('id', link)
82 a = ElementTree.Element("a", {"class" : "anchor-link", "href" : "#" + link})
83 a.text = u'ΒΆ'
84 h.append(a)
85 return ElementTree.tostring(h)
86
87
53 88 def strip_dollars(text):
54 89 """
55 90 Remove all dollar symbols from text
56 91
57 92 Parameters
58 93 ----------
59 94 text : str
60 95 Text to remove dollars from
61 96 """
62 97
63 98 return text.strip('$')
64 99
65 100
66 101 files_url_pattern = re.compile(r'(src|href)\=([\'"]?)files/')
67 102
68 103 def rm_fake(text):
69 104 """
70 105 Fix all fake URLs that start with `files/`,
71 106 stripping out the `files/` prefix.
72 107
73 108 Parameters
74 109 ----------
75 110 text : str
76 111 Text in which to replace 'src="files/real...' with 'src="real...'
77 112 """
78 113 return files_url_pattern.sub(r"\1=\2", text)
79 114
80 115
81 116 def python_comment(text):
82 117 """
83 118 Build a Python comment line from input text.
84 119
85 120 Parameters
86 121 ----------
87 122 text : str
88 123 Text to comment out.
89 124 """
90 125
91 126 #Replace line breaks with line breaks and comment symbols.
92 127 #Also add a comment symbol at the beginning to comment out
93 128 #the first line.
94 129 return '# '+'\n# '.join(text.split('\n'))
95 130
96 131
97 132 def get_lines(text, start=None,end=None):
98 133 """
99 134 Split the input text into separate lines and then return the
100 135 lines that the caller is interested in.
101 136
102 137 Parameters
103 138 ----------
104 139 text : str
105 140 Text to parse lines from.
106 141 start : int, optional
107 142 First line to grab from.
108 143 end : int, optional
109 144 Last line to grab from.
110 145 """
111 146
112 147 # Split the input into lines.
113 148 lines = text.split("\n")
114 149
115 150 # Return the right lines.
116 151 return "\n".join(lines[start:end]) #re-join
@@ -1,143 +1,138 b''
1 1 {%- extends 'display_priority.tpl' -%}
2 2
3 3
4 4
5 5 {% block codecell %}
6 6 <div class="cell border-box-sizing code_cell vbox">
7 7 {{ super() }}</div>
8 8 {%- endblock codecell %}
9 9
10 10 {% block input_group -%}
11 11 <div class="input hbox">
12 12 {{super()}}
13 13 </div>
14 14 {% endblock input_group %}
15 15
16 16 {% block output_group %}
17 17 <div class="vbox output_wrapper">
18 18 <div class="output vbox">
19 19 {{ super() }}
20 20 </div>
21 21 </div>
22 22 {% endblock output_group %}
23 23
24 24 {% block in_prompt -%}
25 25 <div class="prompt input_prompt">In&nbsp;[{{cell.prompt_number}}]:</div>
26 26 {%- endblock in_prompt %}
27 27
28 28 {#
29 29 output_prompt doesn't do anything in HTML,
30 30 because there is a prompt div in each output area (see output block)
31 31 #}
32 32 {% block output_prompt %}
33 33 {% endblock output_prompt %}
34 34
35 35 {% block input %}
36 36 <div class="input_area box-flex1">
37 37 {{cell.input | highlight }}
38 38 </div>
39 39 {%- endblock input %}
40 40
41 41 {% block output %}
42 42 <div class="hbox output_area">
43 43 {%- if output.output_type == 'pyout' -%}
44 44 <div class="prompt output_prompt">
45 45 Out[{{cell.prompt_number}}]:
46 46 {%- else -%}
47 47 <div class="prompt">
48 48 {%- endif -%}
49 49 </div>
50 50 {{ super() }}
51 51 </div>
52 52 {% endblock output %}
53 53
54 54 {% block markdowncell scoped %}
55 55 <div class="text_cell_render border-box-sizing rendered_html">
56 56 {{ cell.source | markdown| rm_fake}}
57 57 </div>
58 58 {%- endblock markdowncell %}
59 59
60 60 {% block headingcell scoped %}
61 61 <div class="text_cell_render border-box-sizing rendered_html">
62 <h{{cell.level}}>
63 {% set source = cell.source | replace(' ','_') %}
64 <a class="heading-anchor" id="{{source}}" href="#{{source}}">
65 {{cell.source | markdown| rm_fake}}
66 </a>
67 </h{{cell.level}}>
62 {{("#" * cell.level + cell.source) | replace('\n', ' ') | markdown | rm_fake | add_anchor }}
68 63 </div>
69 64 {% endblock headingcell %}
70 65
71 66 {% block rawcell scoped %}
72 67 {{ cell.source }}
73 68 {% endblock rawcell %}
74 69
75 70 {% block unknowncell scoped %}
76 71 unknown type {{cell.type}}
77 72 {% endblock unknowncell %}
78 73
79 74
80 75 {% block pyout -%}
81 76 <div class="box-flex1 output_subarea output_pyout">
82 77 {% block data_priority scoped %}{{ super()}}{% endblock %}
83 78 </div>
84 79 {%- endblock pyout %}
85 80
86 81 {% block stream_stdout -%}
87 82 <div class="box-flex1 output_subarea output_stream output_stdout">
88 83 <pre>{{output.text |ansi2html}}</pre>
89 84 </div>
90 85 {%- endblock stream_stdout %}
91 86
92 87 {% block stream_stderr -%}
93 88 <div class="box-flex1 output_subarea output_stream output_stderr">
94 89 <pre>{{output.text |ansi2html}}</pre>
95 90 </div>
96 91 {%- endblock stream_stderr %}
97 92
98 93 {% block data_svg -%}
99 94 {{output.svg}}
100 95 {%- endblock data_svg %}
101 96
102 97
103 98 {% block data_html -%}
104 99 <div class="output_html rendered_html">
105 100 {{output.html}}
106 101 </div>
107 102 {%- endblock data_html %}
108 103
109 104 {% block data_png %}
110 105 <img src="data:image/png;base64,{{output.png}}">
111 106 {%- endblock data_png %}
112 107
113 108
114 109 {% block data_jpg %}
115 110 <img src="data:image/jpeg;base64,{{output.jpeg}}">
116 111 {%- endblock data_jpg %}
117 112
118 113
119 114 {% block data_latex %}
120 115 {{output.latex}}
121 116 {%- endblock data_latex %}
122 117
123 118 {% block pyerr -%}
124 119 <div class="box-flex1 output_subarea output_pyerr">
125 120 <pre>{{super()}}</pre>
126 121 </div>
127 122 {%- endblock pyerr %}
128 123
129 124 {%- block traceback_line %}
130 125 {{line| ansi2html}}
131 126 {%- endblock traceback_line %}
132 127
133 128
134 129 {%- block data_text %}
135 130 <pre>{{output.text | ansi2html}}</pre>
136 131 {%- endblock -%}
137 132
138 133
139 134 {%- block display_data scoped -%}
140 135 <div class="box-flex1 output_subarea output_display_data">
141 136 {{super()}}
142 137 </div>
143 138 {%- endblock display_data -%}
@@ -1,266 +1,251 b''
1 1 ((*- extends 'display_priority.tplx' -*))
2 2
3 3 ((* block in_prompt *))((* endblock in_prompt *))
4 4
5 5 ((* block output_prompt *))((* endblock output_prompt *))
6 6
7 7 ((* block codecell *))\begin{codecell}((( super() )))
8 8 \end{codecell}
9 9 ((* endblock *))
10 10
11 11 ((* block input *))
12 12 \begin{codeinput}
13 13 \begin{lstlisting}
14 14 ((( cell.input )))
15 15 \end{lstlisting}
16 16 \end{codeinput}
17 17 ((* endblock input *))
18 18
19 19
20 20 ((= Those Two are for error displaying
21 21 even if the first one seem to do nothing,
22 22 it introduces a new line
23 23
24 24 =))
25 25 ((* block pyerr *))
26 26 \begin{traceback}
27 27 \begin{verbatim}((( super() )))
28 28 \end{verbatim}
29 29 \end{traceback}
30 30 ((* endblock pyerr *))
31 31
32 32 ((* block traceback_line *))
33 33 ((( line |indent| rm_ansi )))((* endblock traceback_line *))
34 34 ((= .... =))
35 35
36 36
37 37 ((*- block output_group -*))
38 38 \begin{codeoutput}
39 39 ((( super() )))
40 40 \end{codeoutput}((* endblock *))
41 41
42 42 ((*- block data_png -*))
43 43 \begin{center}
44 44 \includegraphics[max size={0.7\textwidth}{0.9\textheight}]{(((output.key_png)))}
45 45 \par
46 46 \end{center}
47 47 ((*- endblock -*))
48 48
49 49 ((*- block data_jpg -*))
50 50 \begin{center}
51 51 \includegraphics[max size={0.7\textwidth}{0.9\textheight}]{(((output.key_jpeg)))}
52 52 \par
53 53 \end{center}
54 54 ((*- endblock -*))
55 55
56 56 ((*- block data_svg -*))
57 57 \begin{center}
58 58 \includegraphics[width=0.7\textwidth]{(((output.key_svg)))}
59 59 \par
60 60 \end{center}
61 61 ((*- endblock -*))
62 62
63 63 ((* block pyout *))
64 64 ((* block data_priority scoped *))((( super() )))((* endblock *))
65 65 ((* endblock pyout *))
66 66
67 67 ((* block data_text *))
68 68 \begin{verbatim}
69 69 ((( output.text )))
70 70 \end{verbatim}
71 71 ((* endblock *))
72 72
73 73 ((* block data_latex -*))
74 74 ((*- if output.latex.startswith('$'): -*)) \begin{equation*}
75 75 ((( output.latex | rm_dollars)))
76 76 \end{equation*}
77 77 ((*- else -*)) ((( output.latex ))) ((*- endif *))
78 78 ((* endblock *))
79 79
80 80 ((* block stream *))
81 81 \begin{Verbatim}[commandchars=\\\{\}]
82 82 ((( output.text | ansi2latex)))
83 83 \end{Verbatim}
84 84 ((* endblock stream *))
85 85
86 86 ((* block markdowncell scoped *))((( cell.source | markdown2latex )))
87 87 ((* endblock markdowncell *))
88 88
89 89 ((* block headingcell scoped -*))
90 \
91 ((*- if cell.level == 1 -*))
92 ((* block h1 -*))section((* endblock h1 -*))
93 ((*- elif cell.level == 2 -*))
94 ((* block h2 -*))subsection((* endblock h2 -*))
95 ((*- elif cell.level == 3 -*))
96 ((* block h3 -*))subsubsection((* endblock h3 -*))
97 ((*- elif cell.level == 4 -*))
98 ((* block h4 -*))paragraph((* endblock h4 -*))
99 ((*- elif cell.level == 5 -*))
100 ((* block h5 -*))subparagraph((* endblock h5 -*))
101 ((*- elif cell.level == 6 -*))
102 ((* block h6 -*))subparagraph((* endblock h6 -*))
103 ((= 6th level not available in standard latex =))
104
105 ((*- endif -*)){((( cell.source | markdown2latex )))}
90 ((( ('#' * cell.level + cell.source) | replace('\n', ' ') | markdown2latex )))
106 91 ((* endblock headingcell *))
107 92
108 93 ((* block rawcell scoped *))
109 94 ((( cell.source | pycomment )))
110 95 ((* endblock rawcell *))
111 96
112 97 ((* block unknowncell scoped *))
113 98 unknown type (((cell.type)))
114 99 ((* endblock unknowncell *))
115 100
116 101
117 102
118 103 ((* block body *))
119 104
120 105 ((* block bodyBegin *))
121 106 \begin{document}
122 107 ((* endblock bodyBegin *))
123 108
124 109 ((( super() )))
125 110
126 111 ((* block bodyEnd *))
127 112 \end{document}
128 113 ((* endblock bodyEnd *))
129 114 ((* endblock body *))
130 115
131 116 ((* block header *))
132 117 %% This file was auto-generated by IPython.
133 118 %% Conversion from the original notebook file:
134 119 %%
135 120 \documentclass[11pt,english]{article}
136 121
137 122 %% This is the automatic preamble used by IPython. Note that it does *not*
138 123 %% include a documentclass declaration, that is added at runtime to the overall
139 124 %% document.
140 125
141 126 \usepackage{amsmath}
142 127 \usepackage{amssymb}
143 128 \usepackage{graphicx}
144 129 \usepackage{ucs}
145 130 \usepackage[utf8x]{inputenc}
146 131
147 132 % Scale down larger images
148 133 \usepackage[export]{adjustbox}
149 134
150 135 %fancy verbatim
151 136 \usepackage{fancyvrb}
152 137 % needed for markdown enumerations to work
153 138 \usepackage{enumerate}
154 139
155 140 % Slightly bigger margins than the latex defaults
156 141 \usepackage{geometry}
157 142 \geometry{verbose,tmargin=3cm,bmargin=3cm,lmargin=2.5cm,rmargin=2.5cm}
158 143
159 144 % Define a few colors for use in code, links and cell shading
160 145 \usepackage{color}
161 146 \definecolor{orange}{cmyk}{0,0.4,0.8,0.2}
162 147 \definecolor{darkorange}{rgb}{.71,0.21,0.01}
163 148 \definecolor{darkgreen}{rgb}{.12,.54,.11}
164 149 \definecolor{myteal}{rgb}{.26, .44, .56}
165 150 \definecolor{gray}{gray}{0.45}
166 151 \definecolor{lightgray}{gray}{.95}
167 152 \definecolor{mediumgray}{gray}{.8}
168 153 \definecolor{inputbackground}{rgb}{.95, .95, .85}
169 154 \definecolor{outputbackground}{rgb}{.95, .95, .95}
170 155 \definecolor{traceback}{rgb}{1, .95, .95}
171 156
172 157 % new ansi colors
173 158 \definecolor{brown}{rgb}{0.54,0.27,0.07}
174 159 \definecolor{purple}{rgb}{0.5,0.0,0.5}
175 160 \definecolor{darkgray}{gray}{0.25}
176 161 \definecolor{lightred}{rgb}{1.0,0.39,0.28}
177 162 \definecolor{lightgreen}{rgb}{0.48,0.99,0.0}
178 163 \definecolor{lightblue}{rgb}{0.53,0.81,0.92}
179 164 \definecolor{lightpurple}{rgb}{0.87,0.63,0.87}
180 165 \definecolor{lightcyan}{rgb}{0.5,1.0,0.83}
181 166
182 167 % Framed environments for code cells (inputs, outputs, errors, ...). The
183 168 % various uses of \unskip (or not) at the end were fine-tuned by hand, so don't
184 169 % randomly change them unless you're sure of the effect it will have.
185 170 \usepackage{framed}
186 171
187 172 % remove extraneous vertical space in boxes
188 173 \setlength\fboxsep{0pt}
189 174
190 175 % codecell is the whole input+output set of blocks that a Code cell can
191 176 % generate.
192 177
193 178 % TODO: unfortunately, it seems that using a framed codecell environment breaks
194 179 % the ability of the frames inside of it to be broken across pages. This
195 180 % causes at least the problem of having lots of empty space at the bottom of
196 181 % pages as new frames are moved to the next page, and if a single frame is too
197 182 % long to fit on a page, will completely stop latex from compiling the
198 183 % document. So unless we figure out a solution to this, we'll have to instead
199 184 % leave the codecell env. as empty. I'm keeping the original codecell
200 185 % definition here (a thin vertical bar) for reference, in case we find a
201 186 % solution to the page break issue.
202 187
203 188 %% \newenvironment{codecell}{%
204 189 %% \def\FrameCommand{\color{mediumgray} \vrule width 1pt \hspace{5pt}}%
205 190 %% \MakeFramed{\vspace{-0.5em}}}
206 191 %% {\unskip\endMakeFramed}
207 192
208 193 % For now, make this a no-op...
209 194 \newenvironment{codecell}{}
210 195
211 196 \newenvironment{codeinput}{%
212 197 \def\FrameCommand{\colorbox{inputbackground}}%
213 198 \MakeFramed{\advance\hsize-\width \FrameRestore}}
214 199 {\unskip\endMakeFramed}
215 200
216 201 \newenvironment{codeoutput}{%
217 202 \def\FrameCommand{\colorbox{outputbackground}}%
218 203 \vspace{-1.4em}
219 204 \MakeFramed{\advance\hsize-\width \FrameRestore}}
220 205 {\unskip\medskip\endMakeFramed}
221 206
222 207 \newenvironment{traceback}{%
223 208 \def\FrameCommand{\colorbox{traceback}}%
224 209 \MakeFramed{\advance\hsize-\width \FrameRestore}}
225 210 {\endMakeFramed}
226 211
227 212 % Use and configure listings package for nicely formatted code
228 213 \usepackage{listingsutf8}
229 214 \lstset{
230 215 language=python,
231 216 inputencoding=utf8x,
232 217 extendedchars=\true,
233 218 aboveskip=\smallskipamount,
234 219 belowskip=\smallskipamount,
235 220 xleftmargin=2mm,
236 221 breaklines=true,
237 222 basicstyle=\small \ttfamily,
238 223 showstringspaces=false,
239 224 keywordstyle=\color{blue}\bfseries,
240 225 commentstyle=\color{myteal},
241 226 stringstyle=\color{darkgreen},
242 227 identifierstyle=\color{darkorange},
243 228 columns=fullflexible, % tighter character kerning, like verb
244 229 }
245 230
246 231 % The hyperref package gives us a pdf with properly built
247 232 % internal navigation ('pdf bookmarks' for the table of contents,
248 233 % internal cross-reference links, web links for URLs, etc.)
249 234 \usepackage{hyperref}
250 235 \hypersetup{
251 236 breaklinks=true, % so long urls are correctly broken across lines
252 237 colorlinks=true,
253 238 urlcolor=blue,
254 239 linkcolor=darkorange,
255 240 citecolor=darkgreen,
256 241 }
257 242
258 243 % hardcode size of all verbatim environments to be a bit smaller
259 244 \makeatletter
260 245 \g@addto@macro\@verbatim\small\topsep=0.5em\partopsep=0pt
261 246 \makeatother
262 247
263 248 % Prevent overflowing lines due to urls and other hard-to-break entities.
264 249 \sloppy
265 250
266 251 ((* endblock *))
@@ -1,73 +1,73 b''
1 1 {% extends 'display_priority.tpl' %}
2 2 {% block in_prompt %}
3 3 In[{{cell.prompt_number if cell.prompt_number else ' '}}]:{% endblock in_prompt %}
4 4
5 5 {% block output_prompt %}{% if cell.haspyout %}Out[{{cell.prompt_number}}]:
6 6 {%- endif %}{%- endblock output_prompt %}
7 7
8 8 {% block input %}
9 9 ```
10 10 {{ cell.input}}
11 11 ```
12 12 {% endblock input %}
13 13
14 14 {% block pyerr %}
15 15 {{ super() }}
16 16 {% endblock pyerr %}
17 17
18 18 {% block traceback_line %}
19 19 {{ line |indent| rm_ansi }}{% endblock traceback_line %}
20 20
21 21 {% block pyout %}
22 22 {% block data_priority scoped %}{{ super()}}{% endblock %}
23 23 {% endblock pyout %}
24 24
25 25 {% block stream %}
26 26 {{ output.text| indent }}
27 27 {% endblock stream %}
28 28
29 29
30 30
31 31
32 32 {% block data_svg %}
33 33 [!image]({{output.key_svg}})
34 34 {% endblock data_svg %}
35 35
36 36 {% block data_png %}
37 37 [!image]({{output.key_png}})
38 38 {% endblock data_png %}
39 39
40 40 {% block data_jpg %}
41 41 [!image]({{output.key_jpg}})
42 42 {% endblock data_jpg %}
43 43
44 44
45 45
46 46 {% block data_latex %}
47 47 $$
48 48 {{output.latex}}
49 49 $$
50 50 {% endblock data_latex %}
51 51
52 52 {% block data_text scoped %}
53 53
54 54 {{output.text | indent}}
55 55
56 56 {% endblock data_text %}
57 57
58 58 {% block markdowncell scoped %}
59 59 {{ cell.source | wrap(80)}}
60 60 {% endblock markdowncell %}
61 61
62 62 {% block headingcell scoped %}
63 63
64 {{ '#' * cell.level }} {{ cell.source }}
64 {{ '#' * cell.level }} {{ cell.source | replace('\n', ' ') }}
65 65
66 66 {% endblock headingcell %}
67 67
68 68 {% block rawcell scoped %}{{ cell.source }}
69 69 {% endblock rawcell %}
70 70
71 71 {% block unknowncell scoped %}
72 72 unknown type {{cell.type}}
73 73 {% endblock unknowncell %}
@@ -1,56 +1,56 b''
1 1 {%- extends 'null.tpl' -%}
2 2
3 3 {% block in_prompt %}
4 4 # In[{{cell.prompt_number if cell.prompt_number else ' '}}]:
5 5 {% endblock in_prompt %}
6 6
7 7 {% block output_prompt %}
8 8 # Out[{{cell.prompt_number}}]:{% endblock output_prompt %}
9 9
10 10 {% block input %}{{ cell.input }}
11 11 {% endblock input %}
12 12
13 13
14 14 {# Those Two are for error displaying
15 15 even if the first one seem to do nothing,
16 16 it introduces a new line
17 17
18 18 #}
19 19 {% block pyerr %}{{ super() }}
20 20 {% endblock pyerr %}
21 21
22 22 {% block traceback_line %}
23 23 {{ line |indent| rm_ansi }}{% endblock traceback_line %}
24 24 {# .... #}
25 25
26 26
27 27 {% block pyout %}
28 28 {{ output.text| indent | pycomment}}
29 29 {% endblock pyout %}
30 30
31 31 {% block stream %}
32 32 {{ output.text| indent | pycomment}}
33 33 {% endblock stream %}
34 34
35 35
36 36
37 37
38 38 {% block display_data scoped %}
39 39 # image file:
40 40 {% endblock display_data %}
41 41
42 42 {% block markdowncell scoped %}
43 43 {{ cell.source | pycomment }}
44 44 {% endblock markdowncell %}
45 45
46 46 {% block headingcell scoped %}
47 {{ '#' * cell.level }}{{ cell.source | pycomment}}
47 {{ '#' * cell.level }}{{ cell.source | replace('\n', ' ') | pycomment}}
48 48 {% endblock headingcell %}
49 49
50 50 {% block rawcell scoped %}
51 51 {{ cell.source | pycomment }}
52 52 {% endblock rawcell %}
53 53
54 54 {% block unknowncell scoped %}
55 55 unknown type {{cell.type}}
56 56 {% endblock unknowncell %}
@@ -1,89 +1,75 b''
1 1 {%- extends 'display_priority.tpl' -%}
2 2 {% block in_prompt -%}
3 3 In[{{cell.prompt_number if cell.prompt_number else ' '}}]:
4 4
5 5 .. code:: python
6 6
7 7 {% endblock in_prompt %}
8 8
9 9 {% block output_prompt %}{% if cell.haspyout -%}
10 10 Out[{{cell.prompt_number}}]:{% endif %}{% endblock output_prompt %}
11 11
12 12 {% block input %}{{ cell.input | indent}}
13 13
14 14 {% endblock input %}
15 15
16 16 {% block pyerr %}::
17 17 {{ super() }}
18 18 {% endblock pyerr %}
19 19
20 20 {% block traceback_line %}
21 21 {{ line |indent| rm_ansi }}{% endblock traceback_line %}
22 22
23 23 {% block pyout %}
24 24 {% block data_priority scoped %}{{ super()}}{% endblock %}
25 25 {% endblock pyout %}
26 26
27 27 {% block stream %}
28 28 .. parsed-literal::
29 29
30 30 {{ output.text| indent }}
31 31 {% endblock stream %}
32 32
33 33
34 34
35 35
36 36 {% block data_svg %}.. image:: {{output.key_svg}}
37 37
38 38 {% endblock data_svg %}
39 39
40 40 {% block data_png %}.. image:: {{output.key_png}}
41 41
42 42 {% endblock data_png %}
43 43
44 44 {% block data_jpg %}..jpg image:: {{output.key_jpg}}
45 45
46 46 {% endblock data_jpg %}
47 47
48 48
49 49
50 50 {% block data_latex %}.. math::
51 51
52 52 {{output.latex| indent}}
53 53
54 54 {% endblock data_latex %}
55 55
56 56 {% block data_text scoped %}.. parsed-literal::
57 57
58 58 {{output.text | indent}}
59 59
60 60 {% endblock data_text %}
61 61
62 62 {% block markdowncell scoped %}{{ cell.source | markdown2rst }}
63 63 {% endblock markdowncell %}
64 64
65 65 {% block headingcell scoped %}
66 {%- set len = cell.source|length -%}
67 {{ cell.source | markdown2rst }}
68 {% if cell.level == 1 %}
69 {{- '=' * len }}
70 {%- elif cell.level == 2 %}
71 {{- '-' * len }}
72 {%- elif cell.level == 3 %}
73 {{- '~' * len }}
74 {%- elif cell.level == 4 %}
75 {{- '.' * len }}
76 {%- elif cell.level == 5 %}
77 {{- '\\' * len }}
78 {%- elif cell.level == 6 %}
79 {{- '`' * len }}
80 {% endif %}
66 {{ ("#" * cell.level + cell.source) | replace('\n', ' ') | markdown2rst }}
81 67
82 68 {% endblock headingcell %}
83 69
84 70 {% block rawcell scoped %}{{ cell.source }}
85 71 {% endblock rawcell %}
86 72
87 73 {% block unknowncell scoped %}
88 74 unknown type {{cell.type}}
89 75 {% endblock unknowncell %}
@@ -1,53 +1,56 b''
1 1 """Utility for calling pandoc"""
2 2 #-----------------------------------------------------------------------------
3 3 # Copyright (c) 2013 the IPython Development Team.
4 4 #
5 5 # Distributed under the terms of the Modified BSD License.
6 6 #
7 7 # The full license is in the file COPYING.txt, distributed with this software.
8 8 #-----------------------------------------------------------------------------
9 9
10 10 #-----------------------------------------------------------------------------
11 11 # Imports
12 12 #-----------------------------------------------------------------------------
13 13
14 14 from __future__ import print_function
15 15
16 16 # Stdlib imports
17 17 import sys
18 18 import subprocess
19 19
20 20 # IPython imports
21 21 from IPython.utils.py3compat import cast_bytes
22 22
23 23 #-----------------------------------------------------------------------------
24 24 # Classes and functions
25 25 #-----------------------------------------------------------------------------
26 26
27 def pandoc(source, fmt, to, encoding='utf-8'):
27 def pandoc(source, fmt, to, extra_args=None, encoding='utf-8'):
28 28 """Convert an input string in format `from` to format `to` via pandoc.
29 29
30 30 This function will raise an error if pandoc is not installed.
31 31 Any error messages generated by pandoc are printed to stderr.
32 32
33 33 Parameters
34 34 ----------
35 35 source : string
36 36 Input string, assumed to be valid format `from`.
37 37 fmt : string
38 38 The name of the input format (markdown, etc.)
39 39 to : string
40 40 The name of the output format (html, etc.)
41 41
42 42 Returns
43 43 -------
44 44 out : unicode
45 45 Output as returned by pandoc.
46 46 """
47 p = subprocess.Popen(['pandoc', '-f', fmt, '-t', to],
47 command = ['pandoc', '-f', fmt, '-t', to]
48 if extra_args:
49 command.extend(extra_args)
50 p = subprocess.Popen(command,
48 51 stdin=subprocess.PIPE, stdout=subprocess.PIPE
49 52 )
50 53 out, _ = p.communicate(cast_bytes(source, encoding))
51 54 out = out.decode(encoding, 'replace')
52 55 return out[:-1]
53 56
General Comments 0
You need to be logged in to leave comments. Login now