##// END OF EJS Templates
Merge pull request #3174 from Carreau/simple-class...
Min RK -
r10347:642ef9ed merge
parent child Browse files
Show More
@@ -1,972 +1,973 b''
1 article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
1 article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
2 audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
2 audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
3 audio:not([controls]){display:none;}
3 audio:not([controls]){display:none;}
4 html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
4 html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
5 a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
5 a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
6 a:hover,a:active{outline:0;}
6 a:hover,a:active{outline:0;}
7 sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
7 sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
8 sup{top:-0.5em;}
8 sup{top:-0.5em;}
9 sub{bottom:-0.25em;}
9 sub{bottom:-0.25em;}
10 img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;}
10 img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;}
11 #map_canvas img,.google-maps img{max-width:none;}
11 #map_canvas img,.google-maps img{max-width:none;}
12 button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
12 button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
13 button,input{*overflow:visible;line-height:normal;}
13 button,input{*overflow:visible;line-height:normal;}
14 button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
14 button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
15 button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}
15 button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}
16 label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer;}
16 label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer;}
17 input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;}
17 input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;}
18 input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
18 input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
19 textarea{overflow:auto;vertical-align:top;}
19 textarea{overflow:auto;vertical-align:top;}
20 @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;}}.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
20 @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;}}.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
21 .clearfix:after{clear:both;}
21 .clearfix:after{clear:both;}
22 .hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
22 .hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
23 .input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
23 .input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
24 body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:20px;color:#000000;background-color:#ffffff;}
24 body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:20px;color:#000000;background-color:#ffffff;}
25 a{color:#0088cc;text-decoration:none;}
25 a{color:#0088cc;text-decoration:none;}
26 a:hover{color:#005580;text-decoration:underline;}
26 a:hover{color:#005580;text-decoration:underline;}
27 .img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
27 .img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
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);}
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 .img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;}
29 .img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;}
30 .row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;}
30 .row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;}
31 .row:after{clear:both;}
31 .row:after{clear:both;}
32 [class*="span"]{float:left;min-height:1px;margin-left:20px;}
32 [class*="span"]{float:left;min-height:1px;margin-left:20px;}
33 .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
33 .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
34 .span12{width:940px;}
34 .span12{width:940px;}
35 .span11{width:860px;}
35 .span11{width:860px;}
36 .span10{width:780px;}
36 .span10{width:780px;}
37 .span9{width:700px;}
37 .span9{width:700px;}
38 .span8{width:620px;}
38 .span8{width:620px;}
39 .span7{width:540px;}
39 .span7{width:540px;}
40 .span6{width:460px;}
40 .span6{width:460px;}
41 .span5{width:380px;}
41 .span5{width:380px;}
42 .span4{width:300px;}
42 .span4{width:300px;}
43 .span3{width:220px;}
43 .span3{width:220px;}
44 .span2{width:140px;}
44 .span2{width:140px;}
45 .span1{width:60px;}
45 .span1{width:60px;}
46 .offset12{margin-left:980px;}
46 .offset12{margin-left:980px;}
47 .offset11{margin-left:900px;}
47 .offset11{margin-left:900px;}
48 .offset10{margin-left:820px;}
48 .offset10{margin-left:820px;}
49 .offset9{margin-left:740px;}
49 .offset9{margin-left:740px;}
50 .offset8{margin-left:660px;}
50 .offset8{margin-left:660px;}
51 .offset7{margin-left:580px;}
51 .offset7{margin-left:580px;}
52 .offset6{margin-left:500px;}
52 .offset6{margin-left:500px;}
53 .offset5{margin-left:420px;}
53 .offset5{margin-left:420px;}
54 .offset4{margin-left:340px;}
54 .offset4{margin-left:340px;}
55 .offset3{margin-left:260px;}
55 .offset3{margin-left:260px;}
56 .offset2{margin-left:180px;}
56 .offset2{margin-left:180px;}
57 .offset1{margin-left:100px;}
57 .offset1{margin-left:100px;}
58 .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;}
58 .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;}
59 .row-fluid:after{clear:both;}
59 .row-fluid:after{clear:both;}
60 .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%;}
60 .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%;}
61 .row-fluid [class*="span"]:first-child{margin-left:0;}
61 .row-fluid [class*="span"]:first-child{margin-left:0;}
62 .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%;}
62 .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%;}
63 .row-fluid .span12{width:100%;*width:99.94680851063829%;}
63 .row-fluid .span12{width:100%;*width:99.94680851063829%;}
64 .row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%;}
64 .row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%;}
65 .row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%;}
65 .row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%;}
66 .row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%;}
66 .row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%;}
67 .row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%;}
67 .row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%;}
68 .row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%;}
68 .row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%;}
69 .row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%;}
69 .row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%;}
70 .row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%;}
70 .row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%;}
71 .row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%;}
71 .row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%;}
72 .row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%;}
72 .row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%;}
73 .row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%;}
73 .row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%;}
74 .row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%;}
74 .row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%;}
75 .row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%;}
75 .row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%;}
76 .row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%;}
76 .row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%;}
77 .row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%;}
77 .row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%;}
78 .row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%;}
78 .row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%;}
79 .row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%;}
79 .row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%;}
80 .row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%;}
80 .row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%;}
81 .row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%;}
81 .row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%;}
82 .row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%;}
82 .row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%;}
83 .row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%;}
83 .row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%;}
84 .row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%;}
84 .row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%;}
85 .row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%;}
85 .row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%;}
86 .row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%;}
86 .row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%;}
87 .row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%;}
87 .row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%;}
88 .row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%;}
88 .row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%;}
89 .row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%;}
89 .row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%;}
90 .row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%;}
90 .row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%;}
91 .row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%;}
91 .row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%;}
92 .row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%;}
92 .row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%;}
93 .row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%;}
93 .row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%;}
94 .row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%;}
94 .row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%;}
95 .row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%;}
95 .row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%;}
96 .row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%;}
96 .row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%;}
97 .row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%;}
97 .row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%;}
98 .row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%;}
98 .row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%;}
99 [class*="span"].hide,.row-fluid [class*="span"].hide{display:none;}
99 [class*="span"].hide,.row-fluid [class*="span"].hide{display:none;}
100 [class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right;}
100 [class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right;}
101 .container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";line-height:0;}
101 .container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";line-height:0;}
102 .container:after{clear:both;}
102 .container:after{clear:both;}
103 .container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0;}
103 .container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0;}
104 .container-fluid:after{clear:both;}
104 .container-fluid:after{clear:both;}
105 p{margin:0 0 10px;}
105 p{margin:0 0 10px;}
106 .lead{margin-bottom:20px;font-size:19.5px;font-weight:200;line-height:30px;}
106 .lead{margin-bottom:20px;font-size:19.5px;font-weight:200;line-height:30px;}
107 small{font-size:85%;}
107 small{font-size:85%;}
108 strong{font-weight:bold;}
108 strong{font-weight:bold;}
109 em{font-style:italic;}
109 em{font-style:italic;}
110 cite{font-style:normal;}
110 cite{font-style:normal;}
111 .muted{color:#999999;}
111 .muted{color:#999999;}
112 a.muted:hover{color:#808080;}
112 a.muted:hover{color:#808080;}
113 .text-warning{color:#c09853;}
113 .text-warning{color:#c09853;}
114 a.text-warning:hover{color:#a47e3c;}
114 a.text-warning:hover{color:#a47e3c;}
115 .text-error{color:#b94a48;}
115 .text-error{color:#b94a48;}
116 a.text-error:hover{color:#953b39;}
116 a.text-error:hover{color:#953b39;}
117 .text-info{color:#3a87ad;}
117 .text-info{color:#3a87ad;}
118 a.text-info:hover{color:#2d6987;}
118 a.text-info:hover{color:#2d6987;}
119 .text-success{color:#468847;}
119 .text-success{color:#468847;}
120 a.text-success:hover{color:#356635;}
120 a.text-success:hover{color:#356635;}
121 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;}
121 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;}
122 h1,h2,h3{line-height:40px;}
122 h1,h2,h3{line-height:40px;}
123 h1{font-size:35.75px;}
123 h1{font-size:35.75px;}
124 h2{font-size:29.25px;}
124 h2{font-size:29.25px;}
125 h3{font-size:22.75px;}
125 h3{font-size:22.75px;}
126 h4{font-size:16.25px;}
126 h4{font-size:16.25px;}
127 h5{font-size:13px;}
127 h5{font-size:13px;}
128 h6{font-size:11.049999999999999px;}
128 h6{font-size:11.049999999999999px;}
129 h1 small{font-size:22.75px;}
129 h1 small{font-size:22.75px;}
130 h2 small{font-size:16.25px;}
130 h2 small{font-size:16.25px;}
131 h3 small{font-size:13px;}
131 h3 small{font-size:13px;}
132 h4 small{font-size:13px;}
132 h4 small{font-size:13px;}
133 .page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eeeeee;}
133 .page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eeeeee;}
134 ul,ol{padding:0;margin:0 0 10px 25px;}
134 ul,ol{padding:0;margin:0 0 10px 25px;}
135 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
135 ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
136 li{line-height:20px;}
136 li{line-height:20px;}
137 ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}
137 ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}
138 ul.inline,ol.inline{margin-left:0;list-style:none;}ul.inline>li,ol.inline>li{display:inline-block;padding-left:5px;padding-right:5px;}
138 ul.inline,ol.inline{margin-left:0;list-style:none;}ul.inline>li,ol.inline>li{display:inline-block;padding-left:5px;padding-right:5px;}
139 dl{margin-bottom:20px;}
139 dl{margin-bottom:20px;}
140 dt,dd{line-height:20px;}
140 dt,dd{line-height:20px;}
141 dt{font-weight:bold;}
141 dt{font-weight:bold;}
142 dd{margin-left:10px;}
142 dd{margin-left:10px;}
143 .dl-horizontal{*zoom:1;}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0;}
143 .dl-horizontal{*zoom:1;}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0;}
144 .dl-horizontal:after{clear:both;}
144 .dl-horizontal:after{clear:both;}
145 .dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
145 .dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
146 .dl-horizontal dd{margin-left:180px;}
146 .dl-horizontal dd{margin-left:180px;}
147 hr{margin:20px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;}
147 hr{margin:20px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;}
148 abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999;}
148 abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999;}
149 abbr.initialism{font-size:90%;text-transform:uppercase;}
149 abbr.initialism{font-size:90%;text-transform:uppercase;}
150 blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px;}
150 blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px;}
151 blockquote small{display:block;line-height:20px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
151 blockquote small{display:block;line-height:20px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
152 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;}
152 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;}
153 blockquote.pull-right small:before{content:'';}
153 blockquote.pull-right small:before{content:'';}
154 blockquote.pull-right small:after{content:'\00A0 \2014';}
154 blockquote.pull-right small:after{content:'\00A0 \2014';}
155 q:before,q:after,blockquote:before,blockquote:after{content:"";}
155 q:before,q:after,blockquote:before,blockquote:after{content:"";}
156 address{display:block;margin-bottom:20px;font-style:normal;line-height:20px;}
156 address{display:block;margin-bottom:20px;font-style:normal;line-height:20px;}
157 form{margin:0 0 20px;}
157 form{margin:0 0 20px;}
158 fieldset{padding:0;margin:0;border:0;}
158 fieldset{padding:0;margin:0;border:0;}
159 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;}
159 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;}
160 label,input,button,select,textarea{font-size:13px;font-weight:normal;line-height:20px;}
160 label,input,button,select,textarea{font-size:13px;font-weight:normal;line-height:20px;}
161 input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;}
161 input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;}
162 label{display:block;margin-bottom:5px;}
162 label{display:block;margin-bottom:5px;}
163 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;}
163 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;}
164 input,textarea,.uneditable-input{width:206px;}
164 input,textarea,.uneditable-input{width:206px;}
165 textarea{height:auto;}
165 textarea{height:auto;}
166 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);}
166 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);}
167 input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal;}
167 input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal;}
168 input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto;}
168 input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto;}
169 select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px;}
169 select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px;}
170 select{width:220px;border:1px solid #cccccc;background-color:#ffffff;}
170 select{width:220px;border:1px solid #cccccc;background-color:#ffffff;}
171 select[multiple],select[size]{height:auto;}
171 select[multiple],select[size]{height:auto;}
172 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;}
172 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;}
173 .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;}
173 .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;}
174 .uneditable-input{overflow:hidden;white-space:nowrap;}
174 .uneditable-input{overflow:hidden;white-space:nowrap;}
175 .uneditable-textarea{width:auto;height:auto;}
175 .uneditable-textarea{width:auto;height:auto;}
176 input:-moz-placeholder,textarea:-moz-placeholder{color:#999999;}
176 input:-moz-placeholder,textarea:-moz-placeholder{color:#999999;}
177 input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999999;}
177 input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999999;}
178 input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999999;}
178 input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999999;}
179 .radio,.checkbox{min-height:20px;padding-left:20px;}
179 .radio,.checkbox{min-height:20px;padding-left:20px;}
180 .radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px;}
180 .radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px;}
181 .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;}
181 .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;}
182 .radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;}
182 .radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;}
183 .radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;}
183 .radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;}
184 .input-mini{width:60px;}
184 .input-mini{width:60px;}
185 .input-small{width:90px;}
185 .input-small{width:90px;}
186 .input-medium{width:150px;}
186 .input-medium{width:150px;}
187 .input-large{width:210px;}
187 .input-large{width:210px;}
188 .input-xlarge{width:270px;}
188 .input-xlarge{width:270px;}
189 .input-xxlarge{width:530px;}
189 .input-xxlarge{width:530px;}
190 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;}
190 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;}
191 .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;}
191 .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;}
192 input,textarea,.uneditable-input{margin-left:0;}
192 input,textarea,.uneditable-input{margin-left:0;}
193 .controls-row [class*="span"]+[class*="span"]{margin-left:20px;}
193 .controls-row [class*="span"]+[class*="span"]{margin-left:20px;}
194 input.span12, textarea.span12, .uneditable-input.span12{width:926px;}
194 input.span12, textarea.span12, .uneditable-input.span12{width:926px;}
195 input.span11, textarea.span11, .uneditable-input.span11{width:846px;}
195 input.span11, textarea.span11, .uneditable-input.span11{width:846px;}
196 input.span10, textarea.span10, .uneditable-input.span10{width:766px;}
196 input.span10, textarea.span10, .uneditable-input.span10{width:766px;}
197 input.span9, textarea.span9, .uneditable-input.span9{width:686px;}
197 input.span9, textarea.span9, .uneditable-input.span9{width:686px;}
198 input.span8, textarea.span8, .uneditable-input.span8{width:606px;}
198 input.span8, textarea.span8, .uneditable-input.span8{width:606px;}
199 input.span7, textarea.span7, .uneditable-input.span7{width:526px;}
199 input.span7, textarea.span7, .uneditable-input.span7{width:526px;}
200 input.span6, textarea.span6, .uneditable-input.span6{width:446px;}
200 input.span6, textarea.span6, .uneditable-input.span6{width:446px;}
201 input.span5, textarea.span5, .uneditable-input.span5{width:366px;}
201 input.span5, textarea.span5, .uneditable-input.span5{width:366px;}
202 input.span4, textarea.span4, .uneditable-input.span4{width:286px;}
202 input.span4, textarea.span4, .uneditable-input.span4{width:286px;}
203 input.span3, textarea.span3, .uneditable-input.span3{width:206px;}
203 input.span3, textarea.span3, .uneditable-input.span3{width:206px;}
204 input.span2, textarea.span2, .uneditable-input.span2{width:126px;}
204 input.span2, textarea.span2, .uneditable-input.span2{width:126px;}
205 input.span1, textarea.span1, .uneditable-input.span1{width:46px;}
205 input.span1, textarea.span1, .uneditable-input.span1{width:46px;}
206 .controls-row{*zoom:1;}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0;}
206 .controls-row{*zoom:1;}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0;}
207 .controls-row:after{clear:both;}
207 .controls-row:after{clear:both;}
208 .controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left;}
208 .controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left;}
209 .controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px;}
209 .controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px;}
210 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eeeeee;}
210 input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eeeeee;}
211 input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent;}
211 input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent;}
212 .control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;}
212 .control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;}
213 .control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;}
213 .control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;}
214 .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;}
214 .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;}
215 .control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;}
215 .control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;}
216 .control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
216 .control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
217 .control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;}
217 .control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;}
218 .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;}
218 .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;}
219 .control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;}
219 .control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;}
220 .control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
220 .control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
221 .control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;}
221 .control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;}
222 .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;}
222 .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;}
223 .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;}
223 .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;}
224 .control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad;}
224 .control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad;}
225 .control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad;}
225 .control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad;}
226 .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;}
226 .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;}
227 .control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad;}
227 .control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad;}
228 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;}
228 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;}
229 .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;}
229 .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;}
230 .form-actions:after{clear:both;}
230 .form-actions:after{clear:both;}
231 .help-block,.help-inline{color:#262626;}
231 .help-block,.help-inline{color:#262626;}
232 .help-block{display:block;margin-bottom:10px;}
232 .help-block{display:block;margin-bottom:10px;}
233 .help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px;}
233 .help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px;}
234 .input-append,.input-prepend{margin-bottom:5px;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{font-size:13px;}
234 .input-append,.input-prepend{margin-bottom:5px;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{font-size:13px;}
235 .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;}
235 .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;}
236 .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;}
236 .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;}
237 .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;}
237 .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;}
238 .input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546;}
238 .input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546;}
239 .input-prepend .add-on,.input-prepend .btn{margin-right:-1px;}
239 .input-prepend .add-on,.input-prepend .btn{margin-right:-1px;}
240 .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;}
240 .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;}
241 .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;}
241 .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;}
242 .input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px;}
242 .input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px;}
243 .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;}
243 .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;}
244 .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;}
244 .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;}
245 .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;}
245 .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;}
246 .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;}
246 .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;}
247 .input-prepend.input-append .btn-group:first-child{margin-left:0;}
247 .input-prepend.input-append .btn-group:first-child{margin-left:0;}
248 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;}
248 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;}
249 .form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
249 .form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
250 .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;}
250 .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;}
251 .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;}
251 .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;}
252 .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;}
252 .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;}
253 .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;}
253 .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;}
254 .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;}
254 .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;}
255 .form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none;}
255 .form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none;}
256 .form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block;}
256 .form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block;}
257 .form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0;}
257 .form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0;}
258 .form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle;}
258 .form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle;}
259 .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;}
259 .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;}
260 .control-group{margin-bottom:10px;}
260 .control-group{margin-bottom:10px;}
261 legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate;}
261 legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate;}
262 .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;}
262 .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;}
263 .form-horizontal .control-group:after{clear:both;}
263 .form-horizontal .control-group:after{clear:both;}
264 .form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right;}
264 .form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right;}
265 .form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0;}.form-horizontal .controls:first-child{*padding-left:180px;}
265 .form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0;}.form-horizontal .controls:first-child{*padding-left:180px;}
266 .form-horizontal .help-block{margin-bottom:0;}
266 .form-horizontal .help-block{margin-bottom:0;}
267 .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;}
267 .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;}
268 .form-horizontal .form-actions{padding-left:180px;}
268 .form-horizontal .form-actions{padding-left:180px;}
269 table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;}
269 table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;}
270 .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;}
270 .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;}
271 .table th{font-weight:bold;}
271 .table th{font-weight:bold;}
272 .table thead th{vertical-align:bottom;}
272 .table thead th{vertical-align:bottom;}
273 .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;}
273 .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;}
274 .table tbody+tbody{border-top:2px solid #dddddd;}
274 .table tbody+tbody{border-top:2px solid #dddddd;}
275 .table .table{background-color:#ffffff;}
275 .table .table{background-color:#ffffff;}
276 .table-condensed th,.table-condensed td{padding:4px 5px;}
276 .table-condensed th,.table-condensed td{padding:4px 5px;}
277 .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;}
277 .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;}
278 .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;}
278 .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;}
279 .table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;}
279 .table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;}
280 .table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;}
280 .table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;}
281 .table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
281 .table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
282 .table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
282 .table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
283 .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;}
283 .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;}
284 .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;}
284 .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;}
285 .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;}
285 .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;}
286 .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;}
286 .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;}
287 .table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9;}
287 .table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9;}
288 .table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5;}
288 .table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5;}
289 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;}
289 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;}
290 .table td.span1,.table th.span1{float:none;width:44px;margin-left:0;}
290 .table td.span1,.table th.span1{float:none;width:44px;margin-left:0;}
291 .table td.span2,.table th.span2{float:none;width:124px;margin-left:0;}
291 .table td.span2,.table th.span2{float:none;width:124px;margin-left:0;}
292 .table td.span3,.table th.span3{float:none;width:204px;margin-left:0;}
292 .table td.span3,.table th.span3{float:none;width:204px;margin-left:0;}
293 .table td.span4,.table th.span4{float:none;width:284px;margin-left:0;}
293 .table td.span4,.table th.span4{float:none;width:284px;margin-left:0;}
294 .table td.span5,.table th.span5{float:none;width:364px;margin-left:0;}
294 .table td.span5,.table th.span5{float:none;width:364px;margin-left:0;}
295 .table td.span6,.table th.span6{float:none;width:444px;margin-left:0;}
295 .table td.span6,.table th.span6{float:none;width:444px;margin-left:0;}
296 .table td.span7,.table th.span7{float:none;width:524px;margin-left:0;}
296 .table td.span7,.table th.span7{float:none;width:524px;margin-left:0;}
297 .table td.span8,.table th.span8{float:none;width:604px;margin-left:0;}
297 .table td.span8,.table th.span8{float:none;width:604px;margin-left:0;}
298 .table td.span9,.table th.span9{float:none;width:684px;margin-left:0;}
298 .table td.span9,.table th.span9{float:none;width:684px;margin-left:0;}
299 .table td.span10,.table th.span10{float:none;width:764px;margin-left:0;}
299 .table td.span10,.table th.span10{float:none;width:764px;margin-left:0;}
300 .table td.span11,.table th.span11{float:none;width:844px;margin-left:0;}
300 .table td.span11,.table th.span11{float:none;width:844px;margin-left:0;}
301 .table td.span12,.table th.span12{float:none;width:924px;margin-left:0;}
301 .table td.span12,.table th.span12{float:none;width:924px;margin-left:0;}
302 .table tbody tr.success td{background-color:#dff0d8;}
302 .table tbody tr.success td{background-color:#dff0d8;}
303 .table tbody tr.error td{background-color:#f2dede;}
303 .table tbody tr.error td{background-color:#f2dede;}
304 .table tbody tr.warning td{background-color:#fcf8e3;}
304 .table tbody tr.warning td{background-color:#fcf8e3;}
305 .table tbody tr.info td{background-color:#d9edf7;}
305 .table tbody tr.info td{background-color:#d9edf7;}
306 .table-hover tbody tr.success:hover td{background-color:#d0e9c6;}
306 .table-hover tbody tr.success:hover td{background-color:#d0e9c6;}
307 .table-hover tbody tr.error:hover td{background-color:#ebcccc;}
307 .table-hover tbody tr.error:hover td{background-color:#ebcccc;}
308 .table-hover tbody tr.warning:hover td{background-color:#faf2cc;}
308 .table-hover tbody tr.warning:hover td{background-color:#faf2cc;}
309 .table-hover tbody tr.info:hover td{background-color:#c4e3f3;}
309 .table-hover tbody tr.info:hover td{background-color:#c4e3f3;}
310 [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;}
310 [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;}
311 .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:url("../img/glyphicons-halflings-white.png");}
311 .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:url("../img/glyphicons-halflings-white.png");}
312 .icon-glass{background-position:0 0;}
312 .icon-glass{background-position:0 0;}
313 .icon-music{background-position:-24px 0;}
313 .icon-music{background-position:-24px 0;}
314 .icon-search{background-position:-48px 0;}
314 .icon-search{background-position:-48px 0;}
315 .icon-envelope{background-position:-72px 0;}
315 .icon-envelope{background-position:-72px 0;}
316 .icon-heart{background-position:-96px 0;}
316 .icon-heart{background-position:-96px 0;}
317 .icon-star{background-position:-120px 0;}
317 .icon-star{background-position:-120px 0;}
318 .icon-star-empty{background-position:-144px 0;}
318 .icon-star-empty{background-position:-144px 0;}
319 .icon-user{background-position:-168px 0;}
319 .icon-user{background-position:-168px 0;}
320 .icon-film{background-position:-192px 0;}
320 .icon-film{background-position:-192px 0;}
321 .icon-th-large{background-position:-216px 0;}
321 .icon-th-large{background-position:-216px 0;}
322 .icon-th{background-position:-240px 0;}
322 .icon-th{background-position:-240px 0;}
323 .icon-th-list{background-position:-264px 0;}
323 .icon-th-list{background-position:-264px 0;}
324 .icon-ok{background-position:-288px 0;}
324 .icon-ok{background-position:-288px 0;}
325 .icon-remove{background-position:-312px 0;}
325 .icon-remove{background-position:-312px 0;}
326 .icon-zoom-in{background-position:-336px 0;}
326 .icon-zoom-in{background-position:-336px 0;}
327 .icon-zoom-out{background-position:-360px 0;}
327 .icon-zoom-out{background-position:-360px 0;}
328 .icon-off{background-position:-384px 0;}
328 .icon-off{background-position:-384px 0;}
329 .icon-signal{background-position:-408px 0;}
329 .icon-signal{background-position:-408px 0;}
330 .icon-cog{background-position:-432px 0;}
330 .icon-cog{background-position:-432px 0;}
331 .icon-trash{background-position:-456px 0;}
331 .icon-trash{background-position:-456px 0;}
332 .icon-home{background-position:0 -24px;}
332 .icon-home{background-position:0 -24px;}
333 .icon-file{background-position:-24px -24px;}
333 .icon-file{background-position:-24px -24px;}
334 .icon-time{background-position:-48px -24px;}
334 .icon-time{background-position:-48px -24px;}
335 .icon-road{background-position:-72px -24px;}
335 .icon-road{background-position:-72px -24px;}
336 .icon-download-alt{background-position:-96px -24px;}
336 .icon-download-alt{background-position:-96px -24px;}
337 .icon-download{background-position:-120px -24px;}
337 .icon-download{background-position:-120px -24px;}
338 .icon-upload{background-position:-144px -24px;}
338 .icon-upload{background-position:-144px -24px;}
339 .icon-inbox{background-position:-168px -24px;}
339 .icon-inbox{background-position:-168px -24px;}
340 .icon-play-circle{background-position:-192px -24px;}
340 .icon-play-circle{background-position:-192px -24px;}
341 .icon-repeat{background-position:-216px -24px;}
341 .icon-repeat{background-position:-216px -24px;}
342 .icon-refresh{background-position:-240px -24px;}
342 .icon-refresh{background-position:-240px -24px;}
343 .icon-list-alt{background-position:-264px -24px;}
343 .icon-list-alt{background-position:-264px -24px;}
344 .icon-lock{background-position:-287px -24px;}
344 .icon-lock{background-position:-287px -24px;}
345 .icon-flag{background-position:-312px -24px;}
345 .icon-flag{background-position:-312px -24px;}
346 .icon-headphones{background-position:-336px -24px;}
346 .icon-headphones{background-position:-336px -24px;}
347 .icon-volume-off{background-position:-360px -24px;}
347 .icon-volume-off{background-position:-360px -24px;}
348 .icon-volume-down{background-position:-384px -24px;}
348 .icon-volume-down{background-position:-384px -24px;}
349 .icon-volume-up{background-position:-408px -24px;}
349 .icon-volume-up{background-position:-408px -24px;}
350 .icon-qrcode{background-position:-432px -24px;}
350 .icon-qrcode{background-position:-432px -24px;}
351 .icon-barcode{background-position:-456px -24px;}
351 .icon-barcode{background-position:-456px -24px;}
352 .icon-tag{background-position:0 -48px;}
352 .icon-tag{background-position:0 -48px;}
353 .icon-tags{background-position:-25px -48px;}
353 .icon-tags{background-position:-25px -48px;}
354 .icon-book{background-position:-48px -48px;}
354 .icon-book{background-position:-48px -48px;}
355 .icon-bookmark{background-position:-72px -48px;}
355 .icon-bookmark{background-position:-72px -48px;}
356 .icon-print{background-position:-96px -48px;}
356 .icon-print{background-position:-96px -48px;}
357 .icon-camera{background-position:-120px -48px;}
357 .icon-camera{background-position:-120px -48px;}
358 .icon-font{background-position:-144px -48px;}
358 .icon-font{background-position:-144px -48px;}
359 .icon-bold{background-position:-167px -48px;}
359 .icon-bold{background-position:-167px -48px;}
360 .icon-italic{background-position:-192px -48px;}
360 .icon-italic{background-position:-192px -48px;}
361 .icon-text-height{background-position:-216px -48px;}
361 .icon-text-height{background-position:-216px -48px;}
362 .icon-text-width{background-position:-240px -48px;}
362 .icon-text-width{background-position:-240px -48px;}
363 .icon-align-left{background-position:-264px -48px;}
363 .icon-align-left{background-position:-264px -48px;}
364 .icon-align-center{background-position:-288px -48px;}
364 .icon-align-center{background-position:-288px -48px;}
365 .icon-align-right{background-position:-312px -48px;}
365 .icon-align-right{background-position:-312px -48px;}
366 .icon-align-justify{background-position:-336px -48px;}
366 .icon-align-justify{background-position:-336px -48px;}
367 .icon-list{background-position:-360px -48px;}
367 .icon-list{background-position:-360px -48px;}
368 .icon-indent-left{background-position:-384px -48px;}
368 .icon-indent-left{background-position:-384px -48px;}
369 .icon-indent-right{background-position:-408px -48px;}
369 .icon-indent-right{background-position:-408px -48px;}
370 .icon-facetime-video{background-position:-432px -48px;}
370 .icon-facetime-video{background-position:-432px -48px;}
371 .icon-picture{background-position:-456px -48px;}
371 .icon-picture{background-position:-456px -48px;}
372 .icon-pencil{background-position:0 -72px;}
372 .icon-pencil{background-position:0 -72px;}
373 .icon-map-marker{background-position:-24px -72px;}
373 .icon-map-marker{background-position:-24px -72px;}
374 .icon-adjust{background-position:-48px -72px;}
374 .icon-adjust{background-position:-48px -72px;}
375 .icon-tint{background-position:-72px -72px;}
375 .icon-tint{background-position:-72px -72px;}
376 .icon-edit{background-position:-96px -72px;}
376 .icon-edit{background-position:-96px -72px;}
377 .icon-share{background-position:-120px -72px;}
377 .icon-share{background-position:-120px -72px;}
378 .icon-check{background-position:-144px -72px;}
378 .icon-check{background-position:-144px -72px;}
379 .icon-move{background-position:-168px -72px;}
379 .icon-move{background-position:-168px -72px;}
380 .icon-step-backward{background-position:-192px -72px;}
380 .icon-step-backward{background-position:-192px -72px;}
381 .icon-fast-backward{background-position:-216px -72px;}
381 .icon-fast-backward{background-position:-216px -72px;}
382 .icon-backward{background-position:-240px -72px;}
382 .icon-backward{background-position:-240px -72px;}
383 .icon-play{background-position:-264px -72px;}
383 .icon-play{background-position:-264px -72px;}
384 .icon-pause{background-position:-288px -72px;}
384 .icon-pause{background-position:-288px -72px;}
385 .icon-stop{background-position:-312px -72px;}
385 .icon-stop{background-position:-312px -72px;}
386 .icon-forward{background-position:-336px -72px;}
386 .icon-forward{background-position:-336px -72px;}
387 .icon-fast-forward{background-position:-360px -72px;}
387 .icon-fast-forward{background-position:-360px -72px;}
388 .icon-step-forward{background-position:-384px -72px;}
388 .icon-step-forward{background-position:-384px -72px;}
389 .icon-eject{background-position:-408px -72px;}
389 .icon-eject{background-position:-408px -72px;}
390 .icon-chevron-left{background-position:-432px -72px;}
390 .icon-chevron-left{background-position:-432px -72px;}
391 .icon-chevron-right{background-position:-456px -72px;}
391 .icon-chevron-right{background-position:-456px -72px;}
392 .icon-plus-sign{background-position:0 -96px;}
392 .icon-plus-sign{background-position:0 -96px;}
393 .icon-minus-sign{background-position:-24px -96px;}
393 .icon-minus-sign{background-position:-24px -96px;}
394 .icon-remove-sign{background-position:-48px -96px;}
394 .icon-remove-sign{background-position:-48px -96px;}
395 .icon-ok-sign{background-position:-72px -96px;}
395 .icon-ok-sign{background-position:-72px -96px;}
396 .icon-question-sign{background-position:-96px -96px;}
396 .icon-question-sign{background-position:-96px -96px;}
397 .icon-info-sign{background-position:-120px -96px;}
397 .icon-info-sign{background-position:-120px -96px;}
398 .icon-screenshot{background-position:-144px -96px;}
398 .icon-screenshot{background-position:-144px -96px;}
399 .icon-remove-circle{background-position:-168px -96px;}
399 .icon-remove-circle{background-position:-168px -96px;}
400 .icon-ok-circle{background-position:-192px -96px;}
400 .icon-ok-circle{background-position:-192px -96px;}
401 .icon-ban-circle{background-position:-216px -96px;}
401 .icon-ban-circle{background-position:-216px -96px;}
402 .icon-arrow-left{background-position:-240px -96px;}
402 .icon-arrow-left{background-position:-240px -96px;}
403 .icon-arrow-right{background-position:-264px -96px;}
403 .icon-arrow-right{background-position:-264px -96px;}
404 .icon-arrow-up{background-position:-289px -96px;}
404 .icon-arrow-up{background-position:-289px -96px;}
405 .icon-arrow-down{background-position:-312px -96px;}
405 .icon-arrow-down{background-position:-312px -96px;}
406 .icon-share-alt{background-position:-336px -96px;}
406 .icon-share-alt{background-position:-336px -96px;}
407 .icon-resize-full{background-position:-360px -96px;}
407 .icon-resize-full{background-position:-360px -96px;}
408 .icon-resize-small{background-position:-384px -96px;}
408 .icon-resize-small{background-position:-384px -96px;}
409 .icon-plus{background-position:-408px -96px;}
409 .icon-plus{background-position:-408px -96px;}
410 .icon-minus{background-position:-433px -96px;}
410 .icon-minus{background-position:-433px -96px;}
411 .icon-asterisk{background-position:-456px -96px;}
411 .icon-asterisk{background-position:-456px -96px;}
412 .icon-exclamation-sign{background-position:0 -120px;}
412 .icon-exclamation-sign{background-position:0 -120px;}
413 .icon-gift{background-position:-24px -120px;}
413 .icon-gift{background-position:-24px -120px;}
414 .icon-leaf{background-position:-48px -120px;}
414 .icon-leaf{background-position:-48px -120px;}
415 .icon-fire{background-position:-72px -120px;}
415 .icon-fire{background-position:-72px -120px;}
416 .icon-eye-open{background-position:-96px -120px;}
416 .icon-eye-open{background-position:-96px -120px;}
417 .icon-eye-close{background-position:-120px -120px;}
417 .icon-eye-close{background-position:-120px -120px;}
418 .icon-warning-sign{background-position:-144px -120px;}
418 .icon-warning-sign{background-position:-144px -120px;}
419 .icon-plane{background-position:-168px -120px;}
419 .icon-plane{background-position:-168px -120px;}
420 .icon-calendar{background-position:-192px -120px;}
420 .icon-calendar{background-position:-192px -120px;}
421 .icon-random{background-position:-216px -120px;width:16px;}
421 .icon-random{background-position:-216px -120px;width:16px;}
422 .icon-comment{background-position:-240px -120px;}
422 .icon-comment{background-position:-240px -120px;}
423 .icon-magnet{background-position:-264px -120px;}
423 .icon-magnet{background-position:-264px -120px;}
424 .icon-chevron-up{background-position:-288px -120px;}
424 .icon-chevron-up{background-position:-288px -120px;}
425 .icon-chevron-down{background-position:-313px -119px;}
425 .icon-chevron-down{background-position:-313px -119px;}
426 .icon-retweet{background-position:-336px -120px;}
426 .icon-retweet{background-position:-336px -120px;}
427 .icon-shopping-cart{background-position:-360px -120px;}
427 .icon-shopping-cart{background-position:-360px -120px;}
428 .icon-folder-close{background-position:-384px -120px;}
428 .icon-folder-close{background-position:-384px -120px;}
429 .icon-folder-open{background-position:-408px -120px;width:16px;}
429 .icon-folder-open{background-position:-408px -120px;width:16px;}
430 .icon-resize-vertical{background-position:-432px -119px;}
430 .icon-resize-vertical{background-position:-432px -119px;}
431 .icon-resize-horizontal{background-position:-456px -118px;}
431 .icon-resize-horizontal{background-position:-456px -118px;}
432 .icon-hdd{background-position:0 -144px;}
432 .icon-hdd{background-position:0 -144px;}
433 .icon-bullhorn{background-position:-24px -144px;}
433 .icon-bullhorn{background-position:-24px -144px;}
434 .icon-bell{background-position:-48px -144px;}
434 .icon-bell{background-position:-48px -144px;}
435 .icon-certificate{background-position:-72px -144px;}
435 .icon-certificate{background-position:-72px -144px;}
436 .icon-thumbs-up{background-position:-96px -144px;}
436 .icon-thumbs-up{background-position:-96px -144px;}
437 .icon-thumbs-down{background-position:-120px -144px;}
437 .icon-thumbs-down{background-position:-120px -144px;}
438 .icon-hand-right{background-position:-144px -144px;}
438 .icon-hand-right{background-position:-144px -144px;}
439 .icon-hand-left{background-position:-168px -144px;}
439 .icon-hand-left{background-position:-168px -144px;}
440 .icon-hand-up{background-position:-192px -144px;}
440 .icon-hand-up{background-position:-192px -144px;}
441 .icon-hand-down{background-position:-216px -144px;}
441 .icon-hand-down{background-position:-216px -144px;}
442 .icon-circle-arrow-right{background-position:-240px -144px;}
442 .icon-circle-arrow-right{background-position:-240px -144px;}
443 .icon-circle-arrow-left{background-position:-264px -144px;}
443 .icon-circle-arrow-left{background-position:-264px -144px;}
444 .icon-circle-arrow-up{background-position:-288px -144px;}
444 .icon-circle-arrow-up{background-position:-288px -144px;}
445 .icon-circle-arrow-down{background-position:-312px -144px;}
445 .icon-circle-arrow-down{background-position:-312px -144px;}
446 .icon-globe{background-position:-336px -144px;}
446 .icon-globe{background-position:-336px -144px;}
447 .icon-wrench{background-position:-360px -144px;}
447 .icon-wrench{background-position:-360px -144px;}
448 .icon-tasks{background-position:-384px -144px;}
448 .icon-tasks{background-position:-384px -144px;}
449 .icon-filter{background-position:-408px -144px;}
449 .icon-filter{background-position:-408px -144px;}
450 .icon-briefcase{background-position:-432px -144px;}
450 .icon-briefcase{background-position:-432px -144px;}
451 .icon-fullscreen{background-position:-456px -144px;}
451 .icon-fullscreen{background-position:-456px -144px;}
452 .dropup,.dropdown{position:relative;}
452 .dropup,.dropdown{position:relative;}
453 .dropdown-toggle{*margin-bottom:-3px;}
453 .dropdown-toggle{*margin-bottom:-3px;}
454 .dropdown-toggle:active,.open .dropdown-toggle{outline:0;}
454 .dropdown-toggle:active,.open .dropdown-toggle{outline:0;}
455 .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:"";}
455 .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:"";}
456 .dropdown .caret{margin-top:8px;margin-left:2px;}
456 .dropdown .caret{margin-top:8px;margin-left:2px;}
457 .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;}
457 .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;}
458 .dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
458 .dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
459 .dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333333;white-space:nowrap;}
459 .dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333333;white-space:nowrap;}
460 .dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>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);}
460 .dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>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);}
461 .dropdown-menu .active>a,.dropdown-menu .active>a:hover{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);}
461 .dropdown-menu .active>a,.dropdown-menu .active>a:hover{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);}
462 .dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999999;}
462 .dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999999;}
463 .dropdown-menu .disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:default;}
463 .dropdown-menu .disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:default;}
464 .open{*z-index:1000;}.open>.dropdown-menu{display:block;}
464 .open{*z-index:1000;}.open>.dropdown-menu{display:block;}
465 .pull-right>.dropdown-menu{right:0;left:auto;}
465 .pull-right>.dropdown-menu{right:0;left:auto;}
466 .dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000000;content:"";}
466 .dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000000;content:"";}
467 .dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px;}
467 .dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px;}
468 .dropdown-submenu{position:relative;}
468 .dropdown-submenu{position:relative;}
469 .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;}
469 .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;}
470 .dropdown-submenu:hover>.dropdown-menu{display:block;}
470 .dropdown-submenu:hover>.dropdown-menu{display:block;}
471 .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;}
471 .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;}
472 .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;}
472 .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;}
473 .dropdown-submenu:hover>a:after{border-left-color:#ffffff;}
473 .dropdown-submenu:hover>a:after{border-left-color:#ffffff;}
474 .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;}
474 .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;}
475 .dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px;}
475 .dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px;}
476 .typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
476 .typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
477 .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);}
477 .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);}
478 .well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
478 .well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
479 .well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
479 .well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
480 .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;}
480 .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;}
481 .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;}
481 .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;}
482 .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{color:#000000;text-decoration:none;cursor:pointer;opacity:0.4;filter:alpha(opacity=40);}
482 .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{color:#000000;text-decoration:none;cursor:pointer;opacity:0.4;filter:alpha(opacity=40);}
483 button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;}
483 button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;}
484 .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 #bbbbbb;*border:0;border-bottom-color:#a2a2a2;-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:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333333;background-color:#e6e6e6;*background-color:#d9d9d9;}
484 .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 #bbbbbb;*border:0;border-bottom-color:#a2a2a2;-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:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333333;background-color:#e6e6e6;*background-color:#d9d9d9;}
485 .btn:active,.btn.active{background-color:#cccccc \9;}
485 .btn:active,.btn.active{background-color:#cccccc \9;}
486 .btn:first-child{*margin-left:0;}
486 .btn:first-child{*margin-left:0;}
487 .btn:hover{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;}
487 .btn:hover{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;}
488 .btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
488 .btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
489 .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);}
489 .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);}
490 .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;}
490 .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;}
491 .btn-large{padding:11px 19px;font-size:16.25px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
491 .btn-large{padding:11px 19px;font-size:16.25px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
492 .btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px;}
492 .btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px;}
493 .btn-small{padding:2px 10px;font-size:11.049999999999999px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
493 .btn-small{padding:2px 10px;font-size:11.049999999999999px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
494 .btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0;}
494 .btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0;}
495 .btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px;}
495 .btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px;}
496 .btn-mini{padding:0 6px;font-size:9.75px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
496 .btn-mini{padding:0 6px;font-size:9.75px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
497 .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;}
497 .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;}
498 .btn-block+.btn-block{margin-top:5px;}
498 .btn-block+.btn-block{margin-top:5px;}
499 input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%;}
499 input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%;}
500 .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);}
500 .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);}
501 .btn{border-color:#c5c5c5;border-color:rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);}
501 .btn{border-color:#c5c5c5;border-color:rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);}
502 .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:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#ffffff;background-color:#0044cc;*background-color:#003bb3;}
502 .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:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#ffffff;background-color:#0044cc;*background-color:#003bb3;}
503 .btn-primary:active,.btn-primary.active{background-color:#003399 \9;}
503 .btn-primary:active,.btn-primary.active{background-color:#003399 \9;}
504 .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:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#ffffff;background-color:#f89406;*background-color:#df8505;}
504 .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:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#ffffff;background-color:#f89406;*background-color:#df8505;}
505 .btn-warning:active,.btn-warning.active{background-color:#c67605 \9;}
505 .btn-warning:active,.btn-warning.active{background-color:#c67605 \9;}
506 .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:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#ffffff;background-color:#bd362f;*background-color:#a9302a;}
506 .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:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#ffffff;background-color:#bd362f;*background-color:#a9302a;}
507 .btn-danger:active,.btn-danger.active{background-color:#942a25 \9;}
507 .btn-danger:active,.btn-danger.active{background-color:#942a25 \9;}
508 .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:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#ffffff;background-color:#51a351;*background-color:#499249;}
508 .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:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#ffffff;background-color:#51a351;*background-color:#499249;}
509 .btn-success:active,.btn-success.active{background-color:#408140 \9;}
509 .btn-success:active,.btn-success.active{background-color:#408140 \9;}
510 .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:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#ffffff;background-color:#2f96b4;*background-color:#2a85a0;}
510 .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:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#ffffff;background-color:#2f96b4;*background-color:#2a85a0;}
511 .btn-info:active,.btn-info.active{background-color:#24748c \9;}
511 .btn-info:active,.btn-info.active{background-color:#24748c \9;}
512 .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:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#ffffff;background-color:#222222;*background-color:#151515;}
512 .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:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#ffffff;background-color:#222222;*background-color:#151515;}
513 .btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;}
513 .btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;}
514 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;}
514 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;}
515 button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px;}
515 button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px;}
516 button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px;}
516 button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px;}
517 button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px;}
517 button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px;}
518 .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;}
518 .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;}
519 .btn-link{border-color:transparent;cursor:pointer;color:#0088cc;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
519 .btn-link{border-color:transparent;cursor:pointer;color:#0088cc;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
520 .btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent;}
520 .btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent;}
521 .btn-link[disabled]:hover{color:#333333;text-decoration:none;}
521 .btn-link[disabled]:hover{color:#333333;text-decoration:none;}
522 .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;}
522 .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;}
523 .btn-group+.btn-group{margin-left:5px;}
523 .btn-group+.btn-group{margin-left:5px;}
524 .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;}
524 .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;}
525 .btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
525 .btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
526 .btn-group>.btn+.btn{margin-left:-1px;}
526 .btn-group>.btn+.btn{margin-left:-1px;}
527 .btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:13px;}
527 .btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:13px;}
528 .btn-group>.btn-mini{font-size:9.75px;}
528 .btn-group>.btn-mini{font-size:9.75px;}
529 .btn-group>.btn-small{font-size:11.049999999999999px;}
529 .btn-group>.btn-small{font-size:11.049999999999999px;}
530 .btn-group>.btn-large{font-size:16.25px;}
530 .btn-group>.btn-large{font-size:16.25px;}
531 .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;}
531 .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;}
532 .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;}
532 .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;}
533 .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;}
533 .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;}
534 .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;}
534 .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;}
535 .btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2;}
535 .btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2;}
536 .btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;}
536 .btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;}
537 .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;}
537 .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;}
538 .btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px;}
538 .btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px;}
539 .btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px;}
539 .btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px;}
540 .btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px;}
540 .btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px;}
541 .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);}
541 .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);}
542 .btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6;}
542 .btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6;}
543 .btn-group.open .btn-primary.dropdown-toggle{background-color:#0044cc;}
543 .btn-group.open .btn-primary.dropdown-toggle{background-color:#0044cc;}
544 .btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406;}
544 .btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406;}
545 .btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f;}
545 .btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f;}
546 .btn-group.open .btn-success.dropdown-toggle{background-color:#51a351;}
546 .btn-group.open .btn-success.dropdown-toggle{background-color:#51a351;}
547 .btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4;}
547 .btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4;}
548 .btn-group.open .btn-inverse.dropdown-toggle{background-color:#222222;}
548 .btn-group.open .btn-inverse.dropdown-toggle{background-color:#222222;}
549 .btn .caret{margin-top:8px;margin-left:0;}
549 .btn .caret{margin-top:8px;margin-left:0;}
550 .btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px;}
550 .btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px;}
551 .btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px;}
551 .btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px;}
552 .dropup .btn-large .caret{border-bottom-width:5px;}
552 .dropup .btn-large .caret{border-bottom-width:5px;}
553 .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;}
553 .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;}
554 .btn-group-vertical{display:inline-block;*display:inline;*zoom:1;}
554 .btn-group-vertical{display:inline-block;*display:inline;*zoom:1;}
555 .btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
555 .btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
556 .btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px;}
556 .btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px;}
557 .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;}
557 .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;}
558 .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;}
558 .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;}
559 .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;}
559 .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;}
560 .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;}
560 .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;}
561 .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;}
561 .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;}
562 .alert,.alert h4{color:#c09853;}
562 .alert,.alert h4{color:#c09853;}
563 .alert h4{margin:0;}
563 .alert h4{margin:0;}
564 .alert .close{position:relative;top:-2px;right:-21px;line-height:20px;}
564 .alert .close{position:relative;top:-2px;right:-21px;line-height:20px;}
565 .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847;}
565 .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847;}
566 .alert-success h4{color:#468847;}
566 .alert-success h4{color:#468847;}
567 .alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48;}
567 .alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48;}
568 .alert-danger h4,.alert-error h4{color:#b94a48;}
568 .alert-danger h4,.alert-error h4{color:#b94a48;}
569 .alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad;}
569 .alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad;}
570 .alert-info h4{color:#3a87ad;}
570 .alert-info h4{color:#3a87ad;}
571 .alert-block{padding-top:14px;padding-bottom:14px;}
571 .alert-block{padding-top:14px;padding-bottom:14px;}
572 .alert-block>p,.alert-block>ul{margin-bottom:0;}
572 .alert-block>p,.alert-block>ul{margin-bottom:0;}
573 .alert-block p+p{margin-top:5px;}
573 .alert-block p+p{margin-top:5px;}
574 .nav{margin-left:0;margin-bottom:20px;list-style:none;}
574 .nav{margin-left:0;margin-bottom:20px;list-style:none;}
575 .nav>li>a{display:block;}
575 .nav>li>a{display:block;}
576 .nav>li>a:hover{text-decoration:none;background-color:#eeeeee;}
576 .nav>li>a:hover{text-decoration:none;background-color:#eeeeee;}
577 .nav>li>a>img{max-width:none;}
577 .nav>li>a>img{max-width:none;}
578 .nav>.pull-right{float:right;}
578 .nav>.pull-right{float:right;}
579 .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;}
579 .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;}
580 .nav li+.nav-header{margin-top:9px;}
580 .nav li+.nav-header{margin-top:9px;}
581 .nav-list{padding-left:15px;padding-right:15px;margin-bottom:0;}
581 .nav-list{padding-left:15px;padding-right:15px;margin-bottom:0;}
582 .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);}
582 .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);}
583 .nav-list>li>a{padding:3px 15px;}
583 .nav-list>li>a{padding:3px 15px;}
584 .nav-list>.active>a,.nav-list>.active>a:hover{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;}
584 .nav-list>.active>a,.nav-list>.active>a:hover{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;}
585 .nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px;}
585 .nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px;}
586 .nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
586 .nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;}
587 .nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0;}
587 .nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0;}
588 .nav-tabs:after,.nav-pills:after{clear:both;}
588 .nav-tabs:after,.nav-pills:after{clear:both;}
589 .nav-tabs>li,.nav-pills>li{float:left;}
589 .nav-tabs>li,.nav-pills>li{float:left;}
590 .nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
590 .nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
591 .nav-tabs{border-bottom:1px solid #ddd;}
591 .nav-tabs{border-bottom:1px solid #ddd;}
592 .nav-tabs>li{margin-bottom:-1px;}
592 .nav-tabs>li{margin-bottom:-1px;}
593 .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{border-color:#eeeeee #eeeeee #dddddd;}
593 .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{border-color:#eeeeee #eeeeee #dddddd;}
594 .nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
594 .nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
595 .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;}
595 .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;}
596 .nav-pills>.active>a,.nav-pills>.active>a:hover{color:#ffffff;background-color:#0088cc;}
596 .nav-pills>.active>a,.nav-pills>.active>a:hover{color:#ffffff;background-color:#0088cc;}
597 .nav-stacked>li{float:none;}
597 .nav-stacked>li{float:none;}
598 .nav-stacked>li>a{margin-right:0;}
598 .nav-stacked>li>a{margin-right:0;}
599 .nav-tabs.nav-stacked{border-bottom:0;}
599 .nav-tabs.nav-stacked{border-bottom:0;}
600 .nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
600 .nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
601 .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;}
601 .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;}
602 .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;}
602 .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;}
603 .nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2;}
603 .nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2;}
604 .nav-pills.nav-stacked>li>a{margin-bottom:3px;}
604 .nav-pills.nav-stacked>li>a{margin-bottom:3px;}
605 .nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;}
605 .nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;}
606 .nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;}
606 .nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;}
607 .nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
607 .nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
608 .nav .dropdown-toggle .caret{border-top-color:#0088cc;border-bottom-color:#0088cc;margin-top:6px;}
608 .nav .dropdown-toggle .caret{border-top-color:#0088cc;border-bottom-color:#0088cc;margin-top:6px;}
609 .nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580;}
609 .nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580;}
610 .nav-tabs .dropdown-toggle .caret{margin-top:8px;}
610 .nav-tabs .dropdown-toggle .caret{margin-top:8px;}
611 .nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff;}
611 .nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff;}
612 .nav-tabs .active .dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;}
612 .nav-tabs .active .dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;}
613 .nav>.dropdown.active>a:hover{cursor:pointer;}
613 .nav>.dropdown.active>a:hover{cursor:pointer;}
614 .nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;}
614 .nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;}
615 .nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;opacity:1;filter:alpha(opacity=100);}
615 .nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;opacity:1;filter:alpha(opacity=100);}
616 .tabs-stacked .open>a:hover{border-color:#999999;}
616 .tabs-stacked .open>a:hover{border-color:#999999;}
617 .tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0;}
617 .tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0;}
618 .tabbable:after{clear:both;}
618 .tabbable:after{clear:both;}
619 .tab-content{overflow:auto;}
619 .tab-content{overflow:auto;}
620 .tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0;}
620 .tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0;}
621 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
621 .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
622 .tab-content>.active,.pill-content>.active{display:block;}
622 .tab-content>.active,.pill-content>.active{display:block;}
623 .tabs-below>.nav-tabs{border-top:1px solid #ddd;}
623 .tabs-below>.nav-tabs{border-top:1px solid #ddd;}
624 .tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0;}
624 .tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0;}
625 .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{border-bottom-color:transparent;border-top-color:#ddd;}
625 .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{border-bottom-color:transparent;border-top-color:#ddd;}
626 .tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;}
626 .tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;}
627 .tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none;}
627 .tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none;}
628 .tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;}
628 .tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;}
629 .tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;}
629 .tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;}
630 .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;}
630 .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;}
631 .tabs-left>.nav-tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;}
631 .tabs-left>.nav-tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;}
632 .tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;}
632 .tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;}
633 .tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;}
633 .tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;}
634 .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;}
634 .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;}
635 .tabs-right>.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;}
635 .tabs-right>.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;}
636 .tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;}
636 .tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;}
637 .nav>.disabled>a{color:#999999;}
637 .nav>.disabled>a{color:#999999;}
638 .nav>.disabled>a:hover{text-decoration:none;background-color:transparent;cursor:default;}
638 .nav>.disabled>a:hover{text-decoration:none;background-color:transparent;cursor:default;}
639 .navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2;}
639 .navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2;}
640 .navbar-inner{min-height:40px;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;}
640 .navbar-inner{min-height:40px;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;}
641 .navbar-inner:after{clear:both;}
641 .navbar-inner:after{clear:both;}
642 .navbar .container{width:auto;}
642 .navbar .container{width:auto;}
643 .nav-collapse.collapse{height:auto;overflow:visible;}
643 .nav-collapse.collapse{height:auto;overflow:visible;}
644 .navbar .brand{float:left;display:block;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777777;text-shadow:0 1px 0 #ffffff;}.navbar .brand:hover{text-decoration:none;}
644 .navbar .brand{float:left;display:block;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777777;text-shadow:0 1px 0 #ffffff;}.navbar .brand:hover{text-decoration:none;}
645 .navbar-text{margin-bottom:0;line-height:40px;color:#777777;}
645 .navbar-text{margin-bottom:0;line-height:40px;color:#777777;}
646 .navbar-link{color:#777777;}.navbar-link:hover{color:#333333;}
646 .navbar-link{color:#777777;}.navbar-link:hover{color:#333333;}
647 .navbar .divider-vertical{height:40px;margin:0 9px;border-left:1px solid #f2f2f2;border-right:1px solid #ffffff;}
647 .navbar .divider-vertical{height:40px;margin:0 9px;border-left:1px solid #f2f2f2;border-right:1px solid #ffffff;}
648 .navbar .btn,.navbar .btn-group{margin-top:5px;}
648 .navbar .btn,.navbar .btn-group{margin-top:5px;}
649 .navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0;}
649 .navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0;}
650 .navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0;}
650 .navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0;}
651 .navbar-form:after{clear:both;}
651 .navbar-form:after{clear:both;}
652 .navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px;}
652 .navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px;}
653 .navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0;}
653 .navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0;}
654 .navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;}
654 .navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;}
655 .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;}
655 .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;}
656 .navbar-search{position:relative;float:left;margin-top:5px;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;}
656 .navbar-search{position:relative;float:left;margin-top:5px;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;}
657 .navbar-static-top{position:static;margin-bottom:0;}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
657 .navbar-static-top{position:static;margin-bottom:0;}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
658 .navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;}
658 .navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;}
659 .navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px;}
659 .navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px;}
660 .navbar-fixed-bottom .navbar-inner{border-width:1px 0 0;}
660 .navbar-fixed-bottom .navbar-inner{border-width:1px 0 0;}
661 .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;}
661 .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;}
662 .navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
662 .navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
663 .navbar-fixed-top{top:0;}
663 .navbar-fixed-top{top:0;}
664 .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);}
664 .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);}
665 .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);}
665 .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);}
666 .navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
666 .navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
667 .navbar .nav.pull-right{float:right;margin-right:0;}
667 .navbar .nav.pull-right{float:right;margin-right:0;}
668 .navbar .nav>li{float:left;}
668 .navbar .nav>li{float:left;}
669 .navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777777;text-decoration:none;text-shadow:0 1px 0 #ffffff;}
669 .navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777777;text-decoration:none;text-shadow:0 1px 0 #ffffff;}
670 .navbar .nav .dropdown-toggle .caret{margin-top:8px;}
670 .navbar .nav .dropdown-toggle .caret{margin-top:8px;}
671 .navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#333333;text-decoration:none;}
671 .navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#333333;text-decoration:none;}
672 .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);}
672 .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);}
673 .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:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#ffffff;background-color:#e5e5e5;*background-color:#d9d9d9;}
673 .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:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#ffffff;background-color:#e5e5e5;*background-color:#d9d9d9;}
674 .navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#cccccc \9;}
674 .navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#cccccc \9;}
675 .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);}
675 .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);}
676 .btn-navbar .icon-bar+.icon-bar{margin-top:3px;}
676 .btn-navbar .icon-bar+.icon-bar{margin-top:3px;}
677 .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;}
677 .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;}
678 .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;}
678 .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;}
679 .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;}
679 .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;}
680 .navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #ffffff;border-bottom:0;bottom:-6px;top:auto;}
680 .navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #ffffff;border-bottom:0;bottom:-6px;top:auto;}
681 .navbar .nav li.dropdown>a:hover .caret{border-top-color:#555555;border-bottom-color:#555555;}
681 .navbar .nav li.dropdown>a:hover .caret{border-top-color:#555555;border-bottom-color:#555555;}
682 .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;}
682 .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;}
683 .navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777777;border-bottom-color:#777777;}
683 .navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777777;border-bottom-color:#777777;}
684 .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;}
684 .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;}
685 .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;}
685 .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;}
686 .navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px;}
686 .navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px;}
687 .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;}
687 .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;}
688 .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;}
688 .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;}
689 .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{color:#ffffff;}
689 .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{color:#ffffff;}
690 .navbar-inverse .brand{color:#999999;}
690 .navbar-inverse .brand{color:#999999;}
691 .navbar-inverse .navbar-text{color:#999999;}
691 .navbar-inverse .navbar-text{color:#999999;}
692 .navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:transparent;color:#ffffff;}
692 .navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:transparent;color:#ffffff;}
693 .navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#ffffff;background-color:#111111;}
693 .navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#ffffff;background-color:#111111;}
694 .navbar-inverse .navbar-link{color:#999999;}.navbar-inverse .navbar-link:hover{color:#ffffff;}
694 .navbar-inverse .navbar-link{color:#999999;}.navbar-inverse .navbar-link:hover{color:#ffffff;}
695 .navbar-inverse .divider-vertical{border-left-color:#111111;border-right-color:#222222;}
695 .navbar-inverse .divider-vertical{border-left-color:#111111;border-right-color:#222222;}
696 .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;}
696 .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;}
697 .navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;}
697 .navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;}
698 .navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999999;border-bottom-color:#999999;}
698 .navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999999;border-bottom-color:#999999;}
699 .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;}
699 .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;}
700 .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;}
700 .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;}
701 .navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#cccccc;}
701 .navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#cccccc;}
702 .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#cccccc;}
702 .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#cccccc;}
703 .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;}
703 .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;}
704 .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:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#ffffff;background-color:#040404;*background-color:#000000;}
704 .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:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#ffffff;background-color:#040404;*background-color:#000000;}
705 .navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000000 \9;}
705 .navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000000 \9;}
706 .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;}
706 .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;}
707 .breadcrumb>.active{color:#999999;}
707 .breadcrumb>.active{color:#999999;}
708 .pagination{margin:20px 0;}
708 .pagination{margin:20px 0;}
709 .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);}
709 .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);}
710 .pagination ul>li{display:inline;}
710 .pagination ul>li{display:inline;}
711 .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;}
711 .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;}
712 .pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5;}
712 .pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5;}
713 .pagination ul>.active>a,.pagination ul>.active>span{color:#999999;cursor:default;}
713 .pagination ul>.active>a,.pagination ul>.active>span{color:#999999;cursor:default;}
714 .pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999999;background-color:transparent;cursor:default;}
714 .pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999999;background-color:transparent;cursor:default;}
715 .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;}
715 .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;}
716 .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;}
716 .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;}
717 .pagination-centered{text-align:center;}
717 .pagination-centered{text-align:center;}
718 .pagination-right{text-align:right;}
718 .pagination-right{text-align:right;}
719 .pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:16.25px;}
719 .pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:16.25px;}
720 .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;}
720 .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;}
721 .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;}
721 .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;}
722 .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;}
722 .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;}
723 .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;}
723 .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;}
724 .pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.049999999999999px;}
724 .pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.049999999999999px;}
725 .pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:9.75px;}
725 .pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:9.75px;}
726 .pager{margin:20px 0;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";line-height:0;}
726 .pager{margin:20px 0;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";line-height:0;}
727 .pager:after{clear:both;}
727 .pager:after{clear:both;}
728 .pager li{display:inline;}
728 .pager li{display:inline;}
729 .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;}
729 .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;}
730 .pager li>a:hover{text-decoration:none;background-color:#f5f5f5;}
730 .pager li>a:hover{text-decoration:none;background-color:#f5f5f5;}
731 .pager .next>a,.pager .next>span{float:right;}
731 .pager .next>a,.pager .next>span{float:right;}
732 .pager .previous>a,.pager .previous>span{float:left;}
732 .pager .previous>a,.pager .previous>span{float:left;}
733 .pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999999;background-color:#fff;cursor:default;}
733 .pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999999;background-color:#fff;cursor:default;}
734 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
734 .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
735 .modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);}
735 .modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);}
736 .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%;}
736 .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%;}
737 .modal.fade.in{top:10%;}
737 .modal.fade.in{top:10%;}
738 .modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;}
738 .modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;}
739 .modal-header h3{margin:0;line-height:30px;}
739 .modal-header h3{margin:0;line-height:30px;}
740 .modal-body{position:relative;overflow-y:auto;max-height:400px;padding:15px;}
740 .modal-body{position:relative;overflow-y:auto;max-height:400px;padding:15px;}
741 .modal-form{margin-bottom:0;}
741 .modal-form{margin-bottom:0;}
742 .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;}
742 .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;}
743 .modal-footer:after{clear:both;}
743 .modal-footer:after{clear:both;}
744 .modal-footer .btn+.btn{margin-left:5px;margin-bottom:0;}
744 .modal-footer .btn+.btn{margin-left:5px;margin-bottom:0;}
745 .modal-footer .btn-group .btn+.btn{margin-left:-1px;}
745 .modal-footer .btn-group .btn+.btn{margin-left:-1px;}
746 .modal-footer .btn-block+.btn-block{margin-left:0;}
746 .modal-footer .btn-block+.btn-block{margin-left:0;}
747 .tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);}
747 .tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);}
748 .tooltip.top{margin-top:-3px;}
748 .tooltip.top{margin-top:-3px;}
749 .tooltip.right{margin-left:3px;}
749 .tooltip.right{margin-left:3px;}
750 .tooltip.bottom{margin-top:3px;}
750 .tooltip.bottom{margin-top:3px;}
751 .tooltip.left{margin-left:-3px;}
751 .tooltip.left{margin-left:-3px;}
752 .tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
752 .tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
753 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;}
753 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;}
754 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;}
754 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;}
755 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;}
755 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;}
756 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;}
756 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;}
757 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;}
757 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;}
758 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;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;}
758 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;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;}
759 .popover.right{margin-left:10px;}
759 .popover.right{margin-left:10px;}
760 .popover.bottom{margin-top:10px;}
760 .popover.bottom{margin-top:10px;}
761 .popover.left{margin-left:-10px;}
761 .popover.left{margin-left:-10px;}
762 .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;}
762 .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;}
763 .popover-content{padding:9px 14px;}
763 .popover-content{padding:9px 14px;}
764 .popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;}
764 .popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;}
765 .popover .arrow{border-width:11px;}
765 .popover .arrow{border-width:11px;}
766 .popover .arrow:after{border-width:10px;content:"";}
766 .popover .arrow:after{border-width:10px;content:"";}
767 .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;}
767 .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;}
768 .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;}
768 .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;}
769 .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;}
769 .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;}
770 .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;}
770 .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;}
771 .thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0;}
771 .thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0;}
772 .thumbnails:after{clear:both;}
772 .thumbnails:after{clear:both;}
773 .row-fluid .thumbnails{margin-left:0;}
773 .row-fluid .thumbnails{margin-left:0;}
774 .thumbnails>li{float:left;margin-bottom:20px;margin-left:20px;}
774 .thumbnails>li{float:left;margin-bottom:20px;margin-left:20px;}
775 .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;}
775 .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;}
776 a.thumbnail:hover{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);}
776 a.thumbnail:hover{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);}
777 .thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;}
777 .thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;}
778 .thumbnail .caption{padding:9px;color:#555555;}
778 .thumbnail .caption{padding:9px;color:#555555;}
779 .media,.media-body{overflow:hidden;*overflow:visible;zoom:1;}
779 .media,.media-body{overflow:hidden;*overflow:visible;zoom:1;}
780 .media,.media .media{margin-top:15px;}
780 .media,.media .media{margin-top:15px;}
781 .media:first-child{margin-top:0;}
781 .media:first-child{margin-top:0;}
782 .media-object{display:block;}
782 .media-object{display:block;}
783 .media-heading{margin:0 0 5px;}
783 .media-heading{margin:0 0 5px;}
784 .media .pull-left{margin-right:10px;}
784 .media .pull-left{margin-right:10px;}
785 .media .pull-right{margin-left:10px;}
785 .media .pull-right{margin-left:10px;}
786 .media-list{margin-left:0;list-style:none;}
786 .media-list{margin-left:0;list-style:none;}
787 .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;}
787 .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;}
788 .label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
788 .label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
789 .badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;}
789 .badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;}
790 .label:empty,.badge:empty{display:none;}
790 .label:empty,.badge:empty{display:none;}
791 a.label:hover,a.badge:hover{color:#ffffff;text-decoration:none;cursor:pointer;}
791 a.label:hover,a.badge:hover{color:#ffffff;text-decoration:none;cursor:pointer;}
792 .label-important,.badge-important{background-color:#b94a48;}
792 .label-important,.badge-important{background-color:#b94a48;}
793 .label-important[href],.badge-important[href]{background-color:#953b39;}
793 .label-important[href],.badge-important[href]{background-color:#953b39;}
794 .label-warning,.badge-warning{background-color:#f89406;}
794 .label-warning,.badge-warning{background-color:#f89406;}
795 .label-warning[href],.badge-warning[href]{background-color:#c67605;}
795 .label-warning[href],.badge-warning[href]{background-color:#c67605;}
796 .label-success,.badge-success{background-color:#468847;}
796 .label-success,.badge-success{background-color:#468847;}
797 .label-success[href],.badge-success[href]{background-color:#356635;}
797 .label-success[href],.badge-success[href]{background-color:#356635;}
798 .label-info,.badge-info{background-color:#3a87ad;}
798 .label-info,.badge-info{background-color:#3a87ad;}
799 .label-info[href],.badge-info[href]{background-color:#2d6987;}
799 .label-info[href],.badge-info[href]{background-color:#2d6987;}
800 .label-inverse,.badge-inverse{background-color:#333333;}
800 .label-inverse,.badge-inverse{background-color:#333333;}
801 .label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;}
801 .label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;}
802 .btn .label,.btn .badge{position:relative;top:-1px;}
802 .btn .label,.btn .badge{position:relative;top:-1px;}
803 .btn-mini .label,.btn-mini .badge{top:0;}
803 .btn-mini .label,.btn-mini .badge{top:0;}
804 @-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;}
804 @-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;}
805 .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;}
805 .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;}
806 .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);}
806 .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);}
807 .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;}
807 .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;}
808 .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;}
808 .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;}
809 .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);}
809 .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);}
810 .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);}
810 .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);}
811 .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);}
811 .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);}
812 .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);}
812 .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);}
813 .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);}
813 .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);}
814 .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);}
814 .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);}
815 .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);}
815 .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);}
816 .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);}
816 .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);}
817 .accordion{margin-bottom:20px;}
817 .accordion{margin-bottom:20px;}
818 .accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
818 .accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
819 .accordion-heading{border-bottom:0;}
819 .accordion-heading{border-bottom:0;}
820 .accordion-heading .accordion-toggle{display:block;padding:8px 15px;}
820 .accordion-heading .accordion-toggle{display:block;padding:8px 15px;}
821 .accordion-toggle{cursor:pointer;}
821 .accordion-toggle{cursor:pointer;}
822 .accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
822 .accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
823 .carousel{position:relative;margin-bottom:20px;line-height:1;}
823 .carousel{position:relative;margin-bottom:20px;line-height:1;}
824 .carousel-inner{overflow:hidden;width:100%;position:relative;}
824 .carousel-inner{overflow:hidden;width:100%;position:relative;}
825 .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;}
825 .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;}
826 .carousel-inner>.item>img{display:block;line-height:1;}
826 .carousel-inner>.item>img{display:block;line-height:1;}
827 .carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block;}
827 .carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block;}
828 .carousel-inner>.active{left:0;}
828 .carousel-inner>.active{left:0;}
829 .carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%;}
829 .carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%;}
830 .carousel-inner>.next{left:100%;}
830 .carousel-inner>.next{left:100%;}
831 .carousel-inner>.prev{left:-100%;}
831 .carousel-inner>.prev{left:-100%;}
832 .carousel-inner>.next.left,.carousel-inner>.prev.right{left:0;}
832 .carousel-inner>.next.left,.carousel-inner>.prev.right{left:0;}
833 .carousel-inner>.active.left{left:-100%;}
833 .carousel-inner>.active.left{left:-100%;}
834 .carousel-inner>.active.right{left:100%;}
834 .carousel-inner>.active.right{left:100%;}
835 .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;}
835 .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;}
836 .carousel-control:hover{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);}
836 .carousel-control:hover{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);}
837 .carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#333333;background:rgba(0, 0, 0, 0.75);}
837 .carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#333333;background:rgba(0, 0, 0, 0.75);}
838 .carousel-caption h4,.carousel-caption p{color:#ffffff;line-height:20px;}
838 .carousel-caption h4,.carousel-caption p{color:#ffffff;line-height:20px;}
839 .carousel-caption h4{margin:0 0 5px;}
839 .carousel-caption h4{margin:0 0 5px;}
840 .carousel-caption p{margin-bottom:0;}
840 .carousel-caption p{margin-bottom:0;}
841 .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;}
841 .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;}
842 .hero-unit li{line-height:30px;}
842 .hero-unit li{line-height:30px;}
843 .pull-right{float:right;}
843 .pull-right{float:right;}
844 .pull-left{float:left;}
844 .pull-left{float:left;}
845 .hide{display:none;}
845 .hide{display:none;}
846 .show{display:block;}
846 .show{display:block;}
847 .invisible{visibility:hidden;}
847 .invisible{visibility:hidden;}
848 .affix{position:fixed;}
848 .affix{position:fixed;}
849 .corner-all{border-radius:4px;}
849 .corner-all{border-radius:4px;}
850 .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;}
850 .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;}
851 .hbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
851 .hbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
852 .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%;}
852 .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%;}
853 .vbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
853 .vbox>*{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
854 .reverse{-webkit-box-direction:reverse;-moz-box-direction:reverse;box-direction:reverse;}
854 .reverse{-webkit-box-direction:reverse;-moz-box-direction:reverse;box-direction:reverse;}
855 .box-flex0{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
855 .box-flex0{-webkit-box-flex:0;-moz-box-flex:0;box-flex:0;}
856 .box-flex1,.box-flex{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;}
856 .box-flex1{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;}
857 .box-flex{-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;}
857 .box-flex2{-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;}
858 .box-flex2{-webkit-box-flex:2;-moz-box-flex:2;box-flex:2;}
858 .box-group1{-webkit-box-flex-group:1;-moz-box-flex-group:1;box-flex-group:1;}
859 .box-group1{-webkit-box-flex-group:1;-moz-box-flex-group:1;box-flex-group:1;}
859 .box-group2{-webkit-box-flex-group:2;-moz-box-flex-group:2;box-flex-group:2;}
860 .box-group2{-webkit-box-flex-group:2;-moz-box-flex-group:2;box-flex-group:2;}
860 .start{-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;}
861 .start{-webkit-box-pack:start;-moz-box-pack:start;box-pack:start;}
861 .end{-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;}
862 .end{-webkit-box-pack:end;-moz-box-pack:end;box-pack:end;}
862 .center{-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;}
863 .center{-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;}
863 .corner-all{border-radius:4px;}
864 .corner-all{border-radius:4px;}
864 body{background-color:#ffffff;}
865 body{background-color:#ffffff;}
865 body.notebook_app{overflow:hidden;}
866 body.notebook_app{overflow:hidden;}
866 blockquote{border-left:4px solid #DDD;padding:0 15px;color:#777;}
867 blockquote{border-left:4px solid #DDD;padding:0 15px;color:#777;}
867 span#save_widget{padding:5px;margin:0px 0px 0px 300px;display:inline-block;}
868 span#save_widget{padding:5px;margin:0px 0px 0px 300px;display:inline-block;}
868 span#notebook_name{height:1em;line-height:1em;padding:3px;border:none;font-size:146.5%;}
869 span#notebook_name{height:1em;line-height:1em;padding:3px;border:none;font-size:146.5%;}
869 .ui-menubar-item .ui-button .ui-button-text{padding:0.4em 1.0em;font-size:100%;}
870 .ui-menubar-item .ui-button .ui-button-text{padding:0.4em 1.0em;font-size:100%;}
870 .ui-menu{-moz-box-shadow:0px 6px 10px -1px #adadad;-webkit-box-shadow:0px 6px 10px -1px #adadad;box-shadow:0px 6px 10px -1px #adadad;}
871 .ui-menu{-moz-box-shadow:0px 6px 10px -1px #adadad;-webkit-box-shadow:0px 6px 10px -1px #adadad;box-shadow:0px 6px 10px -1px #adadad;}
871 .ui-menu .ui-menu-item a{border:1px solid transparent;padding:2px 1.6em;}
872 .ui-menu .ui-menu-item a{border:1px solid transparent;padding:2px 1.6em;}
872 .ui-menu .ui-menu-item a.ui-state-focus{margin:0;}
873 .ui-menu .ui-menu-item a.ui-state-focus{margin:0;}
873 .ui-menu hr{margin:0.3em 0;}
874 .ui-menu hr{margin:0.3em 0;}
874 #menubar_container{position:relative;}
875 #menubar_container{position:relative;}
875 #notification_area{position:absolute;right:0px;top:0px;height:25px;padding:3px 0px;padding-right:3px;z-index:10;}
876 #notification_area{position:absolute;right:0px;top:0px;height:25px;padding:3px 0px;padding-right:3px;z-index:10;}
876 .notification_widget{float:right;right:0px;top:1px;height:25px;padding:3px 6px;z-index:10;}
877 .notification_widget{float:right;right:0px;top:1px;height:25px;padding:3px 6px;z-index:10;}
877 .toolbar{padding:3px 15px;border-bottom:1px #ababab solid;}.toolbar button{margin-top:2px;margin-bottom:2px;}
878 .toolbar{padding:3px 15px;border-bottom:1px #ababab solid;}.toolbar button{margin-top:2px;margin-bottom:2px;}
878 .toolbar select,.toolbar label{height:19px;vertical-align:middle;margin-right:2px;margin-bottom:0;display:inline;font-size:92%;margin-left:0.3em;margin-right:0.3em;padding:0px;}
879 .toolbar select,.toolbar label{height:19px;vertical-align:middle;margin-right:2px;margin-bottom:0;display:inline;font-size:92%;margin-left:0.3em;margin-right:0.3em;padding:0px;}
879 .toolbar select{width:auto;}
880 .toolbar select{width:auto;}
880 #ipython-main-app{width:100%;position:relative;font-size:110%;}
881 #ipython-main-app{width:100%;position:relative;font-size:110%;}
881 span#quick_help_area{position:static;padding:5px 0px;margin:0px 0px 0px 0px;}
882 span#quick_help_area{position:static;padding:5px 0px;margin:0px 0px 0px 0px;}
882 .help_string{float:right;width:170px;padding:0px 5px;text-align:left;font-size:85%;}
883 .help_string{float:right;width:170px;padding:0px 5px;text-align:left;font-size:85%;}
883 .help_string_label{float:right;font-size:85%;}
884 .help_string_label{float:right;font-size:85%;}
884 div#notebook_panel{margin:0px 0px 0px 0px;padding:0px;}
885 div#notebook_panel{margin:0px 0px 0px 0px;padding:0px;}
885 div#notebook{overflow-y:scroll;overflow-x:auto;width:100%;padding:5px 5px 15px 5px;margin:0px;}
886 div#notebook{overflow-y:scroll;overflow-x:auto;width:100%;padding:5px 5px 15px 5px;margin:0px;}
886 div#pager_splitter{height:8px;}
887 div#pager_splitter{height:8px;}
887 #pager_container{position:relative;}
888 #pager_container{position:relative;}
888 div#pager{padding:15px;overflow:auto;display:none;}
889 div#pager{padding:15px;overflow:auto;display:none;}
889 div.ui-widget-content{border:1px solid #ababab;outline:none;}
890 div.ui-widget-content{border:1px solid #ababab;outline:none;}
890 .cell{border:1px solid transparent;}.cell.selected{border-radius:4px;border:thin #ababab solid;}
891 .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;}
891 div.cell{width:100%;padding:5px 5px 5px 0px;margin:2px 0px 2px 0px;outline:none;}
892 div.cell{width:100%;padding:5px 5px 5px 0px;margin:2px 0px 2px 0px;outline:none;}
892 div.prompt{width:11ex;padding:0.4em;margin:0px;font-family:monospace;text-align:right;line-height:1.231;}
893 div.prompt{width:11ex;padding:0.4em;margin:0px;font-family:monospace;text-align:right;line-height:1.231;}
893 div.input{page-break-inside:avoid;}
894 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;}
894 div.input_area{border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;}
895 div.input_area{border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;}
895 div.input_prompt{color:navy;border-top:1px solid transparent;}
896 div.input_prompt{color:navy;border-top:1px solid transparent;}
896 div.output_wrapper{margin-top:5px;margin-left:5px;width:100%;position:relative;}
897 div.output_wrapper{margin-top:5px;margin-left:5px;width:100%;position:relative;}
897 div.output_scroll{height:24em;width:100%;overflow:auto;border-radius:4px;box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);}
898 div.output_scroll{height:24em;width:100%;overflow:auto;border-radius:4px;box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8);}
898 div.output_collapsed{margin-right:5px;}
899 div.output_collapsed{margin-right:5px;}
899 div.out_prompt_overlay{height:100%;padding:0px;position:absolute;border-radius:4px;}
900 div.out_prompt_overlay{height:100%;padding:0px;position:absolute;border-radius:4px;}
900 div.out_prompt_overlay:hover{box-shadow:inset 0 0 1px #000;background:rgba(240, 240, 240, 0.5);}
901 div.out_prompt_overlay:hover{box-shadow:inset 0 0 1px #000;background:rgba(240, 240, 240, 0.5);}
901 div.output_prompt{color:darkred;margin:0 5px 0 -5px;}
902 div.output_prompt{color:darkred;margin:0 5px 0 -5px;}
902 div.output_area{padding:0px;page-break-inside:avoid;}
903 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;}
903 div.output_area pre{font-family:monospace;margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;color:black;}
904 div.output_area pre{font-family:monospace;margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;color:black;}
904 div.output_subarea{padding:0.44em 0.4em 0.4em 1px;}
905 div.output_subarea{padding:0.44em 0.4em 0.4em 1px;-webkit-box-flex:1;-moz-box-flex:1;box-flex:1;}
905 div.output_text{text-align:left;color:#000000;font-family:monospace;line-height:1.231;}
906 div.output_text{text-align:left;color:#000000;font-family:monospace;line-height:1.231;}
906 div.output_stream{padding-top:0.0em;padding-bottom:0.0em;}
907 div.output_stream{padding-top:0.0em;padding-bottom:0.0em;}
907 div.output_stderr{background:#fdd;}
908 div.output_stderr{background:#fdd;}
908 div.output_latex{text-align:left;}
909 div.output_latex{text-align:left;}
909 div.text_cell{padding:5px 5px 5px 5px;}
910 div.text_cell{padding:5px 5px 5px 5px;}
910 div.text_cell_input{color:#000000;border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;}
911 div.text_cell_input{color:#000000;border:1px solid #cfcfcf;border-radius:4px;background:#f7f7f7;}
911 div.text_cell_render{outline:none;resize:none;width:inherit;border-style:none;padding:5px;color:#000000;}
912 div.text_cell_render{outline:none;resize:none;width:inherit;border-style:none;padding:5px;color:#000000;}
912 .CodeMirror{line-height:1.231;}
913 .CodeMirror{line-height:1.231;}
913 .CodeMirror-scroll{height:auto;overflow-y:hidden;overflow-x:auto;}
914 .CodeMirror-scroll{height:auto;overflow-y:hidden;overflow-x:auto;}
914 .ansiblack{color:#000000;}
915 .ansiblack{color:#000000;}
915 .ansired{color:darkred;}
916 .ansired{color:darkred;}
916 .ansigreen{color:darkgreen;}
917 .ansigreen{color:darkgreen;}
917 .ansiyellow{color:brown;}
918 .ansiyellow{color:brown;}
918 .ansiblue{color:darkblue;}
919 .ansiblue{color:darkblue;}
919 .ansipurple{color:darkviolet;}
920 .ansipurple{color:darkviolet;}
920 .ansicyan{color:steelblue;}
921 .ansicyan{color:steelblue;}
921 .ansigrey{color:grey;}
922 .ansigrey{color:grey;}
922 .ansibold{font-weight:bold;}
923 .ansibold{font-weight:bold;}
923 .completions{position:absolute;z-index:10;overflow:hidden;border:1px solid #ababab;}
924 .completions{position:absolute;z-index:10;overflow:hidden;border:1px solid #ababab;}
924 .completions select{background:white;outline:none;border:none;padding:0px;margin:0px;overflow:auto;font-family:monospace;}
925 .completions select{background:white;outline:none;border:none;padding:0px;margin:0px;overflow:auto;font-family:monospace;}
925 option.context{background-color:#DEF7FF;}
926 option.context{background-color:#DEF7FF;}
926 option.introspection{background-color:#EBF4EB;}
927 option.introspection{background-color:#EBF4EB;}
927 .completions p b{font-weight:bold;}
928 .completions p b{font-weight:bold;}
928 .completions p{background:#DDF;border-bottom:black solid 1px;padding:1px;font-family:monospace;}
929 .completions p{background:#DDF;border-bottom:black solid 1px;padding:1px;font-family:monospace;}
929 pre.dialog{background-color:#f7f7f7;border:1px solid #ddd;border-radius:4px;padding:0.4em;padding-left:2em;}
930 pre.dialog{background-color:#f7f7f7;border:1px solid #ddd;border-radius:4px;padding:0.4em;padding-left:2em;}
930 p.dialog{padding:0.2em;}
931 p.dialog{padding:0.2em;}
931 .shortcut_key{display:inline-block;width:15ex;text-align:right;font-family:monospace;}
932 .shortcut_key{display:inline-block;width:15ex;text-align:right;font-family:monospace;}
932 pre,code,kbd,samp{white-space:pre-wrap;}
933 pre,code,kbd,samp{white-space:pre-wrap;}
933 #fonttest{font-family:monospace;}
934 #fonttest{font-family:monospace;}
934 .js-error{color:darkred;}
935 .js-error{color:darkred;}
935 a{text-decoration:underline;}
936 a{text-decoration:underline;}
936 p{margin-bottom:0;}
937 p{margin-bottom:0;}
937 a.heading-anchor:link,a.heading-anchor:visited{text-decoration:none;color:inherit;}
938 a.heading-anchor:link,a.heading-anchor:visited{text-decoration:none;color:inherit;}
938 @media print{body{overflow:visible !important;} div#notebook{overflow:visible !important;} .ui-widget-content{border:0px;} #save_widget{margin:0px !important;} #header,#pager,#pager_splitter,#menubar,#toolbar{display:none !important;} .cell{border:none !important;} .toolbar{display:none;}}.rendered_html{color:black;}.rendered_html em{font-style:italic;}
939 @media print{body{overflow:visible !important;} div#notebook{overflow:visible !important;} .ui-widget-content{border:0px;} #save_widget{margin:0px !important;} #header,#pager,#pager_splitter,#menubar,#toolbar{display:none !important;} .cell{border:none !important;} .toolbar{display:none;}}.rendered_html{color:black;}.rendered_html em{font-style:italic;}
939 .rendered_html strong{font-weight:bold;}
940 .rendered_html strong{font-weight:bold;}
940 .rendered_html u{text-decoration:underline;}
941 .rendered_html u{text-decoration:underline;}
941 .rendered_html :link{text-decoration:underline;}
942 .rendered_html :link{text-decoration:underline;}
942 .rendered_html :visited{text-decoration:underline;}
943 .rendered_html :visited{text-decoration:underline;}
943 .rendered_html h1{font-size:197%;margin:.65em 0;font-weight:bold;}
944 .rendered_html h1{font-size:197%;margin:.65em 0;font-weight:bold;}
944 .rendered_html h2{font-size:153.9%;margin:.75em 0;font-weight:bold;}
945 .rendered_html h2{font-size:153.9%;margin:.75em 0;font-weight:bold;}
945 .rendered_html h3{font-size:123.1%;margin:.85em 0;font-weight:bold;}
946 .rendered_html h3{font-size:123.1%;margin:.85em 0;font-weight:bold;}
946 .rendered_html h4{font-size:100%;margin:0.95em 0;font-weight:bold;}
947 .rendered_html h4{font-size:100%;margin:0.95em 0;font-weight:bold;}
947 .rendered_html h5{font-size:85%;margin:1.5em 0;font-weight:bold;}
948 .rendered_html h5{font-size:85%;margin:1.5em 0;font-weight:bold;}
948 .rendered_html h6{font-size:77%;margin:1.65em 0;font-weight:bold;}
949 .rendered_html h6{font-size:77%;margin:1.65em 0;font-weight:bold;}
949 .rendered_html ul{list-style:disc;margin:1em 2em;}
950 .rendered_html ul{list-style:disc;margin:1em 2em;}
950 .rendered_html ul ul{list-style:square;margin:0em 2em;}
951 .rendered_html ul ul{list-style:square;margin:0em 2em;}
951 .rendered_html ul ul ul{list-style:circle;margin:0em 2em;}
952 .rendered_html ul ul ul{list-style:circle;margin:0em 2em;}
952 .rendered_html ol{list-style:decimal;margin:1em 2em;}
953 .rendered_html ol{list-style:decimal;margin:1em 2em;}
953 .rendered_html ol ol{list-style:upper-alpha;margin:0em 2em;}
954 .rendered_html ol ol{list-style:upper-alpha;margin:0em 2em;}
954 .rendered_html ol ol ol{list-style:lower-alpha;margin:0em 2em;}
955 .rendered_html ol ol ol{list-style:lower-alpha;margin:0em 2em;}
955 .rendered_html ol ol ol ol{list-style:lower-roman;margin:0em 2em;}
956 .rendered_html ol ol ol ol{list-style:lower-roman;margin:0em 2em;}
956 .rendered_html ol ol ol ol ol{list-style:decimal;margin:0em 2em;}
957 .rendered_html ol ol ol ol ol{list-style:decimal;margin:0em 2em;}
957 .rendered_html hr{color:black;background-color:black;}
958 .rendered_html hr{color:black;background-color:black;}
958 .rendered_html pre{margin:1em 2em;}
959 .rendered_html pre{margin:1em 2em;}
959 .rendered_html blockquote{margin:1em 2em;}
960 .rendered_html blockquote{margin:1em 2em;}
960 .rendered_html table,.rendered_html tr,.rendered_html th,.rendered_html td{border:1px solid black;border-collapse:collapse;margin:1em 2em;}
961 .rendered_html table,.rendered_html tr,.rendered_html th,.rendered_html td{border:1px solid black;border-collapse:collapse;margin:1em 2em;}
961 .rendered_html td,.rendered_html th{text-align:left;vertical-align:middle;padding:4px;}
962 .rendered_html td,.rendered_html th{text-align:left;vertical-align:middle;padding:4px;}
962 .rendered_html th{font-weight:bold;}
963 .rendered_html th{font-weight:bold;}
963 .rendered_html p{text-align:justify;}
964 .rendered_html p{text-align:justify;}
964 .rendered_html p+p{margin-top:1em;}
965 .rendered_html p+p{margin-top:1em;}
965 .corner-all{border-radius:4px;}
966 .corner-all{border-radius:4px;}
966 @-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;}
967 @-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;}
967 .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;}
968 .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;}
968 .tooltipbuttons{position:absolute;padding-right:15px;top:0px;right:0px;}
969 .tooltipbuttons{position:absolute;padding-right:15px;top:0px;right:0px;}
969 .tooltiptext{padding-right:30px;}
970 .tooltiptext{padding-right:30px;}
970 .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;}.ipython_tooltip a{float:right;}
971 .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;}.ipython_tooltip a{float:right;}
971 .pretooltiparrow{left:0px;margin:0px;top:-16px;width:40px;height:16px;overflow:hidden;position:absolute;}
972 .pretooltiparrow{left:0px;margin:0px;top:-16px;width:40px;height:16px;overflow:hidden;position:absolute;}
972 .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);}
973 .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,425 +1,425 b''
1 //----------------------------------------------------------------------------
1 //----------------------------------------------------------------------------
2 // Copyright (C) 2008-2011 The IPython Development Team
2 // Copyright (C) 2008-2011 The IPython Development Team
3 //
3 //
4 // Distributed under the terms of the BSD License. The full license is in
4 // Distributed under the terms of the BSD License. The full license is in
5 // the file COPYING, distributed as part of this software.
5 // the file COPYING, distributed as part of this software.
6 //----------------------------------------------------------------------------
6 //----------------------------------------------------------------------------
7
7
8 //============================================================================
8 //============================================================================
9 // CodeCell
9 // CodeCell
10 //============================================================================
10 //============================================================================
11 /**
11 /**
12 * An extendable module that provide base functionnality to create cell for notebook.
12 * An extendable module that provide base functionnality to create cell for notebook.
13 * @module IPython
13 * @module IPython
14 * @namespace IPython
14 * @namespace IPython
15 * @submodule CodeCell
15 * @submodule CodeCell
16 */
16 */
17
17
18
18
19 /* local util for codemirror */
19 /* local util for codemirror */
20 var posEq = function(a, b) {return a.line == b.line && a.ch == b.ch;}
20 var posEq = function(a, b) {return a.line == b.line && a.ch == b.ch;}
21
21
22 /**
22 /**
23 *
23 *
24 * function to delete until previous non blanking space character
24 * function to delete until previous non blanking space character
25 * or first multiple of 4 tabstop.
25 * or first multiple of 4 tabstop.
26 * @private
26 * @private
27 */
27 */
28 CodeMirror.commands.delSpaceToPrevTabStop = function(cm){
28 CodeMirror.commands.delSpaceToPrevTabStop = function(cm){
29 var from = cm.getCursor(true), to = cm.getCursor(false), sel = !posEq(from, to);
29 var from = cm.getCursor(true), to = cm.getCursor(false), sel = !posEq(from, to);
30 if (!posEq(from, to)) {cm.replaceRange("", from, to); return}
30 if (!posEq(from, to)) {cm.replaceRange("", from, to); return}
31 var cur = cm.getCursor(), line = cm.getLine(cur.line);
31 var cur = cm.getCursor(), line = cm.getLine(cur.line);
32 var tabsize = cm.getOption('tabSize');
32 var tabsize = cm.getOption('tabSize');
33 var chToPrevTabStop = cur.ch-(Math.ceil(cur.ch/tabsize)-1)*tabsize;
33 var chToPrevTabStop = cur.ch-(Math.ceil(cur.ch/tabsize)-1)*tabsize;
34 var from = {ch:cur.ch-chToPrevTabStop,line:cur.line}
34 var from = {ch:cur.ch-chToPrevTabStop,line:cur.line}
35 var select = cm.getRange(from,cur)
35 var select = cm.getRange(from,cur)
36 if( select.match(/^\ +$/) != null){
36 if( select.match(/^\ +$/) != null){
37 cm.replaceRange("",from,cur)
37 cm.replaceRange("",from,cur)
38 } else {
38 } else {
39 cm.deleteH(-1,"char")
39 cm.deleteH(-1,"char")
40 }
40 }
41 };
41 };
42
42
43
43
44 var IPython = (function (IPython) {
44 var IPython = (function (IPython) {
45 "use strict";
45 "use strict";
46
46
47 var utils = IPython.utils;
47 var utils = IPython.utils;
48 var key = IPython.utils.keycodes;
48 var key = IPython.utils.keycodes;
49 CodeMirror.modeURL = "/static/codemirror/mode/%N/%N.js";
49 CodeMirror.modeURL = "/static/codemirror/mode/%N/%N.js";
50
50
51 /**
51 /**
52 * A Cell conceived to write code.
52 * A Cell conceived to write code.
53 *
53 *
54 * The kernel doesn't have to be set at creation time, in that case
54 * The kernel doesn't have to be set at creation time, in that case
55 * it will be null and set_kernel has to be called later.
55 * it will be null and set_kernel has to be called later.
56 * @class CodeCell
56 * @class CodeCell
57 * @extends IPython.Cell
57 * @extends IPython.Cell
58 *
58 *
59 * @constructor
59 * @constructor
60 * @param {Object|null} kernel
60 * @param {Object|null} kernel
61 * @param {object|undefined} [options]
61 * @param {object|undefined} [options]
62 * @param [options.cm_config] {object} config to pass to CodeMirror
62 * @param [options.cm_config] {object} config to pass to CodeMirror
63 */
63 */
64 var CodeCell = function (kernel, options) {
64 var CodeCell = function (kernel, options) {
65 this.kernel = kernel || null;
65 this.kernel = kernel || null;
66 this.code_mirror = null;
66 this.code_mirror = null;
67 this.input_prompt_number = null;
67 this.input_prompt_number = null;
68 this.collapsed = false;
68 this.collapsed = false;
69 this.default_mode = 'python';
69 this.default_mode = 'python';
70
70
71
71
72 var cm_overwrite_options = {
72 var cm_overwrite_options = {
73 onKeyEvent: $.proxy(this.handle_codemirror_keyevent,this)
73 onKeyEvent: $.proxy(this.handle_codemirror_keyevent,this)
74 };
74 };
75
75
76 options = this.mergeopt(CodeCell, options, {cm_config:cm_overwrite_options});
76 options = this.mergeopt(CodeCell, options, {cm_config:cm_overwrite_options});
77
77
78 IPython.Cell.apply(this,[options]);
78 IPython.Cell.apply(this,[options]);
79
79
80 var that = this;
80 var that = this;
81 this.element.focusout(
81 this.element.focusout(
82 function() { that.auto_highlight(); }
82 function() { that.auto_highlight(); }
83 );
83 );
84 };
84 };
85
85
86 CodeCell.options_default = {
86 CodeCell.options_default = {
87 cm_config : {
87 cm_config : {
88 extraKeys: {"Tab": "indentMore","Shift-Tab" : "indentLess",'Backspace':"delSpaceToPrevTabStop"},
88 extraKeys: {"Tab": "indentMore","Shift-Tab" : "indentLess",'Backspace':"delSpaceToPrevTabStop"},
89 mode: 'python',
89 mode: 'python',
90 theme: 'ipython',
90 theme: 'ipython',
91 matchBrackets: true
91 matchBrackets: true
92 }
92 }
93 };
93 };
94
94
95
95
96 CodeCell.prototype = new IPython.Cell();
96 CodeCell.prototype = new IPython.Cell();
97
97
98 /**
98 /**
99 * @method auto_highlight
99 * @method auto_highlight
100 */
100 */
101 CodeCell.prototype.auto_highlight = function () {
101 CodeCell.prototype.auto_highlight = function () {
102 this._auto_highlight(IPython.config.cell_magic_highlight)
102 this._auto_highlight(IPython.config.cell_magic_highlight)
103 };
103 };
104
104
105 /** @method create_element */
105 /** @method create_element */
106 CodeCell.prototype.create_element = function () {
106 CodeCell.prototype.create_element = function () {
107 IPython.Cell.prototype.create_element.apply(this, arguments);
107 IPython.Cell.prototype.create_element.apply(this, arguments);
108
108
109 var cell = $('<div></div>').addClass('cell border-box-sizing code_cell vbox');
109 var cell = $('<div></div>').addClass('cell border-box-sizing code_cell');
110 cell.attr('tabindex','2');
110 cell.attr('tabindex','2');
111
111
112 this.celltoolbar = new IPython.CellToolbar(this);
112 this.celltoolbar = new IPython.CellToolbar(this);
113
113
114 var input = $('<div></div>').addClass('input hbox');
114 var input = $('<div></div>').addClass('input');
115 var vbox = $('<div/>').addClass('vbox box-flex1')
115 var vbox = $('<div/>').addClass('vbox box-flex1')
116 input.append($('<div/>').addClass('prompt input_prompt'));
116 input.append($('<div/>').addClass('prompt input_prompt'));
117 vbox.append(this.celltoolbar.element);
117 vbox.append(this.celltoolbar.element);
118 var input_area = $('<div/>').addClass('input_area');
118 var input_area = $('<div/>').addClass('input_area');
119 this.code_mirror = CodeMirror(input_area.get(0), this.cm_config);
119 this.code_mirror = CodeMirror(input_area.get(0), this.cm_config);
120 $(this.code_mirror.getInputField()).attr("spellcheck", "false");
120 $(this.code_mirror.getInputField()).attr("spellcheck", "false");
121 vbox.append(input_area);
121 vbox.append(input_area);
122 input.append(vbox);
122 input.append(vbox);
123 var output = $('<div></div>');
123 var output = $('<div></div>');
124 cell.append(input).append(output);
124 cell.append(input).append(output);
125 this.element = cell;
125 this.element = cell;
126 this.output_area = new IPython.OutputArea(output, true);
126 this.output_area = new IPython.OutputArea(output, true);
127
127
128 // construct a completer only if class exist
128 // construct a completer only if class exist
129 // otherwise no print view
129 // otherwise no print view
130 if (IPython.Completer !== undefined)
130 if (IPython.Completer !== undefined)
131 {
131 {
132 this.completer = new IPython.Completer(this);
132 this.completer = new IPython.Completer(this);
133 }
133 }
134 };
134 };
135
135
136 /**
136 /**
137 * This method gets called in CodeMirror's onKeyDown/onKeyPress
137 * This method gets called in CodeMirror's onKeyDown/onKeyPress
138 * handlers and is used to provide custom key handling. Its return
138 * handlers and is used to provide custom key handling. Its return
139 * value is used to determine if CodeMirror should ignore the event:
139 * value is used to determine if CodeMirror should ignore the event:
140 * true = ignore, false = don't ignore.
140 * true = ignore, false = don't ignore.
141 * @method handle_codemirror_keyevent
141 * @method handle_codemirror_keyevent
142 */
142 */
143 CodeCell.prototype.handle_codemirror_keyevent = function (editor, event) {
143 CodeCell.prototype.handle_codemirror_keyevent = function (editor, event) {
144
144
145 if (this.read_only){
145 if (this.read_only){
146 return false;
146 return false;
147 }
147 }
148
148
149 var that = this;
149 var that = this;
150 // whatever key is pressed, first, cancel the tooltip request before
150 // whatever key is pressed, first, cancel the tooltip request before
151 // they are sent, and remove tooltip if any, except for tab again
151 // they are sent, and remove tooltip if any, except for tab again
152 if (event.type === 'keydown' && event.which != key.TAB ) {
152 if (event.type === 'keydown' && event.which != key.TAB ) {
153 IPython.tooltip.remove_and_cancel_tooltip();
153 IPython.tooltip.remove_and_cancel_tooltip();
154 };
154 };
155
155
156 var cur = editor.getCursor();
156 var cur = editor.getCursor();
157 if (event.keyCode === key.ENTER){
157 if (event.keyCode === key.ENTER){
158 this.auto_highlight();
158 this.auto_highlight();
159 }
159 }
160
160
161 if (event.keyCode === key.ENTER && (event.shiftKey || event.ctrlKey)) {
161 if (event.keyCode === key.ENTER && (event.shiftKey || event.ctrlKey)) {
162 // Always ignore shift-enter in CodeMirror as we handle it.
162 // Always ignore shift-enter in CodeMirror as we handle it.
163 return true;
163 return true;
164 } else if (event.which === 40 && event.type === 'keypress' && IPython.tooltip.time_before_tooltip >= 0) {
164 } else if (event.which === 40 && event.type === 'keypress' && IPython.tooltip.time_before_tooltip >= 0) {
165 // triger on keypress (!) otherwise inconsistent event.which depending on plateform
165 // triger on keypress (!) otherwise inconsistent event.which depending on plateform
166 // browser and keyboard layout !
166 // browser and keyboard layout !
167 // Pressing '(' , request tooltip, don't forget to reappend it
167 // Pressing '(' , request tooltip, don't forget to reappend it
168 IPython.tooltip.pending(that);
168 IPython.tooltip.pending(that);
169 } else if (event.which === key.UPARROW && event.type === 'keydown') {
169 } else if (event.which === key.UPARROW && event.type === 'keydown') {
170 // If we are not at the top, let CM handle the up arrow and
170 // If we are not at the top, let CM handle the up arrow and
171 // prevent the global keydown handler from handling it.
171 // prevent the global keydown handler from handling it.
172 if (!that.at_top()) {
172 if (!that.at_top()) {
173 event.stop();
173 event.stop();
174 return false;
174 return false;
175 } else {
175 } else {
176 return true;
176 return true;
177 };
177 };
178 } else if (event.which === key.ESC) {
178 } else if (event.which === key.ESC) {
179 IPython.tooltip.remove_and_cancel_tooltip(true);
179 IPython.tooltip.remove_and_cancel_tooltip(true);
180 return true;
180 return true;
181 } else if (event.which === key.DOWNARROW && event.type === 'keydown') {
181 } else if (event.which === key.DOWNARROW && event.type === 'keydown') {
182 // If we are not at the bottom, let CM handle the down arrow and
182 // If we are not at the bottom, let CM handle the down arrow and
183 // prevent the global keydown handler from handling it.
183 // prevent the global keydown handler from handling it.
184 if (!that.at_bottom()) {
184 if (!that.at_bottom()) {
185 event.stop();
185 event.stop();
186 return false;
186 return false;
187 } else {
187 } else {
188 return true;
188 return true;
189 };
189 };
190 } else if (event.keyCode === key.TAB && event.type == 'keydown' && event.shiftKey) {
190 } else if (event.keyCode === key.TAB && event.type == 'keydown' && event.shiftKey) {
191 if (editor.somethingSelected()){
191 if (editor.somethingSelected()){
192 var anchor = editor.getCursor("anchor");
192 var anchor = editor.getCursor("anchor");
193 var head = editor.getCursor("head");
193 var head = editor.getCursor("head");
194 if( anchor.line != head.line){
194 if( anchor.line != head.line){
195 return false;
195 return false;
196 }
196 }
197 }
197 }
198 IPython.tooltip.request(that);
198 IPython.tooltip.request(that);
199 event.stop();
199 event.stop();
200 return true;
200 return true;
201 } else if (event.keyCode === key.TAB && event.type == 'keydown') {
201 } else if (event.keyCode === key.TAB && event.type == 'keydown') {
202 // Tab completion.
202 // Tab completion.
203 //Do not trim here because of tooltip
203 //Do not trim here because of tooltip
204 if (editor.somethingSelected()){return false}
204 if (editor.somethingSelected()){return false}
205 var pre_cursor = editor.getRange({line:cur.line,ch:0},cur);
205 var pre_cursor = editor.getRange({line:cur.line,ch:0},cur);
206 if (pre_cursor.trim() === "") {
206 if (pre_cursor.trim() === "") {
207 // Don't autocomplete if the part of the line before the cursor
207 // Don't autocomplete if the part of the line before the cursor
208 // is empty. In this case, let CodeMirror handle indentation.
208 // is empty. In this case, let CodeMirror handle indentation.
209 return false;
209 return false;
210 } else if ((pre_cursor.substr(-1) === "("|| pre_cursor.substr(-1) === " ") && IPython.config.tooltip_on_tab ) {
210 } else if ((pre_cursor.substr(-1) === "("|| pre_cursor.substr(-1) === " ") && IPython.config.tooltip_on_tab ) {
211 IPython.tooltip.request(that);
211 IPython.tooltip.request(that);
212 // Prevent the event from bubbling up.
212 // Prevent the event from bubbling up.
213 event.stop();
213 event.stop();
214 // Prevent CodeMirror from handling the tab.
214 // Prevent CodeMirror from handling the tab.
215 return true;
215 return true;
216 } else {
216 } else {
217 event.stop();
217 event.stop();
218 this.completer.startCompletion();
218 this.completer.startCompletion();
219 return true;
219 return true;
220 };
220 };
221 } else {
221 } else {
222 // keypress/keyup also trigger on TAB press, and we don't want to
222 // keypress/keyup also trigger on TAB press, and we don't want to
223 // use those to disable tab completion.
223 // use those to disable tab completion.
224 return false;
224 return false;
225 };
225 };
226 return false;
226 return false;
227 };
227 };
228
228
229
229
230 // Kernel related calls.
230 // Kernel related calls.
231
231
232 CodeCell.prototype.set_kernel = function (kernel) {
232 CodeCell.prototype.set_kernel = function (kernel) {
233 this.kernel = kernel;
233 this.kernel = kernel;
234 }
234 }
235
235
236 /**
236 /**
237 * Execute current code cell to the kernel
237 * Execute current code cell to the kernel
238 * @method execute
238 * @method execute
239 */
239 */
240 CodeCell.prototype.execute = function () {
240 CodeCell.prototype.execute = function () {
241 this.output_area.clear_output(true, true, true);
241 this.output_area.clear_output(true, true, true);
242 this.set_input_prompt('*');
242 this.set_input_prompt('*');
243 this.element.addClass("running");
243 this.element.addClass("running");
244 var callbacks = {
244 var callbacks = {
245 'execute_reply': $.proxy(this._handle_execute_reply, this),
245 'execute_reply': $.proxy(this._handle_execute_reply, this),
246 'output': $.proxy(this.output_area.handle_output, this.output_area),
246 'output': $.proxy(this.output_area.handle_output, this.output_area),
247 'clear_output': $.proxy(this.output_area.handle_clear_output, this.output_area),
247 'clear_output': $.proxy(this.output_area.handle_clear_output, this.output_area),
248 'set_next_input': $.proxy(this._handle_set_next_input, this)
248 'set_next_input': $.proxy(this._handle_set_next_input, this)
249 };
249 };
250 var msg_id = this.kernel.execute(this.get_text(), callbacks, {silent: false});
250 var msg_id = this.kernel.execute(this.get_text(), callbacks, {silent: false});
251 };
251 };
252
252
253 /**
253 /**
254 * @method _handle_execute_reply
254 * @method _handle_execute_reply
255 * @private
255 * @private
256 */
256 */
257 CodeCell.prototype._handle_execute_reply = function (content) {
257 CodeCell.prototype._handle_execute_reply = function (content) {
258 this.set_input_prompt(content.execution_count);
258 this.set_input_prompt(content.execution_count);
259 this.element.removeClass("running");
259 this.element.removeClass("running");
260 $([IPython.events]).trigger('set_dirty.Notebook', {'value': true});
260 $([IPython.events]).trigger('set_dirty.Notebook', {'value': true});
261 }
261 }
262
262
263 CodeCell.prototype._handle_set_next_input = function (text) {
263 CodeCell.prototype._handle_set_next_input = function (text) {
264 var data = {'cell': this, 'text': text}
264 var data = {'cell': this, 'text': text}
265 $([IPython.events]).trigger('set_next_input.Notebook', data);
265 $([IPython.events]).trigger('set_next_input.Notebook', data);
266 }
266 }
267
267
268 // Basic cell manipulation.
268 // Basic cell manipulation.
269
269
270 CodeCell.prototype.select = function () {
270 CodeCell.prototype.select = function () {
271 IPython.Cell.prototype.select.apply(this);
271 IPython.Cell.prototype.select.apply(this);
272 this.code_mirror.refresh();
272 this.code_mirror.refresh();
273 this.code_mirror.focus();
273 this.code_mirror.focus();
274 this.auto_highlight();
274 this.auto_highlight();
275 // We used to need an additional refresh() after the focus, but
275 // We used to need an additional refresh() after the focus, but
276 // it appears that this has been fixed in CM. This bug would show
276 // it appears that this has been fixed in CM. This bug would show
277 // up on FF when a newly loaded markdown cell was edited.
277 // up on FF when a newly loaded markdown cell was edited.
278 };
278 };
279
279
280
280
281 CodeCell.prototype.select_all = function () {
281 CodeCell.prototype.select_all = function () {
282 var start = {line: 0, ch: 0};
282 var start = {line: 0, ch: 0};
283 var nlines = this.code_mirror.lineCount();
283 var nlines = this.code_mirror.lineCount();
284 var last_line = this.code_mirror.getLine(nlines-1);
284 var last_line = this.code_mirror.getLine(nlines-1);
285 var end = {line: nlines-1, ch: last_line.length};
285 var end = {line: nlines-1, ch: last_line.length};
286 this.code_mirror.setSelection(start, end);
286 this.code_mirror.setSelection(start, end);
287 };
287 };
288
288
289
289
290 CodeCell.prototype.collapse = function () {
290 CodeCell.prototype.collapse = function () {
291 this.collapsed = true;
291 this.collapsed = true;
292 this.output_area.collapse();
292 this.output_area.collapse();
293 };
293 };
294
294
295
295
296 CodeCell.prototype.expand = function () {
296 CodeCell.prototype.expand = function () {
297 this.collapsed = false;
297 this.collapsed = false;
298 this.output_area.expand();
298 this.output_area.expand();
299 };
299 };
300
300
301
301
302 CodeCell.prototype.toggle_output = function () {
302 CodeCell.prototype.toggle_output = function () {
303 this.collapsed = Boolean(1 - this.collapsed);
303 this.collapsed = Boolean(1 - this.collapsed);
304 this.output_area.toggle_output();
304 this.output_area.toggle_output();
305 };
305 };
306
306
307
307
308 CodeCell.prototype.toggle_output_scroll = function () {
308 CodeCell.prototype.toggle_output_scroll = function () {
309 this.output_area.toggle_scroll();
309 this.output_area.toggle_scroll();
310 };
310 };
311
311
312
312
313 CodeCell.input_prompt_classical = function (prompt_value, lines_number) {
313 CodeCell.input_prompt_classical = function (prompt_value, lines_number) {
314 var ns = prompt_value || "&nbsp;";
314 var ns = prompt_value || "&nbsp;";
315 return 'In&nbsp;[' + ns + ']:'
315 return 'In&nbsp;[' + ns + ']:'
316 };
316 };
317
317
318 CodeCell.input_prompt_continuation = function (prompt_value, lines_number) {
318 CodeCell.input_prompt_continuation = function (prompt_value, lines_number) {
319 var html = [CodeCell.input_prompt_classical(prompt_value, lines_number)];
319 var html = [CodeCell.input_prompt_classical(prompt_value, lines_number)];
320 for(var i=1; i < lines_number; i++){html.push(['...:'])};
320 for(var i=1; i < lines_number; i++){html.push(['...:'])};
321 return html.join('</br>')
321 return html.join('</br>')
322 };
322 };
323
323
324 CodeCell.input_prompt_function = CodeCell.input_prompt_classical;
324 CodeCell.input_prompt_function = CodeCell.input_prompt_classical;
325
325
326
326
327 CodeCell.prototype.set_input_prompt = function (number) {
327 CodeCell.prototype.set_input_prompt = function (number) {
328 var nline = 1
328 var nline = 1
329 if( this.code_mirror != undefined) {
329 if( this.code_mirror != undefined) {
330 nline = this.code_mirror.lineCount();
330 nline = this.code_mirror.lineCount();
331 }
331 }
332 this.input_prompt_number = number;
332 this.input_prompt_number = number;
333 var prompt_html = CodeCell.input_prompt_function(this.input_prompt_number, nline);
333 var prompt_html = CodeCell.input_prompt_function(this.input_prompt_number, nline);
334 this.element.find('div.input_prompt').html(prompt_html);
334 this.element.find('div.input_prompt').html(prompt_html);
335 };
335 };
336
336
337
337
338 CodeCell.prototype.clear_input = function () {
338 CodeCell.prototype.clear_input = function () {
339 this.code_mirror.setValue('');
339 this.code_mirror.setValue('');
340 };
340 };
341
341
342
342
343 CodeCell.prototype.get_text = function () {
343 CodeCell.prototype.get_text = function () {
344 return this.code_mirror.getValue();
344 return this.code_mirror.getValue();
345 };
345 };
346
346
347
347
348 CodeCell.prototype.set_text = function (code) {
348 CodeCell.prototype.set_text = function (code) {
349 return this.code_mirror.setValue(code);
349 return this.code_mirror.setValue(code);
350 };
350 };
351
351
352
352
353 CodeCell.prototype.at_top = function () {
353 CodeCell.prototype.at_top = function () {
354 var cursor = this.code_mirror.getCursor();
354 var cursor = this.code_mirror.getCursor();
355 if (cursor.line === 0 && cursor.ch === 0) {
355 if (cursor.line === 0 && cursor.ch === 0) {
356 return true;
356 return true;
357 } else {
357 } else {
358 return false;
358 return false;
359 }
359 }
360 };
360 };
361
361
362
362
363 CodeCell.prototype.at_bottom = function () {
363 CodeCell.prototype.at_bottom = function () {
364 var cursor = this.code_mirror.getCursor();
364 var cursor = this.code_mirror.getCursor();
365 if (cursor.line === (this.code_mirror.lineCount()-1) && cursor.ch === this.code_mirror.getLine(cursor.line).length) {
365 if (cursor.line === (this.code_mirror.lineCount()-1) && cursor.ch === this.code_mirror.getLine(cursor.line).length) {
366 return true;
366 return true;
367 } else {
367 } else {
368 return false;
368 return false;
369 }
369 }
370 };
370 };
371
371
372
372
373 CodeCell.prototype.clear_output = function (stdout, stderr, other) {
373 CodeCell.prototype.clear_output = function (stdout, stderr, other) {
374 this.output_area.clear_output(stdout, stderr, other);
374 this.output_area.clear_output(stdout, stderr, other);
375 };
375 };
376
376
377
377
378 // JSON serialization
378 // JSON serialization
379
379
380 CodeCell.prototype.fromJSON = function (data) {
380 CodeCell.prototype.fromJSON = function (data) {
381 IPython.Cell.prototype.fromJSON.apply(this, arguments);
381 IPython.Cell.prototype.fromJSON.apply(this, arguments);
382 if (data.cell_type === 'code') {
382 if (data.cell_type === 'code') {
383 if (data.input !== undefined) {
383 if (data.input !== undefined) {
384 this.set_text(data.input);
384 this.set_text(data.input);
385 // make this value the starting point, so that we can only undo
385 // make this value the starting point, so that we can only undo
386 // to this state, instead of a blank cell
386 // to this state, instead of a blank cell
387 this.code_mirror.clearHistory();
387 this.code_mirror.clearHistory();
388 this.auto_highlight();
388 this.auto_highlight();
389 }
389 }
390 if (data.prompt_number !== undefined) {
390 if (data.prompt_number !== undefined) {
391 this.set_input_prompt(data.prompt_number);
391 this.set_input_prompt(data.prompt_number);
392 } else {
392 } else {
393 this.set_input_prompt();
393 this.set_input_prompt();
394 };
394 };
395 this.output_area.fromJSON(data.outputs);
395 this.output_area.fromJSON(data.outputs);
396 if (data.collapsed !== undefined) {
396 if (data.collapsed !== undefined) {
397 if (data.collapsed) {
397 if (data.collapsed) {
398 this.collapse();
398 this.collapse();
399 } else {
399 } else {
400 this.expand();
400 this.expand();
401 };
401 };
402 };
402 };
403 };
403 };
404 };
404 };
405
405
406
406
407 CodeCell.prototype.toJSON = function () {
407 CodeCell.prototype.toJSON = function () {
408 var data = IPython.Cell.prototype.toJSON.apply(this);
408 var data = IPython.Cell.prototype.toJSON.apply(this);
409 data.input = this.get_text();
409 data.input = this.get_text();
410 data.cell_type = 'code';
410 data.cell_type = 'code';
411 if (this.input_prompt_number) {
411 if (this.input_prompt_number) {
412 data.prompt_number = this.input_prompt_number;
412 data.prompt_number = this.input_prompt_number;
413 };
413 };
414 var outputs = this.output_area.toJSON();
414 var outputs = this.output_area.toJSON();
415 data.outputs = outputs;
415 data.outputs = outputs;
416 data.language = 'python';
416 data.language = 'python';
417 data.collapsed = this.collapsed;
417 data.collapsed = this.collapsed;
418 return data;
418 return data;
419 };
419 };
420
420
421
421
422 IPython.CodeCell = CodeCell;
422 IPython.CodeCell = CodeCell;
423
423
424 return IPython;
424 return IPython;
425 }(IPython));
425 }(IPython));
@@ -1,557 +1,557 b''
1 //----------------------------------------------------------------------------
1 //----------------------------------------------------------------------------
2 // Copyright (C) 2008-2011 The IPython Development Team
2 // Copyright (C) 2008-2011 The IPython Development Team
3 //
3 //
4 // Distributed under the terms of the BSD License. The full license is in
4 // Distributed under the terms of the BSD License. The full license is in
5 // the file COPYING, distributed as part of this software.
5 // the file COPYING, distributed as part of this software.
6 //----------------------------------------------------------------------------
6 //----------------------------------------------------------------------------
7
7
8 //============================================================================
8 //============================================================================
9 // OutputArea
9 // OutputArea
10 //============================================================================
10 //============================================================================
11
11
12 var IPython = (function (IPython) {
12 var IPython = (function (IPython) {
13 "use strict";
13 "use strict";
14
14
15 var utils = IPython.utils;
15 var utils = IPython.utils;
16
16
17 var OutputArea = function (selector, prompt_area) {
17 var OutputArea = function (selector, prompt_area) {
18 this.selector = selector;
18 this.selector = selector;
19 this.wrapper = $(selector);
19 this.wrapper = $(selector);
20 this.outputs = [];
20 this.outputs = [];
21 this.collapsed = false;
21 this.collapsed = false;
22 this.scrolled = false;
22 this.scrolled = false;
23 this.clear_out_timeout = null;
23 this.clear_out_timeout = null;
24 if (prompt_area === undefined) {
24 if (prompt_area === undefined) {
25 this.prompt_area = true;
25 this.prompt_area = true;
26 } else {
26 } else {
27 this.prompt_area = prompt_area;
27 this.prompt_area = prompt_area;
28 }
28 }
29 this.create_elements();
29 this.create_elements();
30 this.style();
30 this.style();
31 this.bind_events();
31 this.bind_events();
32 };
32 };
33
33
34 OutputArea.prototype.create_elements = function () {
34 OutputArea.prototype.create_elements = function () {
35 this.element = $("<div/>");
35 this.element = $("<div/>");
36 this.collapse_button = $("<div/>");
36 this.collapse_button = $("<div/>");
37 this.prompt_overlay = $("<div/>");
37 this.prompt_overlay = $("<div/>");
38 this.wrapper.append(this.prompt_overlay);
38 this.wrapper.append(this.prompt_overlay);
39 this.wrapper.append(this.element);
39 this.wrapper.append(this.element);
40 this.wrapper.append(this.collapse_button);
40 this.wrapper.append(this.collapse_button);
41 };
41 };
42
42
43
43
44 OutputArea.prototype.style = function () {
44 OutputArea.prototype.style = function () {
45 this.collapse_button.hide();
45 this.collapse_button.hide();
46 this.prompt_overlay.hide();
46 this.prompt_overlay.hide();
47
47
48 this.wrapper.addClass('output_wrapper');
48 this.wrapper.addClass('output_wrapper');
49 this.element.addClass('output vbox');
49 this.element.addClass('output vbox');
50
50
51 this.collapse_button.button();
51 this.collapse_button.button();
52 this.collapse_button.addClass('output_collapsed vbox');
52 this.collapse_button.addClass('output_collapsed vbox');
53 this.collapse_button.attr('title', 'click to expand output');
53 this.collapse_button.attr('title', 'click to expand output');
54 this.collapse_button.html('. . .');
54 this.collapse_button.html('. . .');
55
55
56 this.prompt_overlay.addClass('out_prompt_overlay prompt');
56 this.prompt_overlay.addClass('out_prompt_overlay prompt');
57 this.prompt_overlay.attr('title', 'click to expand output; double click to hide output');
57 this.prompt_overlay.attr('title', 'click to expand output; double click to hide output');
58
58
59 this.collapse();
59 this.collapse();
60 };
60 };
61
61
62
62
63 OutputArea.prototype._should_scroll = function (lines) {
63 OutputArea.prototype._should_scroll = function (lines) {
64 if (!lines) {
64 if (!lines) {
65 lines = 100;
65 lines = 100;
66 }
66 }
67 // line-height from http://stackoverflow.com/questions/1185151
67 // line-height from http://stackoverflow.com/questions/1185151
68 var fontSize = this.element.css('font-size');
68 var fontSize = this.element.css('font-size');
69 var lineHeight = Math.floor(parseInt(fontSize.replace('px','')) * 1.5);
69 var lineHeight = Math.floor(parseInt(fontSize.replace('px','')) * 1.5);
70
70
71 return (this.element.height() > lines * lineHeight);
71 return (this.element.height() > lines * lineHeight);
72 };
72 };
73
73
74
74
75 OutputArea.prototype.bind_events = function () {
75 OutputArea.prototype.bind_events = function () {
76 var that = this;
76 var that = this;
77 this.prompt_overlay.dblclick(function () { that.toggle_output(); });
77 this.prompt_overlay.dblclick(function () { that.toggle_output(); });
78 this.prompt_overlay.click(function () { that.toggle_scroll(); });
78 this.prompt_overlay.click(function () { that.toggle_scroll(); });
79
79
80 this.element.resize(function () {
80 this.element.resize(function () {
81 // FIXME: Firefox on Linux misbehaves, so automatic scrolling is disabled
81 // FIXME: Firefox on Linux misbehaves, so automatic scrolling is disabled
82 if ( IPython.utils.browser[0] === "Firefox" ) {
82 if ( IPython.utils.browser[0] === "Firefox" ) {
83 return;
83 return;
84 }
84 }
85 // maybe scroll output,
85 // maybe scroll output,
86 // if it's grown large enough and hasn't already been scrolled.
86 // if it's grown large enough and hasn't already been scrolled.
87 if ( !that.scrolled && that._should_scroll()) {
87 if ( !that.scrolled && that._should_scroll()) {
88 that.scroll_area();
88 that.scroll_area();
89 }
89 }
90 });
90 });
91 this.collapse_button.click(function () {
91 this.collapse_button.click(function () {
92 that.expand();
92 that.expand();
93 });
93 });
94 this.collapse_button.hover(function () {
94 this.collapse_button.hover(function () {
95 $(this).addClass("ui-state-hover");
95 $(this).addClass("ui-state-hover");
96 }, function () {
96 }, function () {
97 $(this).removeClass("ui-state-hover");
97 $(this).removeClass("ui-state-hover");
98 });
98 });
99 };
99 };
100
100
101
101
102 OutputArea.prototype.collapse = function () {
102 OutputArea.prototype.collapse = function () {
103 if (!this.collapsed) {
103 if (!this.collapsed) {
104 this.element.hide();
104 this.element.hide();
105 this.prompt_overlay.hide();
105 this.prompt_overlay.hide();
106 if (this.element.html()){
106 if (this.element.html()){
107 this.collapse_button.show();
107 this.collapse_button.show();
108 }
108 }
109 this.collapsed = true;
109 this.collapsed = true;
110 }
110 }
111 };
111 };
112
112
113
113
114 OutputArea.prototype.expand = function () {
114 OutputArea.prototype.expand = function () {
115 if (this.collapsed) {
115 if (this.collapsed) {
116 this.collapse_button.hide();
116 this.collapse_button.hide();
117 this.element.show();
117 this.element.show();
118 this.prompt_overlay.show();
118 this.prompt_overlay.show();
119 this.collapsed = false;
119 this.collapsed = false;
120 }
120 }
121 };
121 };
122
122
123
123
124 OutputArea.prototype.toggle_output = function () {
124 OutputArea.prototype.toggle_output = function () {
125 if (this.collapsed) {
125 if (this.collapsed) {
126 this.expand();
126 this.expand();
127 } else {
127 } else {
128 this.collapse();
128 this.collapse();
129 }
129 }
130 };
130 };
131
131
132
132
133 OutputArea.prototype.scroll_area = function () {
133 OutputArea.prototype.scroll_area = function () {
134 this.element.addClass('output_scroll');
134 this.element.addClass('output_scroll');
135 this.prompt_overlay.attr('title', 'click to unscroll output; double click to hide');
135 this.prompt_overlay.attr('title', 'click to unscroll output; double click to hide');
136 this.scrolled = true;
136 this.scrolled = true;
137 };
137 };
138
138
139
139
140 OutputArea.prototype.unscroll_area = function () {
140 OutputArea.prototype.unscroll_area = function () {
141 this.element.removeClass('output_scroll');
141 this.element.removeClass('output_scroll');
142 this.prompt_overlay.attr('title', 'click to scroll output; double click to hide');
142 this.prompt_overlay.attr('title', 'click to scroll output; double click to hide');
143 this.scrolled = false;
143 this.scrolled = false;
144 };
144 };
145
145
146
146
147 OutputArea.prototype.scroll_if_long = function (lines) {
147 OutputArea.prototype.scroll_if_long = function (lines) {
148 if (this._should_scroll(lines)) {
148 if (this._should_scroll(lines)) {
149 // only allow scrolling long-enough output
149 // only allow scrolling long-enough output
150 this.scroll_area();
150 this.scroll_area();
151 }
151 }
152 };
152 };
153
153
154
154
155 OutputArea.prototype.toggle_scroll = function () {
155 OutputArea.prototype.toggle_scroll = function () {
156 if (this.scrolled) {
156 if (this.scrolled) {
157 this.unscroll_area();
157 this.unscroll_area();
158 } else {
158 } else {
159 // only allow scrolling long-enough output
159 // only allow scrolling long-enough output
160 this.scroll_if_long(20);
160 this.scroll_if_long(20);
161 }
161 }
162 };
162 };
163
163
164
164
165 // typeset with MathJax if MathJax is available
165 // typeset with MathJax if MathJax is available
166 OutputArea.prototype.typeset = function () {
166 OutputArea.prototype.typeset = function () {
167 if (window.MathJax){
167 if (window.MathJax){
168 MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
168 MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
169 }
169 }
170 };
170 };
171
171
172
172
173 OutputArea.prototype.handle_output = function (msg_type, content) {
173 OutputArea.prototype.handle_output = function (msg_type, content) {
174 var json = {};
174 var json = {};
175 json.output_type = msg_type;
175 json.output_type = msg_type;
176 if (msg_type === "stream") {
176 if (msg_type === "stream") {
177 json.text = content.data;
177 json.text = content.data;
178 json.stream = content.name;
178 json.stream = content.name;
179 } else if (msg_type === "display_data") {
179 } else if (msg_type === "display_data") {
180 json = this.convert_mime_types(json, content.data);
180 json = this.convert_mime_types(json, content.data);
181 } else if (msg_type === "pyout") {
181 } else if (msg_type === "pyout") {
182 json.prompt_number = content.execution_count;
182 json.prompt_number = content.execution_count;
183 json = this.convert_mime_types(json, content.data);
183 json = this.convert_mime_types(json, content.data);
184 } else if (msg_type === "pyerr") {
184 } else if (msg_type === "pyerr") {
185 json.ename = content.ename;
185 json.ename = content.ename;
186 json.evalue = content.evalue;
186 json.evalue = content.evalue;
187 json.traceback = content.traceback;
187 json.traceback = content.traceback;
188 }
188 }
189 // append with dynamic=true
189 // append with dynamic=true
190 this.append_output(json, true);
190 this.append_output(json, true);
191 };
191 };
192
192
193
193
194 OutputArea.prototype.convert_mime_types = function (json, data) {
194 OutputArea.prototype.convert_mime_types = function (json, data) {
195 if (data['text/plain'] !== undefined) {
195 if (data['text/plain'] !== undefined) {
196 json.text = data['text/plain'];
196 json.text = data['text/plain'];
197 }
197 }
198 if (data['text/html'] !== undefined) {
198 if (data['text/html'] !== undefined) {
199 json.html = data['text/html'];
199 json.html = data['text/html'];
200 }
200 }
201 if (data['image/svg+xml'] !== undefined) {
201 if (data['image/svg+xml'] !== undefined) {
202 json.svg = data['image/svg+xml'];
202 json.svg = data['image/svg+xml'];
203 }
203 }
204 if (data['image/png'] !== undefined) {
204 if (data['image/png'] !== undefined) {
205 json.png = data['image/png'];
205 json.png = data['image/png'];
206 }
206 }
207 if (data['image/jpeg'] !== undefined) {
207 if (data['image/jpeg'] !== undefined) {
208 json.jpeg = data['image/jpeg'];
208 json.jpeg = data['image/jpeg'];
209 }
209 }
210 if (data['text/latex'] !== undefined) {
210 if (data['text/latex'] !== undefined) {
211 json.latex = data['text/latex'];
211 json.latex = data['text/latex'];
212 }
212 }
213 if (data['application/json'] !== undefined) {
213 if (data['application/json'] !== undefined) {
214 json.json = data['application/json'];
214 json.json = data['application/json'];
215 }
215 }
216 if (data['application/javascript'] !== undefined) {
216 if (data['application/javascript'] !== undefined) {
217 json.javascript = data['application/javascript'];
217 json.javascript = data['application/javascript'];
218 }
218 }
219 return json;
219 return json;
220 };
220 };
221
221
222
222
223 OutputArea.prototype.append_output = function (json, dynamic) {
223 OutputArea.prototype.append_output = function (json, dynamic) {
224 // If dynamic is true, javascript output will be eval'd.
224 // If dynamic is true, javascript output will be eval'd.
225 this.expand();
225 this.expand();
226 this.flush_clear_timeout();
226 this.flush_clear_timeout();
227 if (json.output_type === 'pyout') {
227 if (json.output_type === 'pyout') {
228 this.append_pyout(json, dynamic);
228 this.append_pyout(json, dynamic);
229 } else if (json.output_type === 'pyerr') {
229 } else if (json.output_type === 'pyerr') {
230 this.append_pyerr(json);
230 this.append_pyerr(json);
231 } else if (json.output_type === 'display_data') {
231 } else if (json.output_type === 'display_data') {
232 this.append_display_data(json, dynamic);
232 this.append_display_data(json, dynamic);
233 } else if (json.output_type === 'stream') {
233 } else if (json.output_type === 'stream') {
234 this.append_stream(json);
234 this.append_stream(json);
235 }
235 }
236 this.outputs.push(json);
236 this.outputs.push(json);
237 var that = this;
237 var that = this;
238 setTimeout(function(){that.element.trigger('resize');}, 100);
238 setTimeout(function(){that.element.trigger('resize');}, 100);
239 };
239 };
240
240
241
241
242 OutputArea.prototype.create_output_area = function () {
242 OutputArea.prototype.create_output_area = function () {
243 var oa = $("<div/>").addClass("hbox output_area");
243 var oa = $("<div/>").addClass("output_area");
244 if (this.prompt_area) {
244 if (this.prompt_area) {
245 oa.append($('<div/>').addClass('prompt'));
245 oa.append($('<div/>').addClass('prompt'));
246 }
246 }
247 return oa;
247 return oa;
248 };
248 };
249
249
250
250
251 OutputArea.prototype.append_pyout = function (json, dynamic) {
251 OutputArea.prototype.append_pyout = function (json, dynamic) {
252 var n = json.prompt_number || ' ';
252 var n = json.prompt_number || ' ';
253 var toinsert = this.create_output_area();
253 var toinsert = this.create_output_area();
254 if (this.prompt_area) {
254 if (this.prompt_area) {
255 toinsert.find('div.prompt').addClass('output_prompt').html('Out[' + n + ']:');
255 toinsert.find('div.prompt').addClass('output_prompt').html('Out[' + n + ']:');
256 }
256 }
257 this.append_mime_type(json, toinsert, dynamic);
257 this.append_mime_type(json, toinsert, dynamic);
258 this.element.append(toinsert);
258 this.element.append(toinsert);
259 // If we just output latex, typeset it.
259 // If we just output latex, typeset it.
260 if ((json.latex !== undefined) || (json.html !== undefined)) {
260 if ((json.latex !== undefined) || (json.html !== undefined)) {
261 this.typeset();
261 this.typeset();
262 }
262 }
263 };
263 };
264
264
265
265
266 OutputArea.prototype.append_pyerr = function (json) {
266 OutputArea.prototype.append_pyerr = function (json) {
267 var tb = json.traceback;
267 var tb = json.traceback;
268 if (tb !== undefined && tb.length > 0) {
268 if (tb !== undefined && tb.length > 0) {
269 var s = '';
269 var s = '';
270 var len = tb.length;
270 var len = tb.length;
271 for (var i=0; i<len; i++) {
271 for (var i=0; i<len; i++) {
272 s = s + tb[i] + '\n';
272 s = s + tb[i] + '\n';
273 }
273 }
274 s = s + '\n';
274 s = s + '\n';
275 var toinsert = this.create_output_area();
275 var toinsert = this.create_output_area();
276 this.append_text(s, toinsert);
276 this.append_text(s, toinsert);
277 this.element.append(toinsert);
277 this.element.append(toinsert);
278 }
278 }
279 };
279 };
280
280
281
281
282 OutputArea.prototype.append_stream = function (json) {
282 OutputArea.prototype.append_stream = function (json) {
283 // temporary fix: if stream undefined (json file written prior to this patch),
283 // temporary fix: if stream undefined (json file written prior to this patch),
284 // default to most likely stdout:
284 // default to most likely stdout:
285 if (json.stream == undefined){
285 if (json.stream == undefined){
286 json.stream = 'stdout';
286 json.stream = 'stdout';
287 }
287 }
288 var text = json.text;
288 var text = json.text;
289 var subclass = "output_"+json.stream;
289 var subclass = "output_"+json.stream;
290 if (this.outputs.length > 0){
290 if (this.outputs.length > 0){
291 // have at least one output to consider
291 // have at least one output to consider
292 var last = this.outputs[this.outputs.length-1];
292 var last = this.outputs[this.outputs.length-1];
293 if (last.output_type == 'stream' && json.stream == last.stream){
293 if (last.output_type == 'stream' && json.stream == last.stream){
294 // latest output was in the same stream,
294 // latest output was in the same stream,
295 // so append directly into its pre tag
295 // so append directly into its pre tag
296 // escape ANSI & HTML specials:
296 // escape ANSI & HTML specials:
297 var pre = this.element.find('div.'+subclass).last().find('pre');
297 var pre = this.element.find('div.'+subclass).last().find('pre');
298 var html = utils.fixCarriageReturn(
298 var html = utils.fixCarriageReturn(
299 pre.html() + utils.fixConsole(text));
299 pre.html() + utils.fixConsole(text));
300 pre.html(html);
300 pre.html(html);
301 return;
301 return;
302 }
302 }
303 }
303 }
304
304
305 if (!text.replace("\r", "")) {
305 if (!text.replace("\r", "")) {
306 // text is nothing (empty string, \r, etc.)
306 // text is nothing (empty string, \r, etc.)
307 // so don't append any elements, which might add undesirable space
307 // so don't append any elements, which might add undesirable space
308 return;
308 return;
309 }
309 }
310
310
311 // If we got here, attach a new div
311 // If we got here, attach a new div
312 var toinsert = this.create_output_area();
312 var toinsert = this.create_output_area();
313 this.append_text(text, toinsert, "output_stream "+subclass);
313 this.append_text(text, toinsert, "output_stream "+subclass);
314 this.element.append(toinsert);
314 this.element.append(toinsert);
315 };
315 };
316
316
317
317
318 OutputArea.prototype.append_display_data = function (json, dynamic) {
318 OutputArea.prototype.append_display_data = function (json, dynamic) {
319 var toinsert = this.create_output_area();
319 var toinsert = this.create_output_area();
320 this.append_mime_type(json, toinsert, dynamic);
320 this.append_mime_type(json, toinsert, dynamic);
321 this.element.append(toinsert);
321 this.element.append(toinsert);
322 // If we just output latex, typeset it.
322 // If we just output latex, typeset it.
323 if ( (json.latex !== undefined) || (json.html !== undefined) ) {
323 if ( (json.latex !== undefined) || (json.html !== undefined) ) {
324 this.typeset();
324 this.typeset();
325 }
325 }
326 };
326 };
327
327
328 OutputArea.display_order = ['javascript','html','latex','svg','png','jpeg','text'];
328 OutputArea.display_order = ['javascript','html','latex','svg','png','jpeg','text'];
329
329
330 OutputArea.prototype.append_mime_type = function (json, element, dynamic) {
330 OutputArea.prototype.append_mime_type = function (json, element, dynamic) {
331 for(var type_i in OutputArea.display_order){
331 for(var type_i in OutputArea.display_order){
332 var type = OutputArea.display_order[type_i];
332 var type = OutputArea.display_order[type_i];
333 if(json[type] != undefined ){
333 if(json[type] != undefined ){
334 if(type == 'javascript'){
334 if(type == 'javascript'){
335 if (dynamic) {
335 if (dynamic) {
336 this.append_javascript(json.javascript, element, dynamic);
336 this.append_javascript(json.javascript, element, dynamic);
337 }
337 }
338 } else {
338 } else {
339 this['append_'+type](json[type], element);
339 this['append_'+type](json[type], element);
340 }
340 }
341 return;
341 return;
342 }
342 }
343 }
343 }
344 };
344 };
345
345
346
346
347 OutputArea.prototype.append_html = function (html, element) {
347 OutputArea.prototype.append_html = function (html, element) {
348 var toinsert = $("<div/>").addClass("box-flex1 output_subarea output_html rendered_html");
348 var toinsert = $("<div/>").addClass("output_subarea output_html rendered_html");
349 toinsert.append(html);
349 toinsert.append(html);
350 element.append(toinsert);
350 element.append(toinsert);
351 };
351 };
352
352
353
353
354 OutputArea.prototype.append_javascript = function (js, container) {
354 OutputArea.prototype.append_javascript = function (js, container) {
355 // We just eval the JS code, element appears in the local scope.
355 // We just eval the JS code, element appears in the local scope.
356 var element = $("<div/>").addClass("box-flex1 output_subarea");
356 var element = $("<div/>").addClass("output_subarea");
357 container.append(element);
357 container.append(element);
358 // Div for js shouldn't be drawn, as it will add empty height to the area.
358 // Div for js shouldn't be drawn, as it will add empty height to the area.
359 container.hide();
359 container.hide();
360 // If the Javascript appends content to `element` that should be drawn, then
360 // If the Javascript appends content to `element` that should be drawn, then
361 // it must also call `container.show()`.
361 // it must also call `container.show()`.
362 try {
362 try {
363 eval(js);
363 eval(js);
364 } catch(err) {
364 } catch(err) {
365 console.log('Error in Javascript!');
365 console.log('Error in Javascript!');
366 console.log(err);
366 console.log(err);
367 container.show();
367 container.show();
368 element.append($('<div/>')
368 element.append($('<div/>')
369 .html("Error in Javascript !<br/>"+
369 .html("Error in Javascript !<br/>"+
370 err.toString()+
370 err.toString()+
371 '<br/>See your browser Javascript console for more details.')
371 '<br/>See your browser Javascript console for more details.')
372 .addClass('js-error')
372 .addClass('js-error')
373 );
373 );
374 }
374 }
375 };
375 };
376
376
377
377
378 OutputArea.prototype.append_text = function (data, element, extra_class) {
378 OutputArea.prototype.append_text = function (data, element, extra_class) {
379 var toinsert = $("<div/>").addClass("box-flex1 output_subarea output_text");
379 var toinsert = $("<div/>").addClass("output_subarea output_text");
380 // escape ANSI & HTML specials in plaintext:
380 // escape ANSI & HTML specials in plaintext:
381 data = utils.fixConsole(data);
381 data = utils.fixConsole(data);
382 data = utils.fixCarriageReturn(data);
382 data = utils.fixCarriageReturn(data);
383 data = utils.autoLinkUrls(data);
383 data = utils.autoLinkUrls(data);
384 if (extra_class){
384 if (extra_class){
385 toinsert.addClass(extra_class);
385 toinsert.addClass(extra_class);
386 }
386 }
387 toinsert.append($("<pre/>").html(data));
387 toinsert.append($("<pre/>").html(data));
388 element.append(toinsert);
388 element.append(toinsert);
389 };
389 };
390
390
391
391
392 OutputArea.prototype.append_svg = function (svg, element) {
392 OutputArea.prototype.append_svg = function (svg, element) {
393 var toinsert = $("<div/>").addClass("box-flex1 output_subarea output_svg");
393 var toinsert = $("<div/>").addClass("output_subarea output_svg");
394 toinsert.append(svg);
394 toinsert.append(svg);
395 element.append(toinsert);
395 element.append(toinsert);
396 };
396 };
397
397
398
398
399 OutputArea.prototype._dblclick_to_reset_size = function (img) {
399 OutputArea.prototype._dblclick_to_reset_size = function (img) {
400 // schedule wrapping image in resizable after a delay,
400 // schedule wrapping image in resizable after a delay,
401 // so we don't end up calling resize on a zero-size object
401 // so we don't end up calling resize on a zero-size object
402 var that = this;
402 var that = this;
403 setTimeout(function () {
403 setTimeout(function () {
404 var h0 = img.height();
404 var h0 = img.height();
405 var w0 = img.width();
405 var w0 = img.width();
406 if (!(h0 && w0)) {
406 if (!(h0 && w0)) {
407 // zero size, schedule another timeout
407 // zero size, schedule another timeout
408 that._dblclick_to_reset_size(img);
408 that._dblclick_to_reset_size(img);
409 return;
409 return;
410 }
410 }
411 img.resizable({
411 img.resizable({
412 aspectRatio: true,
412 aspectRatio: true,
413 autoHide: true
413 autoHide: true
414 });
414 });
415 img.dblclick(function () {
415 img.dblclick(function () {
416 // resize wrapper & image together for some reason:
416 // resize wrapper & image together for some reason:
417 img.parent().height(h0);
417 img.parent().height(h0);
418 img.height(h0);
418 img.height(h0);
419 img.parent().width(w0);
419 img.parent().width(w0);
420 img.width(w0);
420 img.width(w0);
421 });
421 });
422 }, 250);
422 }, 250);
423 };
423 };
424
424
425
425
426 OutputArea.prototype.append_png = function (png, element) {
426 OutputArea.prototype.append_png = function (png, element) {
427 var toinsert = $("<div/>").addClass("box-flex1 output_subarea output_png");
427 var toinsert = $("<div/>").addClass("output_subarea output_png");
428 var img = $("<img/>").attr('src','data:image/png;base64,'+png);
428 var img = $("<img/>").attr('src','data:image/png;base64,'+png);
429 this._dblclick_to_reset_size(img);
429 this._dblclick_to_reset_size(img);
430 toinsert.append(img);
430 toinsert.append(img);
431 element.append(toinsert);
431 element.append(toinsert);
432 };
432 };
433
433
434
434
435 OutputArea.prototype.append_jpeg = function (jpeg, element) {
435 OutputArea.prototype.append_jpeg = function (jpeg, element) {
436 var toinsert = $("<div/>").addClass("box-flex1 output_subarea output_jpeg");
436 var toinsert = $("<div/>").addClass("output_subarea output_jpeg");
437 var img = $("<img/>").attr('src','data:image/jpeg;base64,'+jpeg);
437 var img = $("<img/>").attr('src','data:image/jpeg;base64,'+jpeg);
438 this._dblclick_to_reset_size(img);
438 this._dblclick_to_reset_size(img);
439 toinsert.append(img);
439 toinsert.append(img);
440 element.append(toinsert);
440 element.append(toinsert);
441 };
441 };
442
442
443
443
444 OutputArea.prototype.append_latex = function (latex, element) {
444 OutputArea.prototype.append_latex = function (latex, element) {
445 // This method cannot do the typesetting because the latex first has to
445 // This method cannot do the typesetting because the latex first has to
446 // be on the page.
446 // be on the page.
447 var toinsert = $("<div/>").addClass("box-flex1 output_subarea output_latex");
447 var toinsert = $("<div/>").addClass("output_subarea output_latex");
448 toinsert.append(latex);
448 toinsert.append(latex);
449 element.append(toinsert);
449 element.append(toinsert);
450 };
450 };
451
451
452
452
453 OutputArea.prototype.handle_clear_output = function (content) {
453 OutputArea.prototype.handle_clear_output = function (content) {
454 this.clear_output(content.stdout, content.stderr, content.other);
454 this.clear_output(content.stdout, content.stderr, content.other);
455 };
455 };
456
456
457
457
458 OutputArea.prototype.clear_output = function (stdout, stderr, other) {
458 OutputArea.prototype.clear_output = function (stdout, stderr, other) {
459 var that = this;
459 var that = this;
460 if (this.clear_out_timeout != null){
460 if (this.clear_out_timeout != null){
461 // fire previous pending clear *immediately*
461 // fire previous pending clear *immediately*
462 clearTimeout(this.clear_out_timeout);
462 clearTimeout(this.clear_out_timeout);
463 this.clear_out_timeout = null;
463 this.clear_out_timeout = null;
464 this.clear_output_callback(this._clear_stdout, this._clear_stderr, this._clear_other);
464 this.clear_output_callback(this._clear_stdout, this._clear_stderr, this._clear_other);
465 }
465 }
466 // store flags for flushing the timeout
466 // store flags for flushing the timeout
467 this._clear_stdout = stdout;
467 this._clear_stdout = stdout;
468 this._clear_stderr = stderr;
468 this._clear_stderr = stderr;
469 this._clear_other = other;
469 this._clear_other = other;
470 this.clear_out_timeout = setTimeout(function() {
470 this.clear_out_timeout = setTimeout(function() {
471 // really clear timeout only after a short delay
471 // really clear timeout only after a short delay
472 // this reduces flicker in 'clear_output; print' cases
472 // this reduces flicker in 'clear_output; print' cases
473 that.clear_out_timeout = null;
473 that.clear_out_timeout = null;
474 that._clear_stdout = that._clear_stderr = that._clear_other = null;
474 that._clear_stdout = that._clear_stderr = that._clear_other = null;
475 that.clear_output_callback(stdout, stderr, other);
475 that.clear_output_callback(stdout, stderr, other);
476 }, 500
476 }, 500
477 );
477 );
478 };
478 };
479
479
480
480
481 OutputArea.prototype.clear_output_callback = function (stdout, stderr, other) {
481 OutputArea.prototype.clear_output_callback = function (stdout, stderr, other) {
482 var output_div = this.element;
482 var output_div = this.element;
483
483
484 if (stdout && stderr && other){
484 if (stdout && stderr && other){
485 // clear all, no need for logic
485 // clear all, no need for logic
486 output_div.html("");
486 output_div.html("");
487 this.outputs = [];
487 this.outputs = [];
488 this.unscroll_area();
488 this.unscroll_area();
489 return;
489 return;
490 }
490 }
491 // remove html output
491 // remove html output
492 // each output_subarea that has an identifying class is in an output_area
492 // each output_subarea that has an identifying class is in an output_area
493 // which is the element to be removed.
493 // which is the element to be removed.
494 if (stdout) {
494 if (stdout) {
495 output_div.find("div.output_stdout").parent().remove();
495 output_div.find("div.output_stdout").parent().remove();
496 }
496 }
497 if (stderr) {
497 if (stderr) {
498 output_div.find("div.output_stderr").parent().remove();
498 output_div.find("div.output_stderr").parent().remove();
499 }
499 }
500 if (other) {
500 if (other) {
501 output_div.find("div.output_subarea").not("div.output_stderr").not("div.output_stdout").parent().remove();
501 output_div.find("div.output_subarea").not("div.output_stderr").not("div.output_stdout").parent().remove();
502 }
502 }
503 this.unscroll_area();
503 this.unscroll_area();
504
504
505 // remove cleared outputs from JSON list:
505 // remove cleared outputs from JSON list:
506 for (var i = this.outputs.length - 1; i >= 0; i--) {
506 for (var i = this.outputs.length - 1; i >= 0; i--) {
507 var out = this.outputs[i];
507 var out = this.outputs[i];
508 var output_type = out.output_type;
508 var output_type = out.output_type;
509 if (output_type == "display_data" && other) {
509 if (output_type == "display_data" && other) {
510 this.outputs.splice(i,1);
510 this.outputs.splice(i,1);
511 } else if (output_type == "stream") {
511 } else if (output_type == "stream") {
512 if (stdout && out.stream == "stdout") {
512 if (stdout && out.stream == "stdout") {
513 this.outputs.splice(i,1);
513 this.outputs.splice(i,1);
514 } else if (stderr && out.stream == "stderr") {
514 } else if (stderr && out.stream == "stderr") {
515 this.outputs.splice(i,1);
515 this.outputs.splice(i,1);
516 }
516 }
517 }
517 }
518 }
518 }
519 };
519 };
520
520
521
521
522 OutputArea.prototype.flush_clear_timeout = function() {
522 OutputArea.prototype.flush_clear_timeout = function() {
523 var output_div = this.element;
523 var output_div = this.element;
524 if (this.clear_out_timeout){
524 if (this.clear_out_timeout){
525 clearTimeout(this.clear_out_timeout);
525 clearTimeout(this.clear_out_timeout);
526 this.clear_out_timeout = null;
526 this.clear_out_timeout = null;
527 this.clear_output_callback(this._clear_stdout, this._clear_stderr, this._clear_other);
527 this.clear_output_callback(this._clear_stdout, this._clear_stderr, this._clear_other);
528 }
528 }
529 };
529 };
530
530
531
531
532 // JSON serialization
532 // JSON serialization
533
533
534 OutputArea.prototype.fromJSON = function (outputs) {
534 OutputArea.prototype.fromJSON = function (outputs) {
535 var len = outputs.length;
535 var len = outputs.length;
536 for (var i=0; i<len; i++) {
536 for (var i=0; i<len; i++) {
537 // append with dynamic=false.
537 // append with dynamic=false.
538 this.append_output(outputs[i], false);
538 this.append_output(outputs[i], false);
539 }
539 }
540 };
540 };
541
541
542
542
543 OutputArea.prototype.toJSON = function () {
543 OutputArea.prototype.toJSON = function () {
544 var outputs = [];
544 var outputs = [];
545 var len = this.outputs.length;
545 var len = this.outputs.length;
546 for (var i=0; i<len; i++) {
546 for (var i=0; i<len; i++) {
547 outputs[i] = this.outputs[i];
547 outputs[i] = this.outputs[i];
548 }
548 }
549 return outputs;
549 return outputs;
550 };
550 };
551
551
552
552
553 IPython.OutputArea = OutputArea;
553 IPython.OutputArea = OutputArea;
554
554
555 return IPython;
555 return IPython;
556
556
557 }(IPython));
557 }(IPython));
@@ -1,598 +1,598 b''
1 //----------------------------------------------------------------------------
1 //----------------------------------------------------------------------------
2 // Copyright (C) 2008-2012 The IPython Development Team
2 // Copyright (C) 2008-2012 The IPython Development Team
3 //
3 //
4 // Distributed under the terms of the BSD License. The full license is in
4 // Distributed under the terms of the BSD License. The full license is in
5 // the file COPYING, distributed as part of this software.
5 // the file COPYING, distributed as part of this software.
6 //----------------------------------------------------------------------------
6 //----------------------------------------------------------------------------
7
7
8 //============================================================================
8 //============================================================================
9 // TextCell
9 // TextCell
10 //============================================================================
10 //============================================================================
11
11
12
12
13
13
14 /**
14 /**
15 A module that allow to create different type of Text Cell
15 A module that allow to create different type of Text Cell
16 @module IPython
16 @module IPython
17 @namespace IPython
17 @namespace IPython
18 */
18 */
19 var IPython = (function (IPython) {
19 var IPython = (function (IPython) {
20
20
21 // TextCell base class
21 // TextCell base class
22 var key = IPython.utils.keycodes;
22 var key = IPython.utils.keycodes;
23
23
24 /**
24 /**
25 * Construct a new TextCell, codemirror mode is by default 'htmlmixed', and cell type is 'text'
25 * Construct a new TextCell, codemirror mode is by default 'htmlmixed', and cell type is 'text'
26 * cell start as not redered.
26 * cell start as not redered.
27 *
27 *
28 * @class TextCell
28 * @class TextCell
29 * @constructor TextCell
29 * @constructor TextCell
30 * @extend Ipython.Cell
30 * @extend Ipython.Cell
31 * @param {object|undefined} [options]
31 * @param {object|undefined} [options]
32 * @param [options.cm_config] {object} config to pass to CodeMirror, will extend/overwrite default config
32 * @param [options.cm_config] {object} config to pass to CodeMirror, will extend/overwrite default config
33 * @param [options.placeholder] {string} default string to use when souce in empty for rendering (only use in some TextCell subclass)
33 * @param [options.placeholder] {string} default string to use when souce in empty for rendering (only use in some TextCell subclass)
34 */
34 */
35 var TextCell = function (options) {
35 var TextCell = function (options) {
36 // in all TextCell/Cell subclasses
36 // in all TextCell/Cell subclasses
37 // do not assign most of members here, just pass it down
37 // do not assign most of members here, just pass it down
38 // in the options dict potentially overwriting what you wish.
38 // in the options dict potentially overwriting what you wish.
39 // they will be assigned in the base class.
39 // they will be assigned in the base class.
40
40
41 // we cannot put this as a class key as it has handle to "this".
41 // we cannot put this as a class key as it has handle to "this".
42 var cm_overwrite_options = {
42 var cm_overwrite_options = {
43 onKeyEvent: $.proxy(this.handle_codemirror_keyevent,this)
43 onKeyEvent: $.proxy(this.handle_codemirror_keyevent,this)
44 };
44 };
45
45
46 options = this.mergeopt(TextCell,options,{cm_config:cm_overwrite_options});
46 options = this.mergeopt(TextCell,options,{cm_config:cm_overwrite_options});
47
47
48 IPython.Cell.apply(this, [options]);
48 IPython.Cell.apply(this, [options]);
49
49
50
50
51 this.rendered = false;
51 this.rendered = false;
52 this.cell_type = this.cell_type || 'text';
52 this.cell_type = this.cell_type || 'text';
53 };
53 };
54
54
55 TextCell.prototype = new IPython.Cell();
55 TextCell.prototype = new IPython.Cell();
56
56
57 TextCell.options_default = {
57 TextCell.options_default = {
58 cm_config : {
58 cm_config : {
59 extraKeys: {"Tab": "indentMore","Shift-Tab" : "indentLess"},
59 extraKeys: {"Tab": "indentMore","Shift-Tab" : "indentLess"},
60 mode: 'htmlmixed',
60 mode: 'htmlmixed',
61 lineWrapping : true,
61 lineWrapping : true,
62 }
62 }
63 };
63 };
64
64
65
65
66
66
67 /**
67 /**
68 * Create the DOM element of the TextCell
68 * Create the DOM element of the TextCell
69 * @method create_element
69 * @method create_element
70 * @private
70 * @private
71 */
71 */
72 TextCell.prototype.create_element = function () {
72 TextCell.prototype.create_element = function () {
73 IPython.Cell.prototype.create_element.apply(this, arguments);
73 IPython.Cell.prototype.create_element.apply(this, arguments);
74 var cell = $("<div>").addClass('cell text_cell border-box-sizing vbox');
74 var cell = $("<div>").addClass('cell text_cell border-box-sizing');
75 cell.attr('tabindex','2');
75 cell.attr('tabindex','2');
76
76
77 this.celltoolbar = new IPython.CellToolbar(this);
77 this.celltoolbar = new IPython.CellToolbar(this);
78 cell.append(this.celltoolbar.element);
78 cell.append(this.celltoolbar.element);
79
79
80 var input_area = $('<div/>').addClass('text_cell_input border-box-sizing');
80 var input_area = $('<div/>').addClass('text_cell_input border-box-sizing');
81 this.code_mirror = CodeMirror(input_area.get(0), this.cm_config);
81 this.code_mirror = CodeMirror(input_area.get(0), this.cm_config);
82
82
83 // The tabindex=-1 makes this div focusable.
83 // The tabindex=-1 makes this div focusable.
84 var render_area = $('<div/>').addClass('text_cell_render border-box-sizing').
84 var render_area = $('<div/>').addClass('text_cell_render border-box-sizing').
85 addClass('rendered_html').attr('tabindex','-1');
85 addClass('rendered_html').attr('tabindex','-1');
86 cell.append(input_area).append(render_area);
86 cell.append(input_area).append(render_area);
87 this.element = cell;
87 this.element = cell;
88 };
88 };
89
89
90
90
91 /**
91 /**
92 * Bind the DOM evet to cell actions
92 * Bind the DOM evet to cell actions
93 * Need to be called after TextCell.create_element
93 * Need to be called after TextCell.create_element
94 * @private
94 * @private
95 * @method bind_event
95 * @method bind_event
96 */
96 */
97 TextCell.prototype.bind_events = function () {
97 TextCell.prototype.bind_events = function () {
98 IPython.Cell.prototype.bind_events.apply(this);
98 IPython.Cell.prototype.bind_events.apply(this);
99 var that = this;
99 var that = this;
100 this.element.keydown(function (event) {
100 this.element.keydown(function (event) {
101 if (event.which === 13 && !event.shiftKey) {
101 if (event.which === 13 && !event.shiftKey) {
102 if (that.rendered) {
102 if (that.rendered) {
103 that.edit();
103 that.edit();
104 return false;
104 return false;
105 };
105 };
106 };
106 };
107 });
107 });
108 this.element.dblclick(function () {
108 this.element.dblclick(function () {
109 that.edit();
109 that.edit();
110 });
110 });
111 };
111 };
112
112
113 /**
113 /**
114 * This method gets called in CodeMirror's onKeyDown/onKeyPress
114 * This method gets called in CodeMirror's onKeyDown/onKeyPress
115 * handlers and is used to provide custom key handling.
115 * handlers and is used to provide custom key handling.
116 *
116 *
117 * Subclass should override this method to have custom handeling
117 * Subclass should override this method to have custom handeling
118 *
118 *
119 * @method handle_codemirror_keyevent
119 * @method handle_codemirror_keyevent
120 * @param {CodeMirror} editor - The codemirror instance bound to the cell
120 * @param {CodeMirror} editor - The codemirror instance bound to the cell
121 * @param {event} event -
121 * @param {event} event -
122 * @return {Boolean} `true` if CodeMirror should ignore the event, `false` Otherwise
122 * @return {Boolean} `true` if CodeMirror should ignore the event, `false` Otherwise
123 */
123 */
124 TextCell.prototype.handle_codemirror_keyevent = function (editor, event) {
124 TextCell.prototype.handle_codemirror_keyevent = function (editor, event) {
125
125
126 if (event.keyCode === 13 && (event.shiftKey || event.ctrlKey)) {
126 if (event.keyCode === 13 && (event.shiftKey || event.ctrlKey)) {
127 // Always ignore shift-enter in CodeMirror as we handle it.
127 // Always ignore shift-enter in CodeMirror as we handle it.
128 return true;
128 return true;
129 }
129 }
130 return false;
130 return false;
131 };
131 };
132
132
133 /**
133 /**
134 * Select the current cell and trigger 'focus'
134 * Select the current cell and trigger 'focus'
135 * @method select
135 * @method select
136 */
136 */
137 TextCell.prototype.select = function () {
137 TextCell.prototype.select = function () {
138 IPython.Cell.prototype.select.apply(this);
138 IPython.Cell.prototype.select.apply(this);
139 var output = this.element.find("div.text_cell_render");
139 var output = this.element.find("div.text_cell_render");
140 output.trigger('focus');
140 output.trigger('focus');
141 };
141 };
142
142
143 /**
143 /**
144 * unselect the current cell and `render` it
144 * unselect the current cell and `render` it
145 * @method unselect
145 * @method unselect
146 */
146 */
147 TextCell.prototype.unselect = function() {
147 TextCell.prototype.unselect = function() {
148 // render on selection of another cell
148 // render on selection of another cell
149 this.render();
149 this.render();
150 IPython.Cell.prototype.unselect.apply(this);
150 IPython.Cell.prototype.unselect.apply(this);
151 };
151 };
152
152
153 /**
153 /**
154 *
154 *
155 * put the current cell in edition mode
155 * put the current cell in edition mode
156 * @method edit
156 * @method edit
157 */
157 */
158 TextCell.prototype.edit = function () {
158 TextCell.prototype.edit = function () {
159 if ( this.read_only ) return;
159 if ( this.read_only ) return;
160 if (this.rendered === true) {
160 if (this.rendered === true) {
161 var text_cell = this.element;
161 var text_cell = this.element;
162 var output = text_cell.find("div.text_cell_render");
162 var output = text_cell.find("div.text_cell_render");
163 output.hide();
163 output.hide();
164 text_cell.find('div.text_cell_input').show();
164 text_cell.find('div.text_cell_input').show();
165 this.code_mirror.refresh();
165 this.code_mirror.refresh();
166 this.code_mirror.focus();
166 this.code_mirror.focus();
167 // We used to need an additional refresh() after the focus, but
167 // We used to need an additional refresh() after the focus, but
168 // it appears that this has been fixed in CM. This bug would show
168 // it appears that this has been fixed in CM. This bug would show
169 // up on FF when a newly loaded markdown cell was edited.
169 // up on FF when a newly loaded markdown cell was edited.
170 this.rendered = false;
170 this.rendered = false;
171 if (this.get_text() === this.placeholder) {
171 if (this.get_text() === this.placeholder) {
172 this.set_text('');
172 this.set_text('');
173 this.refresh();
173 this.refresh();
174 }
174 }
175 }
175 }
176 };
176 };
177
177
178
178
179 /**
179 /**
180 * Empty, Subclasses must define render.
180 * Empty, Subclasses must define render.
181 * @method render
181 * @method render
182 */
182 */
183 TextCell.prototype.render = function () {};
183 TextCell.prototype.render = function () {};
184
184
185
185
186 /**
186 /**
187 * setter: {{#crossLink "TextCell/set_text"}}{{/crossLink}}
187 * setter: {{#crossLink "TextCell/set_text"}}{{/crossLink}}
188 * @method get_text
188 * @method get_text
189 * @retrun {string} CodeMirror current text value
189 * @retrun {string} CodeMirror current text value
190 */
190 */
191 TextCell.prototype.get_text = function() {
191 TextCell.prototype.get_text = function() {
192 return this.code_mirror.getValue();
192 return this.code_mirror.getValue();
193 };
193 };
194
194
195 /**
195 /**
196 * @param {string} text - Codemiror text value
196 * @param {string} text - Codemiror text value
197 * @see TextCell#get_text
197 * @see TextCell#get_text
198 * @method set_text
198 * @method set_text
199 * */
199 * */
200 TextCell.prototype.set_text = function(text) {
200 TextCell.prototype.set_text = function(text) {
201 this.code_mirror.setValue(text);
201 this.code_mirror.setValue(text);
202 this.code_mirror.refresh();
202 this.code_mirror.refresh();
203 };
203 };
204
204
205 /**
205 /**
206 * setter :{{#crossLink "TextCell/set_rendered"}}{{/crossLink}}
206 * setter :{{#crossLink "TextCell/set_rendered"}}{{/crossLink}}
207 * @method get_rendered
207 * @method get_rendered
208 * @return {html} html of rendered element
208 * @return {html} html of rendered element
209 * */
209 * */
210 TextCell.prototype.get_rendered = function() {
210 TextCell.prototype.get_rendered = function() {
211 return this.element.find('div.text_cell_render').html();
211 return this.element.find('div.text_cell_render').html();
212 };
212 };
213
213
214 /**
214 /**
215 * @method set_rendered
215 * @method set_rendered
216 */
216 */
217 TextCell.prototype.set_rendered = function(text) {
217 TextCell.prototype.set_rendered = function(text) {
218 this.element.find('div.text_cell_render').html(text);
218 this.element.find('div.text_cell_render').html(text);
219 };
219 };
220
220
221 /**
221 /**
222 * not deprecated, but implementation wrong
222 * not deprecated, but implementation wrong
223 * @method at_top
223 * @method at_top
224 * @deprecated
224 * @deprecated
225 * @return {Boolean} true is cell rendered, false otherwise
225 * @return {Boolean} true is cell rendered, false otherwise
226 * I doubt this is what it is supposed to do
226 * I doubt this is what it is supposed to do
227 * this implementation is completly false
227 * this implementation is completly false
228 */
228 */
229 TextCell.prototype.at_top = function () {
229 TextCell.prototype.at_top = function () {
230 if (this.rendered) {
230 if (this.rendered) {
231 return true;
231 return true;
232 } else {
232 } else {
233 return false;
233 return false;
234 }
234 }
235 };
235 };
236
236
237
237
238 /**
238 /**
239 * not deprecated, but implementation wrong
239 * not deprecated, but implementation wrong
240 * @method at_bottom
240 * @method at_bottom
241 * @deprecated
241 * @deprecated
242 * @return {Boolean} true is cell rendered, false otherwise
242 * @return {Boolean} true is cell rendered, false otherwise
243 * I doubt this is what it is supposed to do
243 * I doubt this is what it is supposed to do
244 * this implementation is completly false
244 * this implementation is completly false
245 * */
245 * */
246 TextCell.prototype.at_bottom = function () {
246 TextCell.prototype.at_bottom = function () {
247 if (this.rendered) {
247 if (this.rendered) {
248 return true;
248 return true;
249 } else {
249 } else {
250 return false;
250 return false;
251 }
251 }
252 };
252 };
253
253
254 /**
254 /**
255 * Create Text cell from JSON
255 * Create Text cell from JSON
256 * @param {json} data - JSON serialized text-cell
256 * @param {json} data - JSON serialized text-cell
257 * @method fromJSON
257 * @method fromJSON
258 */
258 */
259 TextCell.prototype.fromJSON = function (data) {
259 TextCell.prototype.fromJSON = function (data) {
260 IPython.Cell.prototype.fromJSON.apply(this, arguments);
260 IPython.Cell.prototype.fromJSON.apply(this, arguments);
261 if (data.cell_type === this.cell_type) {
261 if (data.cell_type === this.cell_type) {
262 if (data.source !== undefined) {
262 if (data.source !== undefined) {
263 this.set_text(data.source);
263 this.set_text(data.source);
264 // make this value the starting point, so that we can only undo
264 // make this value the starting point, so that we can only undo
265 // to this state, instead of a blank cell
265 // to this state, instead of a blank cell
266 this.code_mirror.clearHistory();
266 this.code_mirror.clearHistory();
267 this.set_rendered(data.rendered || '');
267 this.set_rendered(data.rendered || '');
268 this.rendered = false;
268 this.rendered = false;
269 this.render();
269 this.render();
270 }
270 }
271 }
271 }
272 };
272 };
273
273
274 /** Generate JSON from cell
274 /** Generate JSON from cell
275 * @return {object} cell data serialised to json
275 * @return {object} cell data serialised to json
276 */
276 */
277 TextCell.prototype.toJSON = function () {
277 TextCell.prototype.toJSON = function () {
278 var data = IPython.Cell.prototype.toJSON.apply(this);
278 var data = IPython.Cell.prototype.toJSON.apply(this);
279 data.cell_type = this.cell_type;
279 data.cell_type = this.cell_type;
280 data.source = this.get_text();
280 data.source = this.get_text();
281 return data;
281 return data;
282 };
282 };
283
283
284
284
285 /**
285 /**
286 * @constructor HtmlCell
286 * @constructor HtmlCell
287 * @class HtmlCell
287 * @class HtmlCell
288 * @extends Ipython.TextCell
288 * @extends Ipython.TextCell
289 */
289 */
290 var HTMLCell = function (options) {
290 var HTMLCell = function (options) {
291
291
292 options = this.mergeopt(HTMLCell,options);
292 options = this.mergeopt(HTMLCell,options);
293 TextCell.apply(this, [options]);
293 TextCell.apply(this, [options]);
294
294
295 this.cell_type = 'html';
295 this.cell_type = 'html';
296 };
296 };
297
297
298 HTMLCell.options_default = {
298 HTMLCell.options_default = {
299 cm_config : {
299 cm_config : {
300 mode: 'htmlmixed',
300 mode: 'htmlmixed',
301 },
301 },
302 placeholder: "Type <strong>HTML</strong> and LaTeX: $\\alpha^2$"
302 placeholder: "Type <strong>HTML</strong> and LaTeX: $\\alpha^2$"
303 };
303 };
304
304
305
305
306 HTMLCell.prototype = new TextCell();
306 HTMLCell.prototype = new TextCell();
307
307
308 /**
308 /**
309 * @method render
309 * @method render
310 */
310 */
311 HTMLCell.prototype.render = function () {
311 HTMLCell.prototype.render = function () {
312 if (this.rendered === false) {
312 if (this.rendered === false) {
313 var text = this.get_text();
313 var text = this.get_text();
314 if (text === "") { text = this.placeholder; }
314 if (text === "") { text = this.placeholder; }
315 this.set_rendered(text);
315 this.set_rendered(text);
316 this.typeset();
316 this.typeset();
317 this.element.find('div.text_cell_input').hide();
317 this.element.find('div.text_cell_input').hide();
318 this.element.find("div.text_cell_render").show();
318 this.element.find("div.text_cell_render").show();
319 this.rendered = true;
319 this.rendered = true;
320 }
320 }
321 };
321 };
322
322
323
323
324 /**
324 /**
325 * @class MarkdownCell
325 * @class MarkdownCell
326 * @constructor MarkdownCell
326 * @constructor MarkdownCell
327 * @extends Ipython.HtmlCell
327 * @extends Ipython.HtmlCell
328 */
328 */
329 var MarkdownCell = function (options) {
329 var MarkdownCell = function (options) {
330 var options = options || {};
330 var options = options || {};
331
331
332 options = this.mergeopt(MarkdownCell,options);
332 options = this.mergeopt(MarkdownCell,options);
333 TextCell.apply(this, [options]);
333 TextCell.apply(this, [options]);
334
334
335 this.cell_type = 'markdown';
335 this.cell_type = 'markdown';
336 };
336 };
337
337
338 MarkdownCell.options_default = {
338 MarkdownCell.options_default = {
339 cm_config: {
339 cm_config: {
340 mode: 'markdown'
340 mode: 'markdown'
341 },
341 },
342 placeholder: "Type *Markdown* and LaTeX: $\\alpha^2$"
342 placeholder: "Type *Markdown* and LaTeX: $\\alpha^2$"
343 }
343 }
344
344
345
345
346
346
347
347
348 MarkdownCell.prototype = new TextCell();
348 MarkdownCell.prototype = new TextCell();
349
349
350 /**
350 /**
351 * @method render
351 * @method render
352 */
352 */
353 MarkdownCell.prototype.render = function () {
353 MarkdownCell.prototype.render = function () {
354 if (this.rendered === false) {
354 if (this.rendered === false) {
355 var text = this.get_text();
355 var text = this.get_text();
356 if (text === "") { text = this.placeholder; }
356 if (text === "") { text = this.placeholder; }
357 text = IPython.mathjaxutils.remove_math(text)
357 text = IPython.mathjaxutils.remove_math(text)
358 var html = IPython.markdown_converter.makeHtml(text);
358 var html = IPython.markdown_converter.makeHtml(text);
359 html = IPython.mathjaxutils.replace_math(html)
359 html = IPython.mathjaxutils.replace_math(html)
360 try {
360 try {
361 this.set_rendered(html);
361 this.set_rendered(html);
362 } catch (e) {
362 } catch (e) {
363 console.log("Error running Javascript in Markdown:");
363 console.log("Error running Javascript in Markdown:");
364 console.log(e);
364 console.log(e);
365 this.set_rendered($("<div/>").addClass("js-error").html(
365 this.set_rendered($("<div/>").addClass("js-error").html(
366 "Error rendering Markdown!<br/>" + e.toString())
366 "Error rendering Markdown!<br/>" + e.toString())
367 );
367 );
368 }
368 }
369 this.element.find('div.text_cell_input').hide();
369 this.element.find('div.text_cell_input').hide();
370 this.element.find("div.text_cell_render").show();
370 this.element.find("div.text_cell_render").show();
371 var code_snippets = this.element.find("pre > code");
371 var code_snippets = this.element.find("pre > code");
372 code_snippets.replaceWith(function () {
372 code_snippets.replaceWith(function () {
373 var code = $(this).html();
373 var code = $(this).html();
374 /* Substitute br for newlines and &nbsp; for spaces
374 /* Substitute br for newlines and &nbsp; for spaces
375 before highlighting, since prettify doesn't
375 before highlighting, since prettify doesn't
376 preserve those on all browsers */
376 preserve those on all browsers */
377 code = code.replace(/(\r\n|\n|\r)/gm, "<br/>");
377 code = code.replace(/(\r\n|\n|\r)/gm, "<br/>");
378 code = code.replace(/ /gm, '&nbsp;');
378 code = code.replace(/ /gm, '&nbsp;');
379 code = prettyPrintOne(code);
379 code = prettyPrintOne(code);
380
380
381 return '<code class="prettyprint">' + code + '</code>';
381 return '<code class="prettyprint">' + code + '</code>';
382 });
382 });
383 this.typeset()
383 this.typeset()
384 this.rendered = true;
384 this.rendered = true;
385 }
385 }
386 };
386 };
387
387
388
388
389 // RawCell
389 // RawCell
390
390
391 /**
391 /**
392 * @class RawCell
392 * @class RawCell
393 * @constructor RawCell
393 * @constructor RawCell
394 * @extends Ipython.TextCell
394 * @extends Ipython.TextCell
395 */
395 */
396 var RawCell = function (options) {
396 var RawCell = function (options) {
397
397
398 options = this.mergeopt(RawCell,options)
398 options = this.mergeopt(RawCell,options)
399 TextCell.apply(this, [options]);
399 TextCell.apply(this, [options]);
400
400
401 this.cell_type = 'raw';
401 this.cell_type = 'raw';
402
402
403 var that = this
403 var that = this
404 this.element.focusout(
404 this.element.focusout(
405 function() { that.auto_highlight(); }
405 function() { that.auto_highlight(); }
406 );
406 );
407 };
407 };
408
408
409 RawCell.options_default = {
409 RawCell.options_default = {
410 placeholder : "Type plain text and LaTeX: $\\alpha^2$"
410 placeholder : "Type plain text and LaTeX: $\\alpha^2$"
411 };
411 };
412
412
413
413
414
414
415 RawCell.prototype = new TextCell();
415 RawCell.prototype = new TextCell();
416
416
417 /**
417 /**
418 * Trigger autodetection of highlight scheme for current cell
418 * Trigger autodetection of highlight scheme for current cell
419 * @method auto_highlight
419 * @method auto_highlight
420 */
420 */
421 RawCell.prototype.auto_highlight = function () {
421 RawCell.prototype.auto_highlight = function () {
422 this._auto_highlight(IPython.config.raw_cell_highlight);
422 this._auto_highlight(IPython.config.raw_cell_highlight);
423 };
423 };
424
424
425 /** @method render **/
425 /** @method render **/
426 RawCell.prototype.render = function () {
426 RawCell.prototype.render = function () {
427 this.rendered = true;
427 this.rendered = true;
428 this.edit();
428 this.edit();
429 };
429 };
430
430
431
431
432 /** @method handle_codemirror_keyevent **/
432 /** @method handle_codemirror_keyevent **/
433 RawCell.prototype.handle_codemirror_keyevent = function (editor, event) {
433 RawCell.prototype.handle_codemirror_keyevent = function (editor, event) {
434
434
435 var that = this;
435 var that = this;
436 if (event.which === key.UPARROW && event.type === 'keydown') {
436 if (event.which === key.UPARROW && event.type === 'keydown') {
437 // If we are not at the top, let CM handle the up arrow and
437 // If we are not at the top, let CM handle the up arrow and
438 // prevent the global keydown handler from handling it.
438 // prevent the global keydown handler from handling it.
439 if (!that.at_top()) {
439 if (!that.at_top()) {
440 event.stop();
440 event.stop();
441 return false;
441 return false;
442 } else {
442 } else {
443 return true;
443 return true;
444 };
444 };
445 } else if (event.which === key.DOWNARROW && event.type === 'keydown') {
445 } else if (event.which === key.DOWNARROW && event.type === 'keydown') {
446 // If we are not at the bottom, let CM handle the down arrow and
446 // If we are not at the bottom, let CM handle the down arrow and
447 // prevent the global keydown handler from handling it.
447 // prevent the global keydown handler from handling it.
448 if (!that.at_bottom()) {
448 if (!that.at_bottom()) {
449 event.stop();
449 event.stop();
450 return false;
450 return false;
451 } else {
451 } else {
452 return true;
452 return true;
453 };
453 };
454 };
454 };
455 return false;
455 return false;
456 };
456 };
457
457
458 /** @method select **/
458 /** @method select **/
459 RawCell.prototype.select = function () {
459 RawCell.prototype.select = function () {
460 IPython.Cell.prototype.select.apply(this);
460 IPython.Cell.prototype.select.apply(this);
461 this.code_mirror.refresh();
461 this.code_mirror.refresh();
462 this.code_mirror.focus();
462 this.code_mirror.focus();
463 };
463 };
464
464
465 /** @method at_top **/
465 /** @method at_top **/
466 RawCell.prototype.at_top = function () {
466 RawCell.prototype.at_top = function () {
467 var cursor = this.code_mirror.getCursor();
467 var cursor = this.code_mirror.getCursor();
468 if (cursor.line === 0 && cursor.ch === 0) {
468 if (cursor.line === 0 && cursor.ch === 0) {
469 return true;
469 return true;
470 } else {
470 } else {
471 return false;
471 return false;
472 }
472 }
473 };
473 };
474
474
475
475
476 /** @method at_bottom **/
476 /** @method at_bottom **/
477 RawCell.prototype.at_bottom = function () {
477 RawCell.prototype.at_bottom = function () {
478 var cursor = this.code_mirror.getCursor();
478 var cursor = this.code_mirror.getCursor();
479 if (cursor.line === (this.code_mirror.lineCount()-1) && cursor.ch === this.code_mirror.getLine(cursor.line).length) {
479 if (cursor.line === (this.code_mirror.lineCount()-1) && cursor.ch === this.code_mirror.getLine(cursor.line).length) {
480 return true;
480 return true;
481 } else {
481 } else {
482 return false;
482 return false;
483 }
483 }
484 };
484 };
485
485
486
486
487 /**
487 /**
488 * @class HeadingCell
488 * @class HeadingCell
489 * @extends Ipython.TextCell
489 * @extends Ipython.TextCell
490 */
490 */
491
491
492 /**
492 /**
493 * @constructor HeadingCell
493 * @constructor HeadingCell
494 * @extends Ipython.TextCell
494 * @extends Ipython.TextCell
495 */
495 */
496 var HeadingCell = function (options) {
496 var HeadingCell = function (options) {
497
497
498 options = this.mergeopt(HeadingCell,options)
498 options = this.mergeopt(HeadingCell,options)
499 TextCell.apply(this, [options]);
499 TextCell.apply(this, [options]);
500
500
501 /**
501 /**
502 * heading level of the cell, use getter and setter to access
502 * heading level of the cell, use getter and setter to access
503 * @property level
503 * @property level
504 */
504 */
505 this.level = 1;
505 this.level = 1;
506 this.cell_type = 'heading';
506 this.cell_type = 'heading';
507 };
507 };
508
508
509 HeadingCell.options_default = {
509 HeadingCell.options_default = {
510 placeholder: "Type Heading Here"
510 placeholder: "Type Heading Here"
511 };
511 };
512
512
513 HeadingCell.prototype = new TextCell();
513 HeadingCell.prototype = new TextCell();
514
514
515 /** @method fromJSON */
515 /** @method fromJSON */
516 HeadingCell.prototype.fromJSON = function (data) {
516 HeadingCell.prototype.fromJSON = function (data) {
517 if (data.level != undefined){
517 if (data.level != undefined){
518 this.level = data.level;
518 this.level = data.level;
519 }
519 }
520 TextCell.prototype.fromJSON.apply(this, arguments);
520 TextCell.prototype.fromJSON.apply(this, arguments);
521 };
521 };
522
522
523
523
524 /** @method toJSON */
524 /** @method toJSON */
525 HeadingCell.prototype.toJSON = function () {
525 HeadingCell.prototype.toJSON = function () {
526 var data = TextCell.prototype.toJSON.apply(this);
526 var data = TextCell.prototype.toJSON.apply(this);
527 data.level = this.get_level();
527 data.level = this.get_level();
528 return data;
528 return data;
529 };
529 };
530
530
531
531
532 /**
532 /**
533 * Change heading level of cell, and re-render
533 * Change heading level of cell, and re-render
534 * @method set_level
534 * @method set_level
535 */
535 */
536 HeadingCell.prototype.set_level = function (level) {
536 HeadingCell.prototype.set_level = function (level) {
537 this.level = level;
537 this.level = level;
538 if (this.rendered) {
538 if (this.rendered) {
539 this.rendered = false;
539 this.rendered = false;
540 this.render();
540 this.render();
541 };
541 };
542 };
542 };
543
543
544 /** The depth of header cell, based on html (h1 to h6)
544 /** The depth of header cell, based on html (h1 to h6)
545 * @method get_level
545 * @method get_level
546 * @return {integer} level - for 1 to 6
546 * @return {integer} level - for 1 to 6
547 */
547 */
548 HeadingCell.prototype.get_level = function () {
548 HeadingCell.prototype.get_level = function () {
549 return this.level;
549 return this.level;
550 };
550 };
551
551
552
552
553 HeadingCell.prototype.set_rendered = function (text) {
553 HeadingCell.prototype.set_rendered = function (text) {
554 var r = this.element.find("div.text_cell_render");
554 var r = this.element.find("div.text_cell_render");
555 r.empty();
555 r.empty();
556 var link = text.replace(/ /g, '_');
556 var link = text.replace(/ /g, '_');
557 r.append(
557 r.append(
558 $('<h'+this.level+'/>')
558 $('<h'+this.level+'/>')
559 .append(
559 .append(
560 $('<a/>')
560 $('<a/>')
561 .addClass('heading-anchor')
561 .addClass('heading-anchor')
562 .attr('href', '#' + link)
562 .attr('href', '#' + link)
563 .attr('id', link)
563 .attr('id', link)
564 .html(text)
564 .html(text)
565 )
565 )
566 );
566 );
567 };
567 };
568
568
569
569
570 HeadingCell.prototype.get_rendered = function () {
570 HeadingCell.prototype.get_rendered = function () {
571 var r = this.element.find("div.text_cell_render");
571 var r = this.element.find("div.text_cell_render");
572 return r.children().first().html();
572 return r.children().first().html();
573 };
573 };
574
574
575
575
576 HeadingCell.prototype.render = function () {
576 HeadingCell.prototype.render = function () {
577 if (this.rendered === false) {
577 if (this.rendered === false) {
578 var text = this.get_text();
578 var text = this.get_text();
579 if (text === "") { text = this.placeholder; }
579 if (text === "") { text = this.placeholder; }
580 this.set_rendered(text);
580 this.set_rendered(text);
581 this.typeset();
581 this.typeset();
582 this.element.find('div.text_cell_input').hide();
582 this.element.find('div.text_cell_input').hide();
583 this.element.find("div.text_cell_render").show();
583 this.element.find("div.text_cell_render").show();
584 this.rendered = true;
584 this.rendered = true;
585 };
585 };
586 };
586 };
587
587
588 IPython.TextCell = TextCell;
588 IPython.TextCell = TextCell;
589 IPython.HTMLCell = HTMLCell;
589 IPython.HTMLCell = HTMLCell;
590 IPython.MarkdownCell = MarkdownCell;
590 IPython.MarkdownCell = MarkdownCell;
591 IPython.RawCell = RawCell;
591 IPython.RawCell = RawCell;
592 IPython.HeadingCell = HeadingCell;
592 IPython.HeadingCell = HeadingCell;
593
593
594
594
595 return IPython;
595 return IPython;
596
596
597 }(IPython));
597 }(IPython));
598
598
@@ -1,99 +1,105 b''
1
1
2 /* Flexible box model classes */
2 /* Flexible box model classes */
3 /* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
3 /* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
4
4
5 .hbox {
5 .hbox {
6 display: -webkit-box;
6 display: -webkit-box;
7 -webkit-box-orient: horizontal;
7 -webkit-box-orient: horizontal;
8 -webkit-box-align: stretch;
8 -webkit-box-align: stretch;
9
9
10 display: -moz-box;
10 display: -moz-box;
11 -moz-box-orient: horizontal;
11 -moz-box-orient: horizontal;
12 -moz-box-align: stretch;
12 -moz-box-align: stretch;
13
13
14 display: box;
14 display: box;
15 box-orient: horizontal;
15 box-orient: horizontal;
16 box-align: stretch;
16 box-align: stretch;
17 }
17 }
18
18
19 .hbox > * {
19 .hbox > * {
20 -webkit-box-flex: 0;
20 -webkit-box-flex: 0;
21 -moz-box-flex: 0;
21 -moz-box-flex: 0;
22 box-flex: 0;
22 box-flex: 0;
23 }
23 }
24
24
25 .vbox {
25 .vbox {
26 display: -webkit-box;
26 display: -webkit-box;
27 -webkit-box-orient: vertical;
27 -webkit-box-orient: vertical;
28 -webkit-box-align: stretch;
28 -webkit-box-align: stretch;
29
29
30 display: -moz-box;
30 display: -moz-box;
31 -moz-box-orient: vertical;
31 -moz-box-orient: vertical;
32 -moz-box-align: stretch;
32 -moz-box-align: stretch;
33
33
34 display: box;
34 display: box;
35 box-orient: vertical;
35 box-orient: vertical;
36 box-align: stretch;
36 box-align: stretch;
37 /* width must be 100% to force FF to behave like webkit */
37 /* width must be 100% to force FF to behave like webkit */
38 width: 100%;
38 width: 100%;
39 }
39 }
40
40
41 .vbox > * {
41 .vbox > * {
42 -webkit-box-flex: 0;
42 -webkit-box-flex: 0;
43 -moz-box-flex: 0;
43 -moz-box-flex: 0;
44 box-flex: 0;
44 box-flex: 0;
45 }
45 }
46
46
47 .reverse {
47 .reverse {
48 -webkit-box-direction: reverse;
48 -webkit-box-direction: reverse;
49 -moz-box-direction: reverse;
49 -moz-box-direction: reverse;
50 box-direction: reverse;
50 box-direction: reverse;
51 }
51 }
52
52
53 .box-flex0 {
53 .box-flex0 {
54 -webkit-box-flex: 0;
54 -webkit-box-flex: 0;
55 -moz-box-flex: 0;
55 -moz-box-flex: 0;
56 box-flex: 0;
56 box-flex: 0;
57 }
57 }
58
58
59 .box-flex1, .box-flex {
59 .box-flex1 {
60 -webkit-box-flex: 1;
60 -webkit-box-flex: 1;
61 -moz-box-flex: 1;
61 -moz-box-flex: 1;
62 box-flex: 1;
62 box-flex: 1;
63 }
63 }
64
64
65 .box-flex {
66 .box-flex1();
67 }
68
69
70
65 .box-flex2 {
71 .box-flex2 {
66 -webkit-box-flex: 2;
72 -webkit-box-flex: 2;
67 -moz-box-flex: 2;
73 -moz-box-flex: 2;
68 box-flex: 2;
74 box-flex: 2;
69 }
75 }
70
76
71 .box-group1 {
77 .box-group1 {
72 -webkit-box-flex-group: 1;
78 -webkit-box-flex-group: 1;
73 -moz-box-flex-group: 1;
79 -moz-box-flex-group: 1;
74 box-flex-group: 1;
80 box-flex-group: 1;
75 }
81 }
76
82
77 .box-group2 {
83 .box-group2 {
78 -webkit-box-flex-group: 2;
84 -webkit-box-flex-group: 2;
79 -moz-box-flex-group: 2;
85 -moz-box-flex-group: 2;
80 box-flex-group: 2;
86 box-flex-group: 2;
81 }
87 }
82
88
83 .start {
89 .start {
84 -webkit-box-pack: start;
90 -webkit-box-pack: start;
85 -moz-box-pack: start;
91 -moz-box-pack: start;
86 box-pack: start;
92 box-pack: start;
87 }
93 }
88
94
89 .end {
95 .end {
90 -webkit-box-pack: end;
96 -webkit-box-pack: end;
91 -moz-box-pack: end;
97 -moz-box-pack: end;
92 box-pack: end;
98 box-pack: end;
93 }
99 }
94
100
95 .center {
101 .center {
96 -webkit-box-pack: center;
102 -webkit-box-pack: center;
97 -moz-box-pack: center;
103 -moz-box-pack: center;
98 box-pack: center;
104 box-pack: center;
99 }
105 }
@@ -1,475 +1,479 b''
1 /**
1 /**
2 * Primary styles
2 * Primary styles
3 *
3 *
4 * Author: IPython Development Team
4 * Author: IPython Development Team
5 */
5 */
6
6
7 @import "variables.less";
7 @import "variables.less";
8
8
9
9
10 body {
10 body {
11 background-color:@notebook_background;
11 background-color:@notebook_background;
12 }
12 }
13
13
14 body.notebook_app {
14 body.notebook_app {
15 overflow: hidden;
15 overflow: hidden;
16 }
16 }
17
17
18 blockquote {
18 blockquote {
19 border-left: 4px solid #DDD;
19 border-left: 4px solid #DDD;
20 padding: 0 15px;
20 padding: 0 15px;
21 color: #777;
21 color: #777;
22 }
22 }
23
23
24 span#save_widget {
24 span#save_widget {
25 padding: 5px;
25 padding: 5px;
26 margin: 0px 0px 0px 300px;
26 margin: 0px 0px 0px 300px;
27 display:inline-block;
27 display:inline-block;
28 }
28 }
29
29
30 span#notebook_name {
30 span#notebook_name {
31 height: 1em;
31 height: 1em;
32 line-height: 1em;
32 line-height: 1em;
33 padding: 3px;
33 padding: 3px;
34 border: none;
34 border: none;
35 font-size: 146.5%;
35 font-size: 146.5%;
36 }
36 }
37
37
38
38
39 .ui-menubar-item .ui-button .ui-button-text {
39 .ui-menubar-item .ui-button .ui-button-text {
40 padding: 0.4em 1.0em;
40 padding: 0.4em 1.0em;
41 font-size: 100%;
41 font-size: 100%;
42 }
42 }
43
43
44 .ui-menu {
44 .ui-menu {
45 -moz-box-shadow: 0px 6px 10px -1px #adadad;
45 -moz-box-shadow: 0px 6px 10px -1px #adadad;
46 -webkit-box-shadow: 0px 6px 10px -1px #adadad;
46 -webkit-box-shadow: 0px 6px 10px -1px #adadad;
47 box-shadow: 0px 6px 10px -1px #adadad;
47 box-shadow: 0px 6px 10px -1px #adadad;
48 }
48 }
49
49
50 .ui-menu .ui-menu-item a {
50 .ui-menu .ui-menu-item a {
51 border: 1px solid transparent;
51 border: 1px solid transparent;
52 padding: 2px 1.6em;
52 padding: 2px 1.6em;
53 }
53 }
54
54
55 .ui-menu .ui-menu-item a.ui-state-focus {
55 .ui-menu .ui-menu-item a.ui-state-focus {
56 margin: 0;
56 margin: 0;
57 }
57 }
58
58
59 .ui-menu hr {
59 .ui-menu hr {
60 margin: 0.3em 0;
60 margin: 0.3em 0;
61 }
61 }
62
62
63 #menubar_container {
63 #menubar_container {
64 position: relative;
64 position: relative;
65 }
65 }
66
66
67 #notification_area {
67 #notification_area {
68 position: absolute;
68 position: absolute;
69 right: 0px;
69 right: 0px;
70 top: 0px;
70 top: 0px;
71 height: 25px;
71 height: 25px;
72 padding: 3px 0px;
72 padding: 3px 0px;
73 padding-right: 3px;
73 padding-right: 3px;
74 z-index: 10;
74 z-index: 10;
75 }
75 }
76
76
77 .notification_widget{
77 .notification_widget{
78 float : right;
78 float : right;
79 right: 0px;
79 right: 0px;
80 top: 1px;
80 top: 1px;
81 height: 25px;
81 height: 25px;
82 padding: 3px 6px;
82 padding: 3px 6px;
83 z-index: 10;
83 z-index: 10;
84 }
84 }
85
85
86 .toolbar {
86 .toolbar {
87 padding: 3px 15px;
87 padding: 3px 15px;
88 border-bottom: @borderwidth @border_color solid;
88 border-bottom: @borderwidth @border_color solid;
89
89
90 button {
90 button {
91 margin-top:2px;
91 margin-top:2px;
92 margin-bottom:2px;
92 margin-bottom:2px;
93 }
93 }
94
94
95
95
96 select, label {
96 select, label {
97 height : 19px;
97 height : 19px;
98 vertical-align:middle;
98 vertical-align:middle;
99 margin-right:2px;
99 margin-right:2px;
100 margin-bottom:0;
100 margin-bottom:0;
101 display: inline;
101 display: inline;
102 font-size: 92%;
102 font-size: 92%;
103 margin-left:0.3em;
103 margin-left:0.3em;
104 margin-right:0.3em;
104 margin-right:0.3em;
105 padding: 0px;
105 padding: 0px;
106 }
106 }
107 }
107 }
108
108
109 .toolbar select{
109 .toolbar select{
110 width:auto;
110 width:auto;
111 }
111 }
112
112
113
113
114 #ipython-main-app {
114 #ipython-main-app {
115 width: 100%;
115 width: 100%;
116 position: relative;
116 position: relative;
117 font-size: 110%;
117 font-size: 110%;
118 }
118 }
119
119
120 span#quick_help_area {
120 span#quick_help_area {
121 position: static;
121 position: static;
122 padding: 5px 0px;
122 padding: 5px 0px;
123 margin: 0px 0px 0px 0px;
123 margin: 0px 0px 0px 0px;
124 }
124 }
125
125
126 .help_string {
126 .help_string {
127 float: right;
127 float: right;
128 width: 170px;
128 width: 170px;
129 padding: 0px 5px;
129 padding: 0px 5px;
130 text-align: left;
130 text-align: left;
131 font-size: 85%;
131 font-size: 85%;
132 }
132 }
133
133
134 .help_string_label {
134 .help_string_label {
135 float: right;
135 float: right;
136 font-size: 85%;
136 font-size: 85%;
137 }
137 }
138
138
139 div#notebook_panel {
139 div#notebook_panel {
140 margin: 0px 0px 0px 0px;
140 margin: 0px 0px 0px 0px;
141 padding: 0px;
141 padding: 0px;
142 }
142 }
143
143
144 div#notebook {
144 div#notebook {
145 overflow-y: scroll;
145 overflow-y: scroll;
146 overflow-x: auto;
146 overflow-x: auto;
147 width: 100%;
147 width: 100%;
148 /* This spaces the cell away from the edge of the notebook area */
148 /* This spaces the cell away from the edge of the notebook area */
149 padding: 5px 5px 15px 5px;
149 padding: 5px 5px 15px 5px;
150 margin: 0px;
150 margin: 0px;
151 }
151 }
152
152
153 div#pager_splitter {
153 div#pager_splitter {
154 height: 8px;
154 height: 8px;
155 }
155 }
156
156
157 #pager_container {
157 #pager_container {
158 position : relative;
158 position : relative;
159 }
159 }
160
160
161 div#pager {
161 div#pager {
162 padding: 15px;
162 padding: 15px;
163 overflow: auto;
163 overflow: auto;
164 display: none;
164 display: none;
165 }
165 }
166
166
167 div.ui-widget-content {
167 div.ui-widget-content {
168 border: 1px solid @border_color;
168 border: 1px solid @border_color;
169 outline: none;
169 outline: none;
170 }
170 }
171
171
172 .cell {
172 .cell {
173 border: 1px solid transparent;
173 border: 1px solid transparent;
174 .vbox();
174
175
175 &.selected {
176 &.selected {
176 .corner-all;
177 .corner-all;
177 border : thin @border_color solid;
178 border : thin @border_color solid;
178 }
179 }
179 }
180 }
180
181
181 div.cell {
182 div.cell {
182 width: 100%;
183 width: 100%;
183 padding: 5px 5px 5px 0px;
184 padding: 5px 5px 5px 0px;
184 /* This acts as a spacer between cells, that is outside the border */
185 /* This acts as a spacer between cells, that is outside the border */
185 margin: 2px 0px 2px 0px;
186 margin: 2px 0px 2px 0px;
186 outline: none;
187 outline: none;
187 }
188 }
188
189
189 div.code_cell {
190 div.code_cell {
190 }
191 }
191
192
192 /* any special styling for code cells that are currently running goes here */
193 /* any special styling for code cells that are currently running goes here */
193 div.code_cell.running {
194 div.code_cell.running {
194 }
195 }
195
196
196 div.prompt {
197 div.prompt {
197 /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
198 /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
198 width: 11ex;
199 width: 11ex;
199 /* This 0.4em is tuned to match the padding on the CodeMirror editor. */
200 /* This 0.4em is tuned to match the padding on the CodeMirror editor. */
200 padding: 0.4em;
201 padding: 0.4em;
201 margin: 0px;
202 margin: 0px;
202 font-family: monospace;
203 font-family: monospace;
203 text-align: right;
204 text-align: right;
204 /* This has to match that of the the CodeMirror class line-height below */
205 /* This has to match that of the the CodeMirror class line-height below */
205 line-height: 1.231;
206 line-height: 1.231;
206 }
207 }
207
208
208 div.input {
209 div.input {
209 page-break-inside: avoid;
210 page-break-inside: avoid;
211 .hbox();
210 }
212 }
211
213
212 /* input_area and input_prompt must match in top border and margin for alignment */
214 /* input_area and input_prompt must match in top border and margin for alignment */
213 div.input_area {
215 div.input_area {
214 /*color: @fontBaseColor;*/
216 /*color: @fontBaseColor;*/
215 border: 1px solid @light_border_color;
217 border: 1px solid @light_border_color;
216 .corner-all;
218 .corner-all;
217 background: @cell_background;
219 background: @cell_background;
218 }
220 }
219
221
220 div.input_prompt {
222 div.input_prompt {
221 color: navy;
223 color: navy;
222 border-top: 1px solid transparent;
224 border-top: 1px solid transparent;
223 }
225 }
224
226
225 div.output_wrapper {
227 div.output_wrapper {
226 /* This is a spacer between the input and output of each cell */
228 /* This is a spacer between the input and output of each cell */
227 margin-top: 5px;
229 margin-top: 5px;
228 margin-left: 5px;
230 margin-left: 5px;
229 /* FF needs explicit width to stretch */
231 /* FF needs explicit width to stretch */
230 width: 100%;
232 width: 100%;
231 /* this position must be relative to enable descendents to be absolute within it */
233 /* this position must be relative to enable descendents to be absolute within it */
232 position: relative;
234 position: relative;
233 }
235 }
234
236
235 /* class for the output area when it should be height-limited */
237 /* class for the output area when it should be height-limited */
236 div.output_scroll {
238 div.output_scroll {
237 /* ideally, this would be max-height, but FF barfs all over that */
239 /* ideally, this would be max-height, but FF barfs all over that */
238 height: 24em;
240 height: 24em;
239 /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
241 /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
240 width: 100%;
242 width: 100%;
241
243
242 overflow: auto;
244 overflow: auto;
243 .corner-all;
245 .corner-all;
244 box-shadow: inset 0 2px 8px rgba(0, 0, 0, .8);
246 box-shadow: inset 0 2px 8px rgba(0, 0, 0, .8);
245 }
247 }
246
248
247 /* output div while it is collapsed */
249 /* output div while it is collapsed */
248 div.output_collapsed {
250 div.output_collapsed {
249 margin-right: 5px;
251 margin-right: 5px;
250 }
252 }
251
253
252 div.out_prompt_overlay {
254 div.out_prompt_overlay {
253 height: 100%;
255 height: 100%;
254 padding: 0px;
256 padding: 0px;
255 position: absolute;
257 position: absolute;
256 .corner-all;
258 .corner-all;
257 }
259 }
258
260
259 div.out_prompt_overlay:hover {
261 div.out_prompt_overlay:hover {
260 /* use inner shadow to get border that is computed the same on WebKit/FF */
262 /* use inner shadow to get border that is computed the same on WebKit/FF */
261 box-shadow: inset 0 0 1px #000;
263 box-shadow: inset 0 0 1px #000;
262 background: rgba(240, 240, 240, 0.5);
264 background: rgba(240, 240, 240, 0.5);
263 }
265 }
264
266
265 div.output_prompt {
267 div.output_prompt {
266 color: darkred;
268 color: darkred;
267 /* 5px right shift to account for margin in parent container */
269 /* 5px right shift to account for margin in parent container */
268 margin: 0 5px 0 -5px;
270 margin: 0 5px 0 -5px;
269 }
271 }
270
272
271 /* This class is the outer container of all output sections. */
273 /* This class is the outer container of all output sections. */
272 div.output_area {
274 div.output_area {
273 padding: 0px;
275 padding: 0px;
274 page-break-inside: avoid;
276 page-break-inside: avoid;
277 .hbox();
275 }
278 }
276
279
277
280
278 /* This is needed to protect the pre formating from global settings such
281 /* This is needed to protect the pre formating from global settings such
279 as that of bootstrap */
282 as that of bootstrap */
280 div.output_area pre {
283 div.output_area pre {
281 font-family: monospace;
284 font-family: monospace;
282 margin: 0;
285 margin: 0;
283 padding: 0;
286 padding: 0;
284 border: 0;
287 border: 0;
285 font-size: 100%;
288 font-size: 100%;
286 vertical-align: baseline;
289 vertical-align: baseline;
287 color: black;
290 color: black;
288 }
291 }
289
292
290 /* This class is for the output subarea inside the output_area and after
293 /* This class is for the output subarea inside the output_area and after
291 the prompt div. */
294 the prompt div. */
292 div.output_subarea {
295 div.output_subarea {
293 padding: 0.44em 0.4em 0.4em 1px;
296 padding: 0.44em 0.4em 0.4em 1px;
297 .box-flex1();
294 }
298 }
295
299
296 /* The rest of the output_* classes are for special styling of the different
300 /* The rest of the output_* classes are for special styling of the different
297 output types */
301 output types */
298
302
299 /* all text output has this class: */
303 /* all text output has this class: */
300 div.output_text {
304 div.output_text {
301 text-align: left;
305 text-align: left;
302 color: @fontBaseColor;
306 color: @fontBaseColor;
303 font-family: monospace;
307 font-family: monospace;
304 /* This has to match that of the the CodeMirror class line-height below */
308 /* This has to match that of the the CodeMirror class line-height below */
305 line-height: 1.231;
309 line-height: 1.231;
306 }
310 }
307
311
308 /* stdout/stderr are 'text' as well as 'stream', but pyout/pyerr are *not* streams */
312 /* stdout/stderr are 'text' as well as 'stream', but pyout/pyerr are *not* streams */
309 div.output_stream {
313 div.output_stream {
310 padding-top: 0.0em;
314 padding-top: 0.0em;
311 padding-bottom: 0.0em;
315 padding-bottom: 0.0em;
312 }
316 }
313 div.output_stdout {
317 div.output_stdout {
314 }
318 }
315 div.output_stderr {
319 div.output_stderr {
316 background: #fdd; /* very light red background for stderr */
320 background: #fdd; /* very light red background for stderr */
317 }
321 }
318
322
319 div.output_latex {
323 div.output_latex {
320 text-align: left;
324 text-align: left;
321 }
325 }
322
326
323 div.output_html {
327 div.output_html {
324 }
328 }
325
329
326 div.output_png {
330 div.output_png {
327 }
331 }
328
332
329 div.output_jpeg {
333 div.output_jpeg {
330 }
334 }
331
335
332 div.text_cell {
336 div.text_cell {
333 padding: 5px 5px 5px 5px;
337 padding: 5px 5px 5px 5px;
334 }
338 }
335
339
336 div.text_cell_input {
340 div.text_cell_input {
337 color: @fontBaseColor;
341 color: @fontBaseColor;
338 border: 1px solid @light_border_color;
342 border: 1px solid @light_border_color;
339 .corner-all;
343 .corner-all;
340 background: @cell_background;
344 background: @cell_background;
341 }
345 }
342
346
343 div.text_cell_render {
347 div.text_cell_render {
344 /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
348 /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
345 outline: none;
349 outline: none;
346 resize: none;
350 resize: none;
347 width: inherit;
351 width: inherit;
348 border-style: none;
352 border-style: none;
349 padding: 5px;
353 padding: 5px;
350 color: @fontBaseColor;
354 color: @fontBaseColor;
351 }
355 }
352
356
353 /* The following gets added to the <head> if it is detected that the user has a
357 /* The following gets added to the <head> if it is detected that the user has a
354 * monospace font with inconsistent normal/bold/italic height. See
358 * monospace font with inconsistent normal/bold/italic height. See
355 * notebookmain.js. Such fonts will have keywords vertically offset with
359 * notebookmain.js. Such fonts will have keywords vertically offset with
356 * respect to the rest of the text. The user should select a better font.
360 * respect to the rest of the text. The user should select a better font.
357 * See: https://github.com/ipython/ipython/issues/1503
361 * See: https://github.com/ipython/ipython/issues/1503
358 *
362 *
359 * .CodeMirror span {
363 * .CodeMirror span {
360 * vertical-align: bottom;
364 * vertical-align: bottom;
361 * }
365 * }
362 */
366 */
363
367
364 .CodeMirror {
368 .CodeMirror {
365 line-height: 1.231; /* Changed from 1em to our global default */
369 line-height: 1.231; /* Changed from 1em to our global default */
366 }
370 }
367
371
368 .CodeMirror-scroll {
372 .CodeMirror-scroll {
369 height: auto; /* Changed to auto to autogrow */
373 height: auto; /* Changed to auto to autogrow */
370 /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
374 /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
371 /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
375 /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/
372 overflow-y: hidden;
376 overflow-y: hidden;
373 overflow-x: auto; /* Changed from auto to remove scrollbar */
377 overflow-x: auto; /* Changed from auto to remove scrollbar */
374 }
378 }
375
379
376 /* CSS font colors for translated ANSI colors. */
380 /* CSS font colors for translated ANSI colors. */
377
381
378
382
379 .ansiblack {color: @fontBaseColor;}
383 .ansiblack {color: @fontBaseColor;}
380 .ansired {color: darkred;}
384 .ansired {color: darkred;}
381 .ansigreen {color: darkgreen;}
385 .ansigreen {color: darkgreen;}
382 .ansiyellow {color: brown;}
386 .ansiyellow {color: brown;}
383 .ansiblue {color: darkblue;}
387 .ansiblue {color: darkblue;}
384 .ansipurple {color: darkviolet;}
388 .ansipurple {color: darkviolet;}
385 .ansicyan {color: steelblue;}
389 .ansicyan {color: steelblue;}
386 .ansigrey {color: grey;}
390 .ansigrey {color: grey;}
387 .ansibold {font-weight: bold;}
391 .ansibold {font-weight: bold;}
388
392
389 .completions {
393 .completions {
390 position: absolute;
394 position: absolute;
391 z-index: 10;
395 z-index: 10;
392 overflow: hidden;
396 overflow: hidden;
393 border: 1px solid @border_color;
397 border: 1px solid @border_color;
394 }
398 }
395
399
396 .completions select {
400 .completions select {
397 background: white;
401 background: white;
398 outline: none;
402 outline: none;
399 border: none;
403 border: none;
400 padding: 0px;
404 padding: 0px;
401 margin: 0px;
405 margin: 0px;
402 overflow: auto;
406 overflow: auto;
403 font-family: monospace;
407 font-family: monospace;
404 }
408 }
405
409
406 option.context {
410 option.context {
407 background-color: #DEF7FF;
411 background-color: #DEF7FF;
408 }
412 }
409 option.introspection {
413 option.introspection {
410 background-color: #EBF4EB;
414 background-color: #EBF4EB;
411 }
415 }
412
416
413 /*fixed part of the completion*/
417 /*fixed part of the completion*/
414 .completions p b {
418 .completions p b {
415 font-weight:bold;
419 font-weight:bold;
416 }
420 }
417
421
418 .completions p {
422 .completions p {
419 background: #DDF;
423 background: #DDF;
420 /*outline: none;
424 /*outline: none;
421 padding: 0px;*/
425 padding: 0px;*/
422 border-bottom: black solid 1px;
426 border-bottom: black solid 1px;
423 padding: 1px;
427 padding: 1px;
424 font-family: monospace;
428 font-family: monospace;
425 }
429 }
426
430
427 pre.dialog {
431 pre.dialog {
428 background-color: @cell_background;
432 background-color: @cell_background;
429 border: 1px solid #ddd;
433 border: 1px solid #ddd;
430 .corner-all;
434 .corner-all;
431 padding: 0.4em;
435 padding: 0.4em;
432 padding-left: 2em;
436 padding-left: 2em;
433 }
437 }
434
438
435 p.dialog {
439 p.dialog {
436 padding : 0.2em;
440 padding : 0.2em;
437 }
441 }
438
442
439 .shortcut_key {
443 .shortcut_key {
440 display: inline-block;
444 display: inline-block;
441 width: 15ex;
445 width: 15ex;
442 text-align: right;
446 text-align: right;
443 font-family: monospace;
447 font-family: monospace;
444 }
448 }
445
449
446 .shortcut_descr {
450 .shortcut_descr {
447 }
451 }
448
452
449 /* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems
453 /* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems
450 to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do.
454 to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do.
451 */
455 */
452 pre, code, kbd, samp { white-space: pre-wrap; }
456 pre, code, kbd, samp { white-space: pre-wrap; }
453
457
454 #fonttest {
458 #fonttest {
455 font-family: monospace;
459 font-family: monospace;
456 }
460 }
457
461
458 .js-error {
462 .js-error {
459 color: darkred;
463 color: darkred;
460 }
464 }
461
465
462 a {
466 a {
463 text-decoration: underline;
467 text-decoration: underline;
464 }
468 }
465
469
466 p {
470 p {
467
471
468 margin-bottom:0;
472 margin-bottom:0;
469
473
470 }
474 }
471
475
472 a.heading-anchor:link, a.heading-anchor:visited {
476 a.heading-anchor:link, a.heading-anchor:visited {
473 text-decoration: none;
477 text-decoration: none;
474 color: inherit;
478 color: inherit;
475 }
479 }
General Comments 0
You need to be logged in to leave comments. Login now