├── .gitignore
├── .jshintrc
├── README.md
├── client
└── src
│ ├── app
│ ├── app.js
│ ├── appCtrl.js
│ └── home.html
│ ├── bower.json
│ ├── index.html
│ └── less
│ ├── css
│ ├── bootstrap.css
│ ├── custom.css
│ └── growl.css
│ └── js
│ └── growl.js
└── server
├── .gitignore
├── config
└── config.js
├── controller
└── uploadDownload.js
├── package.json
├── routes.js
├── server.js
└── static.js
/.gitignore:
--------------------------------------------------------------------------------
1 | lib-cov
2 | *.seed
3 | *.log
4 | *.csv
5 | *.dat
6 | *.out
7 | *.pid
8 | *.gz
9 |
10 | pids
11 | logs
12 | results
13 | client/src/bower_components
14 | node_modules
15 | npm-debug.log
16 | /.idea
17 | server/public
18 | .jshintrc
19 |
--------------------------------------------------------------------------------
/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "node": true,
3 | "strict": true,
4 | "indent": 2,
5 | "latedef": true,
6 | "undef": true,
7 | "unused": true,
8 | "camelcase": true,
9 | "curly": true,
10 | "eqeqeq": true,
11 | "newcap": true,
12 | "quotmark": "single"
13 | }
14 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Hapi-file-upload-download
2 | ========================
3 |
4 | The purpose of this app is to upload and download the file of any extension. You don't need to worry about file extension, is going to work for all types of file.
5 |
6 | ### Install an app
7 |
8 | Run the following command in root directory of an app in command prompt.
9 |
10 | ###### *Install node packages*
11 |
12 | server/ npm install
13 |
14 | ### Run an app
15 |
16 | ###### *Run Server*
17 |
18 | Run the following command in root directory of an app in command prompt.
19 |
20 | server/ node server.js
21 |
22 | You can see the port number in command prompt after sucessfull run
23 |
24 | [Express-file-upload-download] (https://github.com/pandeysoni/Express-file-upload-download)
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/client/src/app/app.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /* defining the app */
4 | var app = angular
5 | .module("fileupload", ['ngRoute','ngResource', 'angular-growl'])
6 | .config(function($routeProvider, growlProvider) {
7 | growlProvider.globalTimeToLive(5000);
8 | $routeProvider
9 | .when('/',
10 | {templateUrl: 'app/home.html'},
11 | {controller: 'appCtrl.js'}
12 | )
13 | .otherwise({redirectTo: '/'});
14 | });
--------------------------------------------------------------------------------
/client/src/app/appCtrl.js:
--------------------------------------------------------------------------------
1 | app.controller('appCtrl', [ '$scope', '$http','$location', 'growl',
2 | function($scope, $http, $location, growl){
3 |
4 | $scope.uploadfile = function(){
5 | $http.post('/upload',$scope.file).then(function(data){
6 | console.log('success');
7 | // $scope.sectionList = data;
8 | }).catch(function(error){
9 | growl.addErrorMessage('oops! Something went wrong');
10 | })
11 | }
12 |
13 | $scope.onFileSelect = function($files){
14 | $scope.file = $files[0].name;
15 | console.log($scope.file);
16 | }
17 | }]
18 | )
--------------------------------------------------------------------------------
/client/src/app/home.html:
--------------------------------------------------------------------------------
1 |
2 |
Upload Files
3 |
11 |
12 |
--------------------------------------------------------------------------------
/client/src/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Hapi-Mongoose-Angular",
3 | "description": "",
4 | "version": "0.0.0",
5 | "homepage": "",
6 | "license": "",
7 | "private": true,
8 | "dependencies": {
9 | "angular": "~1.3.3",
10 | "angular-route": "~1.2.x",
11 | "angular-resource": "~1.2.x"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/client/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Hapi file upload download
8 |
9 |
10 |
11 |
16 |
17 |
18 |
19 |
20 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/client/src/less/css/bootstrap.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v2.2.2
3 | *
4 | * Copyright 2012 Twitter, Inc
5 | * Licensed under the Apache License v2.0
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Designed and built with all the love in the world @twitter by @mdo and @fat.
9 | */
10 |
11 | article,
12 | aside,
13 | details,
14 | figcaption,
15 | figure,
16 | footer,
17 | header,
18 | hgroup,
19 | nav,
20 | section {
21 | display: block;
22 | }
23 |
24 | audio,
25 | canvas,
26 | video {
27 | display: inline-block;
28 | *display: inline;
29 | *zoom: 1;
30 | }
31 |
32 | audio:not([controls]) {
33 | display: none;
34 | }
35 |
36 | html {
37 | font-size: 100%;
38 | -webkit-text-size-adjust: 100%;
39 | -ms-text-size-adjust: 100%;
40 | }
41 |
42 | a:focus {
43 | outline: thin dotted #333;
44 | outline: 5px auto -webkit-focus-ring-color;
45 | outline-offset: -2px;
46 | }
47 |
48 | a:hover,
49 | a:active {
50 | outline: 0;
51 | }
52 |
53 | sub,
54 | sup {
55 | position: relative;
56 | font-size: 75%;
57 | line-height: 0;
58 | vertical-align: baseline;
59 | }
60 |
61 | sup {
62 | top: -0.5em;
63 | }
64 |
65 | sub {
66 | bottom: -0.25em;
67 | }
68 |
69 | img {
70 | width: auto\9;
71 | height: auto;
72 | max-width: 100%;
73 | vertical-align: middle;
74 | border: 0;
75 | -ms-interpolation-mode: bicubic;
76 | }
77 |
78 | #map_canvas img,
79 | .google-maps img {
80 | max-width: none;
81 | }
82 |
83 | button,
84 | input,
85 | select,
86 | textarea {
87 | margin: 0;
88 | font-size: 100%;
89 | vertical-align: middle;
90 | }
91 |
92 | button,
93 | input {
94 | *overflow: visible;
95 | line-height: normal;
96 | }
97 |
98 | button::-moz-focus-inner,
99 | input::-moz-focus-inner {
100 | padding: 0;
101 | border: 0;
102 | }
103 |
104 | button,
105 | html input[type="button"],
106 | input[type="reset"],
107 | input[type="submit"] {
108 | cursor: pointer;
109 | -webkit-appearance: button;
110 | }
111 |
112 | label,
113 | select,
114 | button,
115 | input[type="button"],
116 | input[type="reset"],
117 | input[type="submit"],
118 | input[type="radio"],
119 | input[type="checkbox"] {
120 | cursor: pointer;
121 | }
122 |
123 | input[type="search"] {
124 | -webkit-box-sizing: content-box;
125 | -moz-box-sizing: content-box;
126 | box-sizing: content-box;
127 | -webkit-appearance: textfield;
128 | }
129 |
130 | input[type="search"]::-webkit-search-decoration,
131 | input[type="search"]::-webkit-search-cancel-button {
132 | -webkit-appearance: none;
133 | }
134 |
135 | textarea {
136 | overflow: auto;
137 | vertical-align: top;
138 | }
139 |
140 | @media print {
141 | * {
142 | color: #000 !important;
143 | text-shadow: none !important;
144 | background: transparent !important;
145 | box-shadow: none !important;
146 | }
147 | a,
148 | a:visited {
149 | text-decoration: underline;
150 | }
151 | a[href]:after {
152 | content: " (" attr(href) ")";
153 | }
154 | abbr[title]:after {
155 | content: " (" attr(title) ")";
156 | }
157 | .ir a:after,
158 | a[href^="javascript:"]:after,
159 | a[href^="#"]:after {
160 | content: "";
161 | }
162 | pre,
163 | blockquote {
164 | border: 1px solid #999;
165 | page-break-inside: avoid;
166 | }
167 | thead {
168 | display: table-header-group;
169 | }
170 | tr,
171 | img {
172 | page-break-inside: avoid;
173 | }
174 | img {
175 | max-width: 100% !important;
176 | }
177 | @page {
178 | margin: 0.5cm;
179 | }
180 | p,
181 | h2,
182 | h3 {
183 | orphans: 3;
184 | widows: 3;
185 | }
186 | h2,
187 | h3 {
188 | page-break-after: avoid;
189 | }
190 | }
191 |
192 | .clearfix {
193 | *zoom: 1;
194 | }
195 |
196 | .clearfix:before,
197 | .clearfix:after {
198 | display: table;
199 | line-height: 0;
200 | content: "";
201 | }
202 |
203 | .clearfix:after {
204 | clear: both;
205 | }
206 |
207 | .hide-text {
208 | font: 0/0 a;
209 | color: transparent;
210 | text-shadow: none;
211 | background-color: transparent;
212 | border: 0;
213 | }
214 |
215 | .input-block-level {
216 | display: block;
217 | width: 100%;
218 | min-height: 30px;
219 | -webkit-box-sizing: border-box;
220 | -moz-box-sizing: border-box;
221 | box-sizing: border-box;
222 | }
223 |
224 | body {
225 | margin: 0;
226 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
227 | font-size: 14px;
228 | line-height: 20px;
229 | color: #333333;
230 | background-color: #ffffff;
231 | }
232 |
233 | a {
234 | color: #0088cc;
235 | text-decoration: none;
236 | }
237 |
238 | a:hover {
239 | color: #005580;
240 | text-decoration: underline;
241 | }
242 |
243 | .img-rounded {
244 | -webkit-border-radius: 6px;
245 | -moz-border-radius: 6px;
246 | border-radius: 6px;
247 | }
248 |
249 | .img-polaroid {
250 | padding: 4px;
251 | background-color: #fff;
252 | border: 1px solid #ccc;
253 | border: 1px solid rgba(0, 0, 0, 0.2);
254 | -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
255 | -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
256 | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
257 | }
258 |
259 | .img-circle {
260 | -webkit-border-radius: 500px;
261 | -moz-border-radius: 500px;
262 | border-radius: 500px;
263 | }
264 |
265 | .row {
266 | margin-left: -20px;
267 | *zoom: 1;
268 | }
269 |
270 | .row:before,
271 | .row:after {
272 | display: table;
273 | line-height: 0;
274 | content: "";
275 | }
276 |
277 | .row:after {
278 | clear: both;
279 | }
280 |
281 | [class*="span"] {
282 | float: left;
283 | min-height: 1px;
284 | margin-left: 20px;
285 | }
286 |
287 | .container,
288 | .navbar-static-top .container,
289 | .navbar-fixed-top .container,
290 | .navbar-fixed-bottom .container {
291 | width: 940px;
292 | }
293 |
294 | .span12 {
295 | width: 940px;
296 | }
297 |
298 | .span11 {
299 | width: 860px;
300 | }
301 |
302 | .span10 {
303 | width: 780px;
304 | }
305 |
306 | .span9 {
307 | width: 700px;
308 | }
309 |
310 | .span8 {
311 | width: 620px;
312 | }
313 |
314 | .span7 {
315 | width: 540px;
316 | }
317 |
318 | .span6 {
319 | width: 460px;
320 | }
321 |
322 | .span5 {
323 | width: 380px;
324 | }
325 |
326 | .span4 {
327 | width: 300px;
328 | }
329 |
330 | .span3 {
331 | width: 220px;
332 | }
333 |
334 | .span2 {
335 | width: 140px;
336 | }
337 |
338 | .span1 {
339 | width: 60px;
340 | }
341 |
342 | .offset12 {
343 | margin-left: 980px;
344 | }
345 |
346 | .offset11 {
347 | margin-left: 900px;
348 | }
349 |
350 | .offset10 {
351 | margin-left: 820px;
352 | }
353 |
354 | .offset9 {
355 | margin-left: 740px;
356 | }
357 |
358 | .offset8 {
359 | margin-left: 660px;
360 | }
361 |
362 | .offset7 {
363 | margin-left: 580px;
364 | }
365 |
366 | .offset6 {
367 | margin-left: 500px;
368 | }
369 |
370 | .offset5 {
371 | margin-left: 420px;
372 | }
373 |
374 | .offset4 {
375 | margin-left: 340px;
376 | }
377 |
378 | .offset3 {
379 | margin-left: 260px;
380 | }
381 |
382 | .offset2 {
383 | margin-left: 180px;
384 | }
385 |
386 | .offset1 {
387 | margin-left: 100px;
388 | }
389 |
390 | .row-fluid {
391 | width: 100%;
392 | *zoom: 1;
393 | }
394 |
395 | .row-fluid:before,
396 | .row-fluid:after {
397 | display: table;
398 | line-height: 0;
399 | content: "";
400 | }
401 |
402 | .row-fluid:after {
403 | clear: both;
404 | }
405 |
406 | .row-fluid [class*="span"] {
407 | display: block;
408 | float: left;
409 | width: 100%;
410 | min-height: 30px;
411 | margin-left: 2.127659574468085%;
412 | *margin-left: 2.074468085106383%;
413 | -webkit-box-sizing: border-box;
414 | -moz-box-sizing: border-box;
415 | box-sizing: border-box;
416 | }
417 |
418 | .row-fluid [class*="span"]:first-child {
419 | margin-left: 0;
420 | }
421 |
422 | .row-fluid .controls-row [class*="span"] + [class*="span"] {
423 | margin-left: 2.127659574468085%;
424 | }
425 |
426 | .row-fluid .span12 {
427 | width: 100%;
428 | *width: 99.94680851063829%;
429 | }
430 |
431 | .row-fluid .span11 {
432 | width: 91.48936170212765%;
433 | *width: 91.43617021276594%;
434 | }
435 |
436 | .row-fluid .span10 {
437 | width: 82.97872340425532%;
438 | *width: 82.92553191489361%;
439 | }
440 |
441 | .row-fluid .span9 {
442 | width: 74.46808510638297%;
443 | *width: 74.41489361702126%;
444 | }
445 |
446 | .row-fluid .span8 {
447 | width: 65.95744680851064%;
448 | *width: 65.90425531914893%;
449 | }
450 |
451 | .row-fluid .span7 {
452 | width: 57.44680851063829%;
453 | *width: 57.39361702127659%;
454 | }
455 |
456 | .row-fluid .span6 {
457 | width: 48.93617021276595%;
458 | *width: 48.88297872340425%;
459 | }
460 |
461 | .row-fluid .span5 {
462 | width: 40.42553191489362%;
463 | *width: 40.37234042553192%;
464 | }
465 |
466 | .row-fluid .span4 {
467 | width: 31.914893617021278%;
468 | *width: 31.861702127659576%;
469 | }
470 |
471 | .row-fluid .span3 {
472 | width: 23.404255319148934%;
473 | *width: 23.351063829787233%;
474 | }
475 |
476 | .row-fluid .span2 {
477 | width: 14.893617021276595%;
478 | *width: 14.840425531914894%;
479 | }
480 |
481 | .row-fluid .span1 {
482 | width: 6.382978723404255%;
483 | *width: 6.329787234042553%;
484 | }
485 |
486 | .row-fluid .offset12 {
487 | margin-left: 104.25531914893617%;
488 | *margin-left: 104.14893617021275%;
489 | }
490 |
491 | .row-fluid .offset12:first-child {
492 | margin-left: 102.12765957446808%;
493 | *margin-left: 102.02127659574467%;
494 | }
495 |
496 | .row-fluid .offset11 {
497 | margin-left: 95.74468085106382%;
498 | *margin-left: 95.6382978723404%;
499 | }
500 |
501 | .row-fluid .offset11:first-child {
502 | margin-left: 93.61702127659574%;
503 | *margin-left: 93.51063829787232%;
504 | }
505 |
506 | .row-fluid .offset10 {
507 | margin-left: 87.23404255319149%;
508 | *margin-left: 87.12765957446807%;
509 | }
510 |
511 | .row-fluid .offset10:first-child {
512 | margin-left: 85.1063829787234%;
513 | *margin-left: 84.99999999999999%;
514 | }
515 |
516 | .row-fluid .offset9 {
517 | margin-left: 78.72340425531914%;
518 | *margin-left: 78.61702127659572%;
519 | }
520 |
521 | .row-fluid .offset9:first-child {
522 | margin-left: 76.59574468085106%;
523 | *margin-left: 76.48936170212764%;
524 | }
525 |
526 | .row-fluid .offset8 {
527 | margin-left: 70.2127659574468%;
528 | *margin-left: 70.10638297872339%;
529 | }
530 |
531 | .row-fluid .offset8:first-child {
532 | margin-left: 68.08510638297872%;
533 | *margin-left: 67.9787234042553%;
534 | }
535 |
536 | .row-fluid .offset7 {
537 | margin-left: 61.70212765957446%;
538 | *margin-left: 61.59574468085106%;
539 | }
540 |
541 | .row-fluid .offset7:first-child {
542 | margin-left: 59.574468085106375%;
543 | *margin-left: 59.46808510638297%;
544 | }
545 |
546 | .row-fluid .offset6 {
547 | margin-left: 53.191489361702125%;
548 | *margin-left: 53.085106382978715%;
549 | }
550 |
551 | .row-fluid .offset6:first-child {
552 | margin-left: 51.063829787234035%;
553 | *margin-left: 50.95744680851063%;
554 | }
555 |
556 | .row-fluid .offset5 {
557 | margin-left: 44.68085106382979%;
558 | *margin-left: 44.57446808510638%;
559 | }
560 |
561 | .row-fluid .offset5:first-child {
562 | margin-left: 42.5531914893617%;
563 | *margin-left: 42.4468085106383%;
564 | }
565 |
566 | .row-fluid .offset4 {
567 | margin-left: 36.170212765957444%;
568 | *margin-left: 36.06382978723405%;
569 | }
570 |
571 | .row-fluid .offset4:first-child {
572 | margin-left: 34.04255319148936%;
573 | *margin-left: 33.93617021276596%;
574 | }
575 |
576 | .row-fluid .offset3 {
577 | margin-left: 27.659574468085104%;
578 | *margin-left: 27.5531914893617%;
579 | }
580 |
581 | .row-fluid .offset3:first-child {
582 | margin-left: 25.53191489361702%;
583 | *margin-left: 25.425531914893618%;
584 | }
585 |
586 | .row-fluid .offset2 {
587 | margin-left: 19.148936170212764%;
588 | *margin-left: 19.04255319148936%;
589 | }
590 |
591 | .row-fluid .offset2:first-child {
592 | margin-left: 17.02127659574468%;
593 | *margin-left: 16.914893617021278%;
594 | }
595 |
596 | .row-fluid .offset1 {
597 | margin-left: 10.638297872340425%;
598 | *margin-left: 10.53191489361702%;
599 | }
600 |
601 | .row-fluid .offset1:first-child {
602 | margin-left: 8.51063829787234%;
603 | *margin-left: 8.404255319148938%;
604 | }
605 |
606 | [class*="span"].hide,
607 | .row-fluid [class*="span"].hide {
608 | display: none;
609 | }
610 |
611 | [class*="span"].pull-right,
612 | .row-fluid [class*="span"].pull-right {
613 | float: right;
614 | }
615 |
616 | .container {
617 | margin-right: auto;
618 | margin-left: auto;
619 | *zoom: 1;
620 | }
621 |
622 | .container:before,
623 | .container:after {
624 | display: table;
625 | line-height: 0;
626 | content: "";
627 | }
628 |
629 | .container:after {
630 | clear: both;
631 | }
632 |
633 | .container-fluid {
634 | padding-right: 20px;
635 | padding-left: 20px;
636 | *zoom: 1;
637 | }
638 |
639 | .container-fluid:before,
640 | .container-fluid:after {
641 | display: table;
642 | line-height: 0;
643 | content: "";
644 | }
645 |
646 | .container-fluid:after {
647 | clear: both;
648 | }
649 |
650 | p {
651 | margin: 0 0 10px;
652 | }
653 |
654 | .lead {
655 | margin-bottom: 20px;
656 | font-size: 21px;
657 | font-weight: 200;
658 | line-height: 30px;
659 | }
660 |
661 | small {
662 | font-size: 85%;
663 | }
664 |
665 | strong {
666 | font-weight: bold;
667 | }
668 |
669 | em {
670 | font-style: italic;
671 | }
672 |
673 | cite {
674 | font-style: normal;
675 | }
676 |
677 | .muted {
678 | color: #999999;
679 | }
680 |
681 | a.muted:hover {
682 | color: #808080;
683 | }
684 |
685 | .text-warning {
686 | color: #c09853;
687 | }
688 |
689 | a.text-warning:hover {
690 | color: #a47e3c;
691 | }
692 |
693 | .text-error {
694 | color: #b94a48;
695 | }
696 |
697 | a.text-error:hover {
698 | color: #953b39;
699 | }
700 |
701 | .text-info {
702 | color: #3a87ad;
703 | }
704 |
705 | a.text-info:hover {
706 | color: #2d6987;
707 | }
708 |
709 | .text-success {
710 | color: #468847;
711 | }
712 |
713 | a.text-success:hover {
714 | color: #356635;
715 | }
716 |
717 | h1,
718 | h2,
719 | h3,
720 | h4,
721 | h5,
722 | h6 {
723 | margin: 10px 0;
724 | font-family: inherit;
725 | font-weight: bold;
726 | line-height: 20px;
727 | color: inherit;
728 | text-rendering: optimizelegibility;
729 | }
730 |
731 | h1 small,
732 | h2 small,
733 | h3 small,
734 | h4 small,
735 | h5 small,
736 | h6 small {
737 | font-weight: normal;
738 | line-height: 1;
739 | color: #999999;
740 | }
741 |
742 | h1,
743 | h2,
744 | h3 {
745 | line-height: 40px;
746 | }
747 |
748 | h1 {
749 | font-size: 38.5px;
750 | }
751 |
752 | h2 {
753 | font-size: 31.5px;
754 | }
755 |
756 | h3 {
757 | font-size: 24.5px;
758 | }
759 |
760 | h4 {
761 | font-size: 17.5px;
762 | }
763 |
764 | h5 {
765 | font-size: 14px;
766 | }
767 |
768 | h6 {
769 | font-size: 11.9px;
770 | }
771 |
772 | h1 small {
773 | font-size: 24.5px;
774 | }
775 |
776 | h2 small {
777 | font-size: 17.5px;
778 | }
779 |
780 | h3 small {
781 | font-size: 14px;
782 | }
783 |
784 | h4 small {
785 | font-size: 14px;
786 | }
787 |
788 | .page-header {
789 | padding-bottom: 9px;
790 | margin: 20px 0 30px;
791 | border-bottom: 1px solid #eeeeee;
792 | }
793 |
794 | ul,
795 | ol {
796 | padding: 0;
797 | margin: 0 0 10px 25px;
798 | }
799 |
800 | ul ul,
801 | ul ol,
802 | ol ol,
803 | ol ul {
804 | margin-bottom: 0;
805 | }
806 |
807 | li {
808 | line-height: 20px;
809 | }
810 |
811 | ul.unstyled,
812 | ol.unstyled {
813 | margin-left: 0;
814 | list-style: none;
815 | }
816 |
817 | ul.inline,
818 | ol.inline {
819 | margin-left: 0;
820 | list-style: none;
821 | }
822 |
823 | ul.inline > li,
824 | ol.inline > li {
825 | display: inline-block;
826 | padding-right: 5px;
827 | padding-left: 5px;
828 | }
829 |
830 | dl {
831 | margin-bottom: 20px;
832 | }
833 |
834 | dt,
835 | dd {
836 | line-height: 20px;
837 | }
838 |
839 | dt {
840 | font-weight: bold;
841 | }
842 |
843 | dd {
844 | margin-left: 10px;
845 | }
846 |
847 | .dl-horizontal {
848 | *zoom: 1;
849 | }
850 |
851 | .dl-horizontal:before,
852 | .dl-horizontal:after {
853 | display: table;
854 | line-height: 0;
855 | content: "";
856 | }
857 |
858 | .dl-horizontal:after {
859 | clear: both;
860 | }
861 |
862 | .dl-horizontal dt {
863 | float: left;
864 | width: 160px;
865 | overflow: hidden;
866 | clear: left;
867 | text-align: right;
868 | text-overflow: ellipsis;
869 | white-space: nowrap;
870 | }
871 |
872 | .dl-horizontal dd {
873 | margin-left: 180px;
874 | }
875 |
876 | hr {
877 | margin: 20px 0;
878 | border: 0;
879 | border-top: 1px solid #eeeeee;
880 | border-bottom: 1px solid #ffffff;
881 | }
882 |
883 | abbr[title],
884 | abbr[data-original-title] {
885 | cursor: help;
886 | border-bottom: 1px dotted #999999;
887 | }
888 |
889 | abbr.initialism {
890 | font-size: 90%;
891 | text-transform: uppercase;
892 | }
893 |
894 | blockquote {
895 | padding: 0 0 0 15px;
896 | margin: 0 0 20px;
897 | border-left: 5px solid #eeeeee;
898 | }
899 |
900 | blockquote p {
901 | margin-bottom: 0;
902 | font-size: 16px;
903 | font-weight: 300;
904 | line-height: 25px;
905 | }
906 |
907 | blockquote small {
908 | display: block;
909 | line-height: 20px;
910 | color: #999999;
911 | }
912 |
913 | blockquote small:before {
914 | content: '\2014 \00A0';
915 | }
916 |
917 | blockquote.pull-right {
918 | float: right;
919 | padding-right: 15px;
920 | padding-left: 0;
921 | border-right: 5px solid #eeeeee;
922 | border-left: 0;
923 | }
924 |
925 | blockquote.pull-right p,
926 | blockquote.pull-right small {
927 | text-align: right;
928 | }
929 |
930 | blockquote.pull-right small:before {
931 | content: '';
932 | }
933 |
934 | blockquote.pull-right small:after {
935 | content: '\00A0 \2014';
936 | }
937 |
938 | q:before,
939 | q:after,
940 | blockquote:before,
941 | blockquote:after {
942 | content: "";
943 | }
944 |
945 | address {
946 | display: block;
947 | margin-bottom: 20px;
948 | font-style: normal;
949 | line-height: 20px;
950 | }
951 |
952 | code,
953 | pre {
954 | padding: 0 3px 2px;
955 | font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
956 | font-size: 12px;
957 | color: #333333;
958 | -webkit-border-radius: 3px;
959 | -moz-border-radius: 3px;
960 | border-radius: 3px;
961 | }
962 |
963 | code {
964 | padding: 2px 4px;
965 | color: #d14;
966 | white-space: nowrap;
967 | background-color: #f7f7f9;
968 | border: 1px solid #e1e1e8;
969 | }
970 |
971 | pre {
972 | display: block;
973 | padding: 9.5px;
974 | margin: 0 0 10px;
975 | font-size: 13px;
976 | line-height: 20px;
977 | word-break: break-all;
978 | word-wrap: break-word;
979 | white-space: pre;
980 | white-space: pre-wrap;
981 | background-color: #f5f5f5;
982 | border: 1px solid #ccc;
983 | border: 1px solid rgba(0, 0, 0, 0.15);
984 | -webkit-border-radius: 4px;
985 | -moz-border-radius: 4px;
986 | border-radius: 4px;
987 | }
988 |
989 | pre.prettyprint {
990 | margin-bottom: 20px;
991 | }
992 |
993 | pre code {
994 | padding: 0;
995 | color: inherit;
996 | white-space: pre;
997 | white-space: pre-wrap;
998 | background-color: transparent;
999 | border: 0;
1000 | }
1001 |
1002 | .pre-scrollable {
1003 | max-height: 340px;
1004 | overflow-y: scroll;
1005 | }
1006 |
1007 | form {
1008 | margin: 0 0 20px;
1009 | }
1010 |
1011 | fieldset {
1012 | padding: 0;
1013 | margin: 0;
1014 | border: 0;
1015 | }
1016 |
1017 | legend {
1018 | display: block;
1019 | width: 100%;
1020 | padding: 0;
1021 | margin-bottom: 20px;
1022 | font-size: 21px;
1023 | line-height: 40px;
1024 | color: #333333;
1025 | border: 0;
1026 | border-bottom: 1px solid #e5e5e5;
1027 | }
1028 |
1029 | legend small {
1030 | font-size: 15px;
1031 | color: #999999;
1032 | }
1033 |
1034 | label,
1035 | input,
1036 | button,
1037 | select,
1038 | textarea {
1039 | font-size: 14px;
1040 | font-weight: normal;
1041 | line-height: 20px;
1042 | }
1043 |
1044 | input,
1045 | button,
1046 | select,
1047 | textarea {
1048 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
1049 | }
1050 |
1051 | label {
1052 | display: block;
1053 | margin-bottom: 5px;
1054 | }
1055 |
1056 | select,
1057 | textarea,
1058 | input[type="text"],
1059 | input[type="password"],
1060 | input[type="datetime"],
1061 | input[type="datetime-local"],
1062 | input[type="date"],
1063 | input[type="month"],
1064 | input[type="time"],
1065 | input[type="week"],
1066 | input[type="number"],
1067 | input[type="email"],
1068 | input[type="url"],
1069 | input[type="search"],
1070 | input[type="tel"],
1071 | input[type="color"],
1072 | .uneditable-input {
1073 | display: inline-block;
1074 | height: 20px;
1075 | padding: 4px 6px;
1076 | margin-bottom: 10px;
1077 | font-size: 14px;
1078 | line-height: 20px;
1079 | color: #555555;
1080 | vertical-align: middle;
1081 | -webkit-border-radius: 4px;
1082 | -moz-border-radius: 4px;
1083 | border-radius: 4px;
1084 | }
1085 |
1086 | input,
1087 | textarea,
1088 | .uneditable-input {
1089 | width: 206px;
1090 | }
1091 |
1092 | textarea {
1093 | height: auto;
1094 | }
1095 |
1096 | textarea,
1097 | input[type="text"],
1098 | input[type="password"],
1099 | input[type="datetime"],
1100 | input[type="datetime-local"],
1101 | input[type="date"],
1102 | input[type="month"],
1103 | input[type="time"],
1104 | input[type="week"],
1105 | input[type="number"],
1106 | input[type="email"],
1107 | input[type="url"],
1108 | input[type="search"],
1109 | input[type="tel"],
1110 | input[type="color"],
1111 | .uneditable-input {
1112 | background-color: #ffffff;
1113 | border: 1px solid #cccccc;
1114 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1115 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1116 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1117 | -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
1118 | -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
1119 | -o-transition: border linear 0.2s, box-shadow linear 0.2s;
1120 | transition: border linear 0.2s, box-shadow linear 0.2s;
1121 | }
1122 |
1123 | textarea:focus,
1124 | input[type="text"]:focus,
1125 | input[type="password"]:focus,
1126 | input[type="datetime"]:focus,
1127 | input[type="datetime-local"]:focus,
1128 | input[type="date"]:focus,
1129 | input[type="month"]:focus,
1130 | input[type="time"]:focus,
1131 | input[type="week"]:focus,
1132 | input[type="number"]:focus,
1133 | input[type="email"]:focus,
1134 | input[type="url"]:focus,
1135 | input[type="search"]:focus,
1136 | input[type="tel"]:focus,
1137 | input[type="color"]:focus,
1138 | .uneditable-input:focus {
1139 | border-color: rgba(82, 168, 236, 0.8);
1140 | outline: 0;
1141 | outline: thin dotted \9;
1142 | /* IE6-9 */
1143 |
1144 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
1145 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
1146 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
1147 | }
1148 |
1149 | input[type="radio"],
1150 | input[type="checkbox"] {
1151 | margin: 4px 0 0;
1152 | margin-top: 1px \9;
1153 | *margin-top: 0;
1154 | line-height: normal;
1155 | }
1156 |
1157 | input[type="file"],
1158 | input[type="image"],
1159 | input[type="submit"],
1160 | input[type="reset"],
1161 | input[type="button"],
1162 | input[type="radio"],
1163 | input[type="checkbox"] {
1164 | width: auto;
1165 | }
1166 |
1167 | select,
1168 | input[type="file"] {
1169 | height: 30px;
1170 | /* In IE7, the height of the select element cannot be changed by height, only font-size */
1171 |
1172 | *margin-top: 4px;
1173 | /* For IE7, add top margin to align select with labels */
1174 |
1175 | line-height: 30px;
1176 | }
1177 |
1178 | select {
1179 | width: 220px;
1180 | background-color: #ffffff;
1181 | border: 1px solid #cccccc;
1182 | }
1183 |
1184 | select[multiple],
1185 | select[size] {
1186 | height: auto;
1187 | }
1188 |
1189 | select:focus,
1190 | input[type="file"]:focus,
1191 | input[type="radio"]:focus,
1192 | input[type="checkbox"]:focus {
1193 | outline: thin dotted #333;
1194 | outline: 5px auto -webkit-focus-ring-color;
1195 | outline-offset: -2px;
1196 | }
1197 |
1198 | .uneditable-input,
1199 | .uneditable-textarea {
1200 | color: #999999;
1201 | cursor: not-allowed;
1202 | background-color: #fcfcfc;
1203 | border-color: #cccccc;
1204 | -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
1205 | -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
1206 | box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
1207 | }
1208 |
1209 | .uneditable-input {
1210 | overflow: hidden;
1211 | white-space: nowrap;
1212 | }
1213 |
1214 | .uneditable-textarea {
1215 | width: auto;
1216 | height: auto;
1217 | }
1218 |
1219 | input:-moz-placeholder,
1220 | textarea:-moz-placeholder {
1221 | color: #999999;
1222 | }
1223 |
1224 | input:-ms-input-placeholder,
1225 | textarea:-ms-input-placeholder {
1226 | color: #999999;
1227 | }
1228 |
1229 | input::-webkit-input-placeholder,
1230 | textarea::-webkit-input-placeholder {
1231 | color: #999999;
1232 | }
1233 |
1234 | .radio,
1235 | .checkbox {
1236 | min-height: 20px;
1237 | padding-left: 20px;
1238 | }
1239 |
1240 | .radio input[type="radio"],
1241 | .checkbox input[type="checkbox"] {
1242 | float: left;
1243 | margin-left: -20px;
1244 | }
1245 |
1246 | .controls > .radio:first-child,
1247 | .controls > .checkbox:first-child {
1248 | padding-top: 5px;
1249 | }
1250 |
1251 | .radio.inline,
1252 | .checkbox.inline {
1253 | display: inline-block;
1254 | padding-top: 5px;
1255 | margin-bottom: 0;
1256 | vertical-align: middle;
1257 | }
1258 |
1259 | .radio.inline + .radio.inline,
1260 | .checkbox.inline + .checkbox.inline {
1261 | margin-left: 10px;
1262 | }
1263 |
1264 | .input-mini {
1265 | width: 60px;
1266 | }
1267 |
1268 | .input-small {
1269 | width: 90px;
1270 | }
1271 |
1272 | .input-medium {
1273 | width: 150px;
1274 | }
1275 |
1276 | .input-large {
1277 | width: 210px;
1278 | }
1279 |
1280 | .input-xlarge {
1281 | width: 270px;
1282 | }
1283 |
1284 | .input-xxlarge {
1285 | width: 530px;
1286 | }
1287 |
1288 | input[class*="span"],
1289 | select[class*="span"],
1290 | textarea[class*="span"],
1291 | .uneditable-input[class*="span"],
1292 | .row-fluid input[class*="span"],
1293 | .row-fluid select[class*="span"],
1294 | .row-fluid textarea[class*="span"],
1295 | .row-fluid .uneditable-input[class*="span"] {
1296 | float: none;
1297 | margin-left: 0;
1298 | }
1299 |
1300 | .input-append input[class*="span"],
1301 | .input-append .uneditable-input[class*="span"],
1302 | .input-prepend input[class*="span"],
1303 | .input-prepend .uneditable-input[class*="span"],
1304 | .row-fluid input[class*="span"],
1305 | .row-fluid select[class*="span"],
1306 | .row-fluid textarea[class*="span"],
1307 | .row-fluid .uneditable-input[class*="span"],
1308 | .row-fluid .input-prepend [class*="span"],
1309 | .row-fluid .input-append [class*="span"] {
1310 | display: inline-block;
1311 | }
1312 |
1313 | input,
1314 | textarea,
1315 | .uneditable-input {
1316 | margin-left: 0;
1317 | }
1318 |
1319 | .controls-row [class*="span"] + [class*="span"] {
1320 | margin-left: 20px;
1321 | }
1322 |
1323 | input.span12,
1324 | textarea.span12,
1325 | .uneditable-input.span12 {
1326 | width: 926px;
1327 | }
1328 |
1329 | input.span11,
1330 | textarea.span11,
1331 | .uneditable-input.span11 {
1332 | width: 846px;
1333 | }
1334 |
1335 | input.span10,
1336 | textarea.span10,
1337 | .uneditable-input.span10 {
1338 | width: 766px;
1339 | }
1340 |
1341 | input.span9,
1342 | textarea.span9,
1343 | .uneditable-input.span9 {
1344 | width: 686px;
1345 | }
1346 |
1347 | input.span8,
1348 | textarea.span8,
1349 | .uneditable-input.span8 {
1350 | width: 606px;
1351 | }
1352 |
1353 | input.span7,
1354 | textarea.span7,
1355 | .uneditable-input.span7 {
1356 | width: 526px;
1357 | }
1358 |
1359 | input.span6,
1360 | textarea.span6,
1361 | .uneditable-input.span6 {
1362 | width: 446px;
1363 | }
1364 |
1365 | input.span5,
1366 | textarea.span5,
1367 | .uneditable-input.span5 {
1368 | width: 366px;
1369 | }
1370 |
1371 | input.span4,
1372 | textarea.span4,
1373 | .uneditable-input.span4 {
1374 | width: 286px;
1375 | }
1376 |
1377 | input.span3,
1378 | textarea.span3,
1379 | .uneditable-input.span3 {
1380 | width: 206px;
1381 | }
1382 |
1383 | input.span2,
1384 | textarea.span2,
1385 | .uneditable-input.span2 {
1386 | width: 126px;
1387 | }
1388 |
1389 | input.span1,
1390 | textarea.span1,
1391 | .uneditable-input.span1 {
1392 | width: 46px;
1393 | }
1394 |
1395 | .controls-row {
1396 | *zoom: 1;
1397 | }
1398 |
1399 | .controls-row:before,
1400 | .controls-row:after {
1401 | display: table;
1402 | line-height: 0;
1403 | content: "";
1404 | }
1405 |
1406 | .controls-row:after {
1407 | clear: both;
1408 | }
1409 |
1410 | .controls-row [class*="span"],
1411 | .row-fluid .controls-row [class*="span"] {
1412 | float: left;
1413 | }
1414 |
1415 | .controls-row .checkbox[class*="span"],
1416 | .controls-row .radio[class*="span"] {
1417 | padding-top: 5px;
1418 | }
1419 |
1420 | input[disabled],
1421 | select[disabled],
1422 | textarea[disabled],
1423 | input[readonly],
1424 | select[readonly],
1425 | textarea[readonly] {
1426 | cursor: not-allowed;
1427 | background-color: #eeeeee;
1428 | }
1429 |
1430 | input[type="radio"][disabled],
1431 | input[type="checkbox"][disabled],
1432 | input[type="radio"][readonly],
1433 | input[type="checkbox"][readonly] {
1434 | background-color: transparent;
1435 | }
1436 |
1437 | .control-group.warning .control-label,
1438 | .control-group.warning .help-block,
1439 | .control-group.warning .help-inline {
1440 | color: #c09853;
1441 | }
1442 |
1443 | .control-group.warning .checkbox,
1444 | .control-group.warning .radio,
1445 | .control-group.warning input,
1446 | .control-group.warning select,
1447 | .control-group.warning textarea {
1448 | color: #c09853;
1449 | }
1450 |
1451 | .control-group.warning input,
1452 | .control-group.warning select,
1453 | .control-group.warning textarea {
1454 | border-color: #c09853;
1455 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1456 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1457 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1458 | }
1459 |
1460 | .control-group.warning input:focus,
1461 | .control-group.warning select:focus,
1462 | .control-group.warning textarea:focus {
1463 | border-color: #a47e3c;
1464 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
1465 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
1466 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
1467 | }
1468 |
1469 | .control-group.warning .input-prepend .add-on,
1470 | .control-group.warning .input-append .add-on {
1471 | color: #c09853;
1472 | background-color: #fcf8e3;
1473 | border-color: #c09853;
1474 | }
1475 |
1476 | .control-group.error .control-label,
1477 | .control-group.error .help-block,
1478 | .control-group.error .help-inline {
1479 | color: #b94a48;
1480 | }
1481 |
1482 | .control-group.error .checkbox,
1483 | .control-group.error .radio,
1484 | .control-group.error input,
1485 | .control-group.error select,
1486 | .control-group.error textarea {
1487 | color: #b94a48;
1488 | }
1489 |
1490 | .control-group.error input,
1491 | .control-group.error select,
1492 | .control-group.error textarea {
1493 | border-color: #b94a48;
1494 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1495 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1496 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1497 | }
1498 |
1499 | .control-group.error input:focus,
1500 | .control-group.error select:focus,
1501 | .control-group.error textarea:focus {
1502 | border-color: #953b39;
1503 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
1504 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
1505 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
1506 | }
1507 |
1508 | .control-group.error .input-prepend .add-on,
1509 | .control-group.error .input-append .add-on {
1510 | color: #b94a48;
1511 | background-color: #f2dede;
1512 | border-color: #b94a48;
1513 | }
1514 |
1515 | .control-group.success .control-label,
1516 | .control-group.success .help-block,
1517 | .control-group.success .help-inline {
1518 | color: #468847;
1519 | }
1520 |
1521 | .control-group.success .checkbox,
1522 | .control-group.success .radio,
1523 | .control-group.success input,
1524 | .control-group.success select,
1525 | .control-group.success textarea {
1526 | color: #468847;
1527 | }
1528 |
1529 | .control-group.success input,
1530 | .control-group.success select,
1531 | .control-group.success textarea {
1532 | border-color: #468847;
1533 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1534 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1535 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1536 | }
1537 |
1538 | .control-group.success input:focus,
1539 | .control-group.success select:focus,
1540 | .control-group.success textarea:focus {
1541 | border-color: #356635;
1542 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
1543 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
1544 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
1545 | }
1546 |
1547 | .control-group.success .input-prepend .add-on,
1548 | .control-group.success .input-append .add-on {
1549 | color: #468847;
1550 | background-color: #dff0d8;
1551 | border-color: #468847;
1552 | }
1553 |
1554 | .control-group.info .control-label,
1555 | .control-group.info .help-block,
1556 | .control-group.info .help-inline {
1557 | color: #3a87ad;
1558 | }
1559 |
1560 | .control-group.info .checkbox,
1561 | .control-group.info .radio,
1562 | .control-group.info input,
1563 | .control-group.info select,
1564 | .control-group.info textarea {
1565 | color: #3a87ad;
1566 | }
1567 |
1568 | .control-group.info input,
1569 | .control-group.info select,
1570 | .control-group.info textarea {
1571 | border-color: #3a87ad;
1572 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1573 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1574 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1575 | }
1576 |
1577 | .control-group.info input:focus,
1578 | .control-group.info select:focus,
1579 | .control-group.info textarea:focus {
1580 | border-color: #2d6987;
1581 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
1582 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
1583 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
1584 | }
1585 |
1586 | .control-group.info .input-prepend .add-on,
1587 | .control-group.info .input-append .add-on {
1588 | color: #3a87ad;
1589 | background-color: #d9edf7;
1590 | border-color: #3a87ad;
1591 | }
1592 |
1593 | input:focus:invalid,
1594 | textarea:focus:invalid,
1595 | select:focus:invalid {
1596 | color: #b94a48;
1597 | border-color: #ee5f5b;
1598 | }
1599 |
1600 | input:focus:invalid:focus,
1601 | textarea:focus:invalid:focus,
1602 | select:focus:invalid:focus {
1603 | border-color: #e9322d;
1604 | -webkit-box-shadow: 0 0 6px #f8b9b7;
1605 | -moz-box-shadow: 0 0 6px #f8b9b7;
1606 | box-shadow: 0 0 6px #f8b9b7;
1607 | }
1608 |
1609 | .form-actions {
1610 | padding: 19px 20px 20px;
1611 | margin-top: 20px;
1612 | margin-bottom: 20px;
1613 | background-color: #f5f5f5;
1614 | border-top: 1px solid #e5e5e5;
1615 | *zoom: 1;
1616 | }
1617 |
1618 | .form-actions:before,
1619 | .form-actions:after {
1620 | display: table;
1621 | line-height: 0;
1622 | content: "";
1623 | }
1624 |
1625 | .form-actions:after {
1626 | clear: both;
1627 | }
1628 |
1629 | .help-block,
1630 | .help-inline {
1631 | color: #595959;
1632 | }
1633 |
1634 | .help-block {
1635 | display: block;
1636 | margin-bottom: 10px;
1637 | }
1638 |
1639 | .help-inline {
1640 | display: inline-block;
1641 | *display: inline;
1642 | padding-left: 5px;
1643 | vertical-align: middle;
1644 | *zoom: 1;
1645 | }
1646 |
1647 | .input-append,
1648 | .input-prepend {
1649 | margin-bottom: 5px;
1650 | font-size: 0;
1651 | white-space: nowrap;
1652 | }
1653 |
1654 | .input-append input,
1655 | .input-prepend input,
1656 | .input-append select,
1657 | .input-prepend select,
1658 | .input-append .uneditable-input,
1659 | .input-prepend .uneditable-input,
1660 | .input-append .dropdown-menu,
1661 | .input-prepend .dropdown-menu {
1662 | font-size: 14px;
1663 | }
1664 |
1665 | .input-append input,
1666 | .input-prepend input,
1667 | .input-append select,
1668 | .input-prepend select,
1669 | .input-append .uneditable-input,
1670 | .input-prepend .uneditable-input {
1671 | position: relative;
1672 | margin-bottom: 0;
1673 | *margin-left: 0;
1674 | vertical-align: top;
1675 | -webkit-border-radius: 0 4px 4px 0;
1676 | -moz-border-radius: 0 4px 4px 0;
1677 | border-radius: 0 4px 4px 0;
1678 | }
1679 |
1680 | .input-append input:focus,
1681 | .input-prepend input:focus,
1682 | .input-append select:focus,
1683 | .input-prepend select:focus,
1684 | .input-append .uneditable-input:focus,
1685 | .input-prepend .uneditable-input:focus {
1686 | z-index: 2;
1687 | }
1688 |
1689 | .input-append .add-on,
1690 | .input-prepend .add-on {
1691 | display: inline-block;
1692 | width: auto;
1693 | height: 20px;
1694 | min-width: 16px;
1695 | padding: 4px 5px;
1696 | font-size: 14px;
1697 | font-weight: normal;
1698 | line-height: 20px;
1699 | text-align: center;
1700 | text-shadow: 0 1px 0 #ffffff;
1701 | background-color: #eeeeee;
1702 | border: 1px solid #ccc;
1703 | }
1704 |
1705 | .input-append .add-on,
1706 | .input-prepend .add-on,
1707 | .input-append .btn,
1708 | .input-prepend .btn,
1709 | .input-append .btn-group > .dropdown-toggle,
1710 | .input-prepend .btn-group > .dropdown-toggle {
1711 | vertical-align: top;
1712 | -webkit-border-radius: 0;
1713 | -moz-border-radius: 0;
1714 | border-radius: 0;
1715 | }
1716 |
1717 | .input-append .active,
1718 | .input-prepend .active {
1719 | background-color: #a9dba9;
1720 | border-color: #46a546;
1721 | }
1722 |
1723 | .input-prepend .add-on,
1724 | .input-prepend .btn {
1725 | margin-right: -1px;
1726 | }
1727 |
1728 | .input-prepend .add-on:first-child,
1729 | .input-prepend .btn:first-child {
1730 | -webkit-border-radius: 4px 0 0 4px;
1731 | -moz-border-radius: 4px 0 0 4px;
1732 | border-radius: 4px 0 0 4px;
1733 | }
1734 |
1735 | .input-append input,
1736 | .input-append select,
1737 | .input-append .uneditable-input {
1738 | -webkit-border-radius: 4px 0 0 4px;
1739 | -moz-border-radius: 4px 0 0 4px;
1740 | border-radius: 4px 0 0 4px;
1741 | }
1742 |
1743 | .input-append input + .btn-group .btn:last-child,
1744 | .input-append select + .btn-group .btn:last-child,
1745 | .input-append .uneditable-input + .btn-group .btn:last-child {
1746 | -webkit-border-radius: 0 4px 4px 0;
1747 | -moz-border-radius: 0 4px 4px 0;
1748 | border-radius: 0 4px 4px 0;
1749 | }
1750 |
1751 | .input-append .add-on,
1752 | .input-append .btn,
1753 | .input-append .btn-group {
1754 | margin-left: -1px;
1755 | }
1756 |
1757 | .input-append .add-on:last-child,
1758 | .input-append .btn:last-child,
1759 | .input-append .btn-group:last-child > .dropdown-toggle {
1760 | -webkit-border-radius: 0 4px 4px 0;
1761 | -moz-border-radius: 0 4px 4px 0;
1762 | border-radius: 0 4px 4px 0;
1763 | }
1764 |
1765 | .input-prepend.input-append input,
1766 | .input-prepend.input-append select,
1767 | .input-prepend.input-append .uneditable-input {
1768 | -webkit-border-radius: 0;
1769 | -moz-border-radius: 0;
1770 | border-radius: 0;
1771 | }
1772 |
1773 | .input-prepend.input-append input + .btn-group .btn,
1774 | .input-prepend.input-append select + .btn-group .btn,
1775 | .input-prepend.input-append .uneditable-input + .btn-group .btn {
1776 | -webkit-border-radius: 0 4px 4px 0;
1777 | -moz-border-radius: 0 4px 4px 0;
1778 | border-radius: 0 4px 4px 0;
1779 | }
1780 |
1781 | .input-prepend.input-append .add-on:first-child,
1782 | .input-prepend.input-append .btn:first-child {
1783 | margin-right: -1px;
1784 | -webkit-border-radius: 4px 0 0 4px;
1785 | -moz-border-radius: 4px 0 0 4px;
1786 | border-radius: 4px 0 0 4px;
1787 | }
1788 |
1789 | .input-prepend.input-append .add-on:last-child,
1790 | .input-prepend.input-append .btn:last-child {
1791 | margin-left: -1px;
1792 | -webkit-border-radius: 0 4px 4px 0;
1793 | -moz-border-radius: 0 4px 4px 0;
1794 | border-radius: 0 4px 4px 0;
1795 | }
1796 |
1797 | .input-prepend.input-append .btn-group:first-child {
1798 | margin-left: 0;
1799 | }
1800 |
1801 | input.search-query {
1802 | padding-right: 14px;
1803 | padding-right: 4px \9;
1804 | padding-left: 14px;
1805 | padding-left: 4px \9;
1806 | /* IE7-8 doesn't have border-radius, so don't indent the padding */
1807 |
1808 | margin-bottom: 0;
1809 | -webkit-border-radius: 15px;
1810 | -moz-border-radius: 15px;
1811 | border-radius: 15px;
1812 | }
1813 |
1814 | /* Allow for input prepend/append in search forms */
1815 |
1816 | .form-search .input-append .search-query,
1817 | .form-search .input-prepend .search-query {
1818 | -webkit-border-radius: 0;
1819 | -moz-border-radius: 0;
1820 | border-radius: 0;
1821 | }
1822 |
1823 | .form-search .input-append .search-query {
1824 | -webkit-border-radius: 14px 0 0 14px;
1825 | -moz-border-radius: 14px 0 0 14px;
1826 | border-radius: 14px 0 0 14px;
1827 | }
1828 |
1829 | .form-search .input-append .btn {
1830 | -webkit-border-radius: 0 14px 14px 0;
1831 | -moz-border-radius: 0 14px 14px 0;
1832 | border-radius: 0 14px 14px 0;
1833 | }
1834 |
1835 | .form-search .input-prepend .search-query {
1836 | -webkit-border-radius: 0 14px 14px 0;
1837 | -moz-border-radius: 0 14px 14px 0;
1838 | border-radius: 0 14px 14px 0;
1839 | }
1840 |
1841 | .form-search .input-prepend .btn {
1842 | -webkit-border-radius: 14px 0 0 14px;
1843 | -moz-border-radius: 14px 0 0 14px;
1844 | border-radius: 14px 0 0 14px;
1845 | }
1846 |
1847 | .form-search input,
1848 | .form-inline input,
1849 | .form-horizontal input,
1850 | .form-search textarea,
1851 | .form-inline textarea,
1852 | .form-horizontal textarea,
1853 | .form-search select,
1854 | .form-inline select,
1855 | .form-horizontal select,
1856 | .form-search .help-inline,
1857 | .form-inline .help-inline,
1858 | .form-horizontal .help-inline,
1859 | .form-search .uneditable-input,
1860 | .form-inline .uneditable-input,
1861 | .form-horizontal .uneditable-input,
1862 | .form-search .input-prepend,
1863 | .form-inline .input-prepend,
1864 | .form-horizontal .input-prepend,
1865 | .form-search .input-append,
1866 | .form-inline .input-append,
1867 | .form-horizontal .input-append {
1868 | display: inline-block;
1869 | *display: inline;
1870 | margin-bottom: 0;
1871 | vertical-align: middle;
1872 | *zoom: 1;
1873 | }
1874 |
1875 | .form-search .hide,
1876 | .form-inline .hide,
1877 | .form-horizontal .hide {
1878 | display: none;
1879 | }
1880 |
1881 | .form-search label,
1882 | .form-inline label,
1883 | .form-search .btn-group,
1884 | .form-inline .btn-group {
1885 | display: inline-block;
1886 | }
1887 |
1888 | .form-search .input-append,
1889 | .form-inline .input-append,
1890 | .form-search .input-prepend,
1891 | .form-inline .input-prepend {
1892 | margin-bottom: 0;
1893 | }
1894 |
1895 | .form-search .radio,
1896 | .form-search .checkbox,
1897 | .form-inline .radio,
1898 | .form-inline .checkbox {
1899 | padding-left: 0;
1900 | margin-bottom: 0;
1901 | vertical-align: middle;
1902 | }
1903 |
1904 | .form-search .radio input[type="radio"],
1905 | .form-search .checkbox input[type="checkbox"],
1906 | .form-inline .radio input[type="radio"],
1907 | .form-inline .checkbox input[type="checkbox"] {
1908 | float: left;
1909 | margin-right: 3px;
1910 | margin-left: 0;
1911 | }
1912 |
1913 | .control-group {
1914 | margin-bottom: 10px;
1915 | }
1916 |
1917 | legend + .control-group {
1918 | margin-top: 20px;
1919 | -webkit-margin-top-collapse: separate;
1920 | }
1921 |
1922 | .form-horizontal .control-group {
1923 | margin-bottom: 20px;
1924 | *zoom: 1;
1925 | }
1926 |
1927 | .form-horizontal .control-group:before,
1928 | .form-horizontal .control-group:after {
1929 | display: table;
1930 | line-height: 0;
1931 | content: "";
1932 | }
1933 |
1934 | .form-horizontal .control-group:after {
1935 | clear: both;
1936 | }
1937 |
1938 | .form-horizontal .control-label {
1939 | float: left;
1940 | width: 160px;
1941 | padding-top: 5px;
1942 | text-align: right;
1943 | }
1944 |
1945 | .form-horizontal .controls {
1946 | *display: inline-block;
1947 | *padding-left: 20px;
1948 | margin-left: 180px;
1949 | *margin-left: 0;
1950 | }
1951 |
1952 | .form-horizontal .controls:first-child {
1953 | *padding-left: 180px;
1954 | }
1955 |
1956 | .form-horizontal .help-block {
1957 | margin-bottom: 0;
1958 | }
1959 |
1960 | .form-horizontal input + .help-block,
1961 | .form-horizontal select + .help-block,
1962 | .form-horizontal textarea + .help-block,
1963 | .form-horizontal .uneditable-input + .help-block,
1964 | .form-horizontal .input-prepend + .help-block,
1965 | .form-horizontal .input-append + .help-block {
1966 | margin-top: 10px;
1967 | }
1968 |
1969 | .form-horizontal .form-actions {
1970 | padding-left: 180px;
1971 | }
1972 |
1973 | table {
1974 | max-width: 100%;
1975 | background-color: transparent;
1976 | border-collapse: collapse;
1977 | border-spacing: 0;
1978 | }
1979 |
1980 | .table {
1981 | width: 100%;
1982 | margin-bottom: 20px;
1983 | }
1984 |
1985 | .table th,
1986 | .table td {
1987 | padding: 8px;
1988 | line-height: 20px;
1989 | text-align: left;
1990 | vertical-align: top;
1991 | border-top: 1px solid #dddddd;
1992 | }
1993 |
1994 | .table th {
1995 | font-weight: bold;
1996 | }
1997 |
1998 | .table thead th {
1999 | vertical-align: bottom;
2000 | }
2001 |
2002 | .table caption + thead tr:first-child th,
2003 | .table caption + thead tr:first-child td,
2004 | .table colgroup + thead tr:first-child th,
2005 | .table colgroup + thead tr:first-child td,
2006 | .table thead:first-child tr:first-child th,
2007 | .table thead:first-child tr:first-child td {
2008 | border-top: 0;
2009 | }
2010 |
2011 | .table tbody + tbody {
2012 | border-top: 2px solid #dddddd;
2013 | }
2014 |
2015 | .table .table {
2016 | background-color: #ffffff;
2017 | }
2018 |
2019 | .table-condensed th,
2020 | .table-condensed td {
2021 | padding: 4px 5px;
2022 | }
2023 |
2024 | .table-bordered {
2025 | border: 1px solid #dddddd;
2026 | border-collapse: separate;
2027 | *border-collapse: collapse;
2028 | border-left: 0;
2029 | -webkit-border-radius: 4px;
2030 | -moz-border-radius: 4px;
2031 | border-radius: 4px;
2032 | }
2033 |
2034 | .table-bordered th,
2035 | .table-bordered td {
2036 | border-left: 1px solid #dddddd;
2037 | }
2038 |
2039 | .table-bordered caption + thead tr:first-child th,
2040 | .table-bordered caption + tbody tr:first-child th,
2041 | .table-bordered caption + tbody tr:first-child td,
2042 | .table-bordered colgroup + thead tr:first-child th,
2043 | .table-bordered colgroup + tbody tr:first-child th,
2044 | .table-bordered colgroup + tbody tr:first-child td,
2045 | .table-bordered thead:first-child tr:first-child th,
2046 | .table-bordered tbody:first-child tr:first-child th,
2047 | .table-bordered tbody:first-child tr:first-child td {
2048 | border-top: 0;
2049 | }
2050 |
2051 | .table-bordered thead:first-child tr:first-child > th:first-child,
2052 | .table-bordered tbody:first-child tr:first-child > td:first-child {
2053 | -webkit-border-top-left-radius: 4px;
2054 | border-top-left-radius: 4px;
2055 | -moz-border-radius-topleft: 4px;
2056 | }
2057 |
2058 | .table-bordered thead:first-child tr:first-child > th:last-child,
2059 | .table-bordered tbody:first-child tr:first-child > td:last-child {
2060 | -webkit-border-top-right-radius: 4px;
2061 | border-top-right-radius: 4px;
2062 | -moz-border-radius-topright: 4px;
2063 | }
2064 |
2065 | .table-bordered thead:last-child tr:last-child > th:first-child,
2066 | .table-bordered tbody:last-child tr:last-child > td:first-child,
2067 | .table-bordered tfoot:last-child tr:last-child > td:first-child {
2068 | -webkit-border-bottom-left-radius: 4px;
2069 | border-bottom-left-radius: 4px;
2070 | -moz-border-radius-bottomleft: 4px;
2071 | }
2072 |
2073 | .table-bordered thead:last-child tr:last-child > th:last-child,
2074 | .table-bordered tbody:last-child tr:last-child > td:last-child,
2075 | .table-bordered tfoot:last-child tr:last-child > td:last-child {
2076 | -webkit-border-bottom-right-radius: 4px;
2077 | border-bottom-right-radius: 4px;
2078 | -moz-border-radius-bottomright: 4px;
2079 | }
2080 |
2081 | .table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
2082 | -webkit-border-bottom-left-radius: 0;
2083 | border-bottom-left-radius: 0;
2084 | -moz-border-radius-bottomleft: 0;
2085 | }
2086 |
2087 | .table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
2088 | -webkit-border-bottom-right-radius: 0;
2089 | border-bottom-right-radius: 0;
2090 | -moz-border-radius-bottomright: 0;
2091 | }
2092 |
2093 | .table-bordered caption + thead tr:first-child th:first-child,
2094 | .table-bordered caption + tbody tr:first-child td:first-child,
2095 | .table-bordered colgroup + thead tr:first-child th:first-child,
2096 | .table-bordered colgroup + tbody tr:first-child td:first-child {
2097 | -webkit-border-top-left-radius: 4px;
2098 | border-top-left-radius: 4px;
2099 | -moz-border-radius-topleft: 4px;
2100 | }
2101 |
2102 | .table-bordered caption + thead tr:first-child th:last-child,
2103 | .table-bordered caption + tbody tr:first-child td:last-child,
2104 | .table-bordered colgroup + thead tr:first-child th:last-child,
2105 | .table-bordered colgroup + tbody tr:first-child td:last-child {
2106 | -webkit-border-top-right-radius: 4px;
2107 | border-top-right-radius: 4px;
2108 | -moz-border-radius-topright: 4px;
2109 | }
2110 |
2111 | .table-striped tbody > tr:nth-child(odd) > td,
2112 | .table-striped tbody > tr:nth-child(odd) > th {
2113 | background-color: #f9f9f9;
2114 | }
2115 |
2116 | .table-hover tbody tr:hover td,
2117 | .table-hover tbody tr:hover th {
2118 | background-color: #f5f5f5;
2119 | }
2120 |
2121 | table td[class*="span"],
2122 | table th[class*="span"],
2123 | .row-fluid table td[class*="span"],
2124 | .row-fluid table th[class*="span"] {
2125 | display: table-cell;
2126 | float: none;
2127 | margin-left: 0;
2128 | }
2129 |
2130 | .table td.span1,
2131 | .table th.span1 {
2132 | float: none;
2133 | width: 44px;
2134 | margin-left: 0;
2135 | }
2136 |
2137 | .table td.span2,
2138 | .table th.span2 {
2139 | float: none;
2140 | width: 124px;
2141 | margin-left: 0;
2142 | }
2143 |
2144 | .table td.span3,
2145 | .table th.span3 {
2146 | float: none;
2147 | width: 204px;
2148 | margin-left: 0;
2149 | }
2150 |
2151 | .table td.span4,
2152 | .table th.span4 {
2153 | float: none;
2154 | width: 284px;
2155 | margin-left: 0;
2156 | }
2157 |
2158 | .table td.span5,
2159 | .table th.span5 {
2160 | float: none;
2161 | width: 364px;
2162 | margin-left: 0;
2163 | }
2164 |
2165 | .table td.span6,
2166 | .table th.span6 {
2167 | float: none;
2168 | width: 444px;
2169 | margin-left: 0;
2170 | }
2171 |
2172 | .table td.span7,
2173 | .table th.span7 {
2174 | float: none;
2175 | width: 524px;
2176 | margin-left: 0;
2177 | }
2178 |
2179 | .table td.span8,
2180 | .table th.span8 {
2181 | float: none;
2182 | width: 604px;
2183 | margin-left: 0;
2184 | }
2185 |
2186 | .table td.span9,
2187 | .table th.span9 {
2188 | float: none;
2189 | width: 684px;
2190 | margin-left: 0;
2191 | }
2192 |
2193 | .table td.span10,
2194 | .table th.span10 {
2195 | float: none;
2196 | width: 764px;
2197 | margin-left: 0;
2198 | }
2199 |
2200 | .table td.span11,
2201 | .table th.span11 {
2202 | float: none;
2203 | width: 844px;
2204 | margin-left: 0;
2205 | }
2206 |
2207 | .table td.span12,
2208 | .table th.span12 {
2209 | float: none;
2210 | width: 924px;
2211 | margin-left: 0;
2212 | }
2213 |
2214 | .table tbody tr.success td {
2215 | background-color: #dff0d8;
2216 | }
2217 |
2218 | .table tbody tr.error td {
2219 | background-color: #f2dede;
2220 | }
2221 |
2222 | .table tbody tr.warning td {
2223 | background-color: #fcf8e3;
2224 | }
2225 |
2226 | .table tbody tr.info td {
2227 | background-color: #d9edf7;
2228 | }
2229 |
2230 | .table-hover tbody tr.success:hover td {
2231 | background-color: #d0e9c6;
2232 | }
2233 |
2234 | .table-hover tbody tr.error:hover td {
2235 | background-color: #ebcccc;
2236 | }
2237 |
2238 | .table-hover tbody tr.warning:hover td {
2239 | background-color: #faf2cc;
2240 | }
2241 |
2242 | .table-hover tbody tr.info:hover td {
2243 | background-color: #c4e3f3;
2244 | }
2245 |
2246 | [class^="icon-"],
2247 | [class*=" icon-"] {
2248 | display: inline-block;
2249 | width: 14px;
2250 | height: 14px;
2251 | margin-top: 1px;
2252 | *margin-right: .3em;
2253 | line-height: 14px;
2254 | vertical-align: text-top;
2255 | background-image: url("../img/glyphicons-halflings.png");
2256 | background-position: 14px 14px;
2257 | background-repeat: no-repeat;
2258 | }
2259 |
2260 | /* White icons with optional class, or on hover/active states of certain elements */
2261 |
2262 | .icon-white,
2263 | .nav-pills > .active > a > [class^="icon-"],
2264 | .nav-pills > .active > a > [class*=" icon-"],
2265 | .nav-list > .active > a > [class^="icon-"],
2266 | .nav-list > .active > a > [class*=" icon-"],
2267 | .navbar-inverse .nav > .active > a > [class^="icon-"],
2268 | .navbar-inverse .nav > .active > a > [class*=" icon-"],
2269 | .dropdown-menu > li > a:hover > [class^="icon-"],
2270 | .dropdown-menu > li > a:hover > [class*=" icon-"],
2271 | .dropdown-menu > .active > a > [class^="icon-"],
2272 | .dropdown-menu > .active > a > [class*=" icon-"],
2273 | .dropdown-submenu:hover > a > [class^="icon-"],
2274 | .dropdown-submenu:hover > a > [class*=" icon-"] {
2275 | background-image: url("../img/glyphicons-halflings-white.png");
2276 | }
2277 |
2278 | .icon-glass {
2279 | background-position: 0 0;
2280 | }
2281 |
2282 | .icon-music {
2283 | background-position: -24px 0;
2284 | }
2285 |
2286 | .icon-search {
2287 | background-position: -48px 0;
2288 | }
2289 |
2290 | .icon-envelope {
2291 | background-position: -72px 0;
2292 | }
2293 |
2294 | .icon-heart {
2295 | background-position: -96px 0;
2296 | }
2297 |
2298 | .icon-star {
2299 | background-position: -120px 0;
2300 | }
2301 |
2302 | .icon-star-empty {
2303 | background-position: -144px 0;
2304 | }
2305 |
2306 | .icon-user {
2307 | background-position: -168px 0;
2308 | }
2309 |
2310 | .icon-film {
2311 | background-position: -192px 0;
2312 | }
2313 |
2314 | .icon-th-large {
2315 | background-position: -216px 0;
2316 | }
2317 |
2318 | .icon-th {
2319 | background-position: -240px 0;
2320 | }
2321 |
2322 | .icon-th-list {
2323 | background-position: -264px 0;
2324 | }
2325 |
2326 | .icon-ok {
2327 | background-position: -288px 0;
2328 | }
2329 |
2330 | .icon-remove {
2331 | background-position: -312px 0;
2332 | }
2333 |
2334 | .icon-zoom-in {
2335 | background-position: -336px 0;
2336 | }
2337 |
2338 | .icon-zoom-out {
2339 | background-position: -360px 0;
2340 | }
2341 |
2342 | .icon-off {
2343 | background-position: -384px 0;
2344 | }
2345 |
2346 | .icon-signal {
2347 | background-position: -408px 0;
2348 | }
2349 |
2350 | .icon-cog {
2351 | background-position: -432px 0;
2352 | }
2353 |
2354 | .icon-trash {
2355 | background-position: -456px 0;
2356 | }
2357 |
2358 | .icon-home {
2359 | background-position: 0 -24px;
2360 | }
2361 |
2362 | .icon-file {
2363 | background-position: -24px -24px;
2364 | }
2365 |
2366 | .icon-time {
2367 | background-position: -48px -24px;
2368 | }
2369 |
2370 | .icon-road {
2371 | background-position: -72px -24px;
2372 | }
2373 |
2374 | .icon-download-alt {
2375 | background-position: -96px -24px;
2376 | }
2377 |
2378 | .icon-download {
2379 | background-position: -120px -24px;
2380 | }
2381 |
2382 | .icon-upload {
2383 | background-position: -144px -24px;
2384 | }
2385 |
2386 | .icon-inbox {
2387 | background-position: -168px -24px;
2388 | }
2389 |
2390 | .icon-play-circle {
2391 | background-position: -192px -24px;
2392 | }
2393 |
2394 | .icon-repeat {
2395 | background-position: -216px -24px;
2396 | }
2397 |
2398 | .icon-refresh {
2399 | background-position: -240px -24px;
2400 | }
2401 |
2402 | .icon-list-alt {
2403 | background-position: -264px -24px;
2404 | }
2405 |
2406 | .icon-lock {
2407 | background-position: -287px -24px;
2408 | }
2409 |
2410 | .icon-flag {
2411 | background-position: -312px -24px;
2412 | }
2413 |
2414 | .icon-headphones {
2415 | background-position: -336px -24px;
2416 | }
2417 |
2418 | .icon-volume-off {
2419 | background-position: -360px -24px;
2420 | }
2421 |
2422 | .icon-volume-down {
2423 | background-position: -384px -24px;
2424 | }
2425 |
2426 | .icon-volume-up {
2427 | background-position: -408px -24px;
2428 | }
2429 |
2430 | .icon-qrcode {
2431 | background-position: -432px -24px;
2432 | }
2433 |
2434 | .icon-barcode {
2435 | background-position: -456px -24px;
2436 | }
2437 |
2438 | .icon-tag {
2439 | background-position: 0 -48px;
2440 | }
2441 |
2442 | .icon-tags {
2443 | background-position: -25px -48px;
2444 | }
2445 |
2446 | .icon-book {
2447 | background-position: -48px -48px;
2448 | }
2449 |
2450 | .icon-bookmark {
2451 | background-position: -72px -48px;
2452 | }
2453 |
2454 | .icon-print {
2455 | background-position: -96px -48px;
2456 | }
2457 |
2458 | .icon-camera {
2459 | background-position: -120px -48px;
2460 | }
2461 |
2462 | .icon-font {
2463 | background-position: -144px -48px;
2464 | }
2465 |
2466 | .icon-bold {
2467 | background-position: -167px -48px;
2468 | }
2469 |
2470 | .icon-italic {
2471 | background-position: -192px -48px;
2472 | }
2473 |
2474 | .icon-text-height {
2475 | background-position: -216px -48px;
2476 | }
2477 |
2478 | .icon-text-width {
2479 | background-position: -240px -48px;
2480 | }
2481 |
2482 | .icon-align-left {
2483 | background-position: -264px -48px;
2484 | }
2485 |
2486 | .icon-align-center {
2487 | background-position: -288px -48px;
2488 | }
2489 |
2490 | .icon-align-right {
2491 | background-position: -312px -48px;
2492 | }
2493 |
2494 | .icon-align-justify {
2495 | background-position: -336px -48px;
2496 | }
2497 |
2498 | .icon-list {
2499 | background-position: -360px -48px;
2500 | }
2501 |
2502 | .icon-indent-left {
2503 | background-position: -384px -48px;
2504 | }
2505 |
2506 | .icon-indent-right {
2507 | background-position: -408px -48px;
2508 | }
2509 |
2510 | .icon-facetime-video {
2511 | background-position: -432px -48px;
2512 | }
2513 |
2514 | .icon-picture {
2515 | background-position: -456px -48px;
2516 | }
2517 |
2518 | .icon-pencil {
2519 | background-position: 0 -72px;
2520 | }
2521 |
2522 | .icon-map-marker {
2523 | background-position: -24px -72px;
2524 | }
2525 |
2526 | .icon-adjust {
2527 | background-position: -48px -72px;
2528 | }
2529 |
2530 | .icon-tint {
2531 | background-position: -72px -72px;
2532 | }
2533 |
2534 | .icon-edit {
2535 | background-position: -96px -72px;
2536 | }
2537 |
2538 | .icon-share {
2539 | background-position: -120px -72px;
2540 | }
2541 |
2542 | .icon-check {
2543 | background-position: -144px -72px;
2544 | }
2545 |
2546 | .icon-move {
2547 | background-position: -168px -72px;
2548 | }
2549 |
2550 | .icon-step-backward {
2551 | background-position: -192px -72px;
2552 | }
2553 |
2554 | .icon-fast-backward {
2555 | background-position: -216px -72px;
2556 | }
2557 |
2558 | .icon-backward {
2559 | background-position: -240px -72px;
2560 | }
2561 |
2562 | .icon-play {
2563 | background-position: -264px -72px;
2564 | }
2565 |
2566 | .icon-pause {
2567 | background-position: -288px -72px;
2568 | }
2569 |
2570 | .icon-stop {
2571 | background-position: -312px -72px;
2572 | }
2573 |
2574 | .icon-forward {
2575 | background-position: -336px -72px;
2576 | }
2577 |
2578 | .icon-fast-forward {
2579 | background-position: -360px -72px;
2580 | }
2581 |
2582 | .icon-step-forward {
2583 | background-position: -384px -72px;
2584 | }
2585 |
2586 | .icon-eject {
2587 | background-position: -408px -72px;
2588 | }
2589 |
2590 | .icon-chevron-left {
2591 | background-position: -432px -72px;
2592 | }
2593 |
2594 | .icon-chevron-right {
2595 | background-position: -456px -72px;
2596 | }
2597 |
2598 | .icon-plus-sign {
2599 | background-position: 0 -96px;
2600 | }
2601 |
2602 | .icon-minus-sign {
2603 | background-position: -24px -96px;
2604 | }
2605 |
2606 | .icon-remove-sign {
2607 | background-position: -48px -96px;
2608 | }
2609 |
2610 | .icon-ok-sign {
2611 | background-position: -72px -96px;
2612 | }
2613 |
2614 | .icon-question-sign {
2615 | background-position: -96px -96px;
2616 | }
2617 |
2618 | .icon-info-sign {
2619 | background-position: -120px -96px;
2620 | }
2621 |
2622 | .icon-screenshot {
2623 | background-position: -144px -96px;
2624 | }
2625 |
2626 | .icon-remove-circle {
2627 | background-position: -168px -96px;
2628 | }
2629 |
2630 | .icon-ok-circle {
2631 | background-position: -192px -96px;
2632 | }
2633 |
2634 | .icon-ban-circle {
2635 | background-position: -216px -96px;
2636 | }
2637 |
2638 | .icon-arrow-left {
2639 | background-position: -240px -96px;
2640 | }
2641 |
2642 | .icon-arrow-right {
2643 | background-position: -264px -96px;
2644 | }
2645 |
2646 | .icon-arrow-up {
2647 | background-position: -289px -96px;
2648 | }
2649 |
2650 | .icon-arrow-down {
2651 | background-position: -312px -96px;
2652 | }
2653 |
2654 | .icon-share-alt {
2655 | background-position: -336px -96px;
2656 | }
2657 |
2658 | .icon-resize-full {
2659 | background-position: -360px -96px;
2660 | }
2661 |
2662 | .icon-resize-small {
2663 | background-position: -384px -96px;
2664 | }
2665 |
2666 | .icon-plus {
2667 | background-position: -408px -96px;
2668 | }
2669 |
2670 | .icon-minus {
2671 | background-position: -433px -96px;
2672 | }
2673 |
2674 | .icon-asterisk {
2675 | background-position: -456px -96px;
2676 | }
2677 |
2678 | .icon-exclamation-sign {
2679 | background-position: 0 -120px;
2680 | }
2681 |
2682 | .icon-gift {
2683 | background-position: -24px -120px;
2684 | }
2685 |
2686 | .icon-leaf {
2687 | background-position: -48px -120px;
2688 | }
2689 |
2690 | .icon-fire {
2691 | background-position: -72px -120px;
2692 | }
2693 |
2694 | .icon-eye-open {
2695 | background-position: -96px -120px;
2696 | }
2697 |
2698 | .icon-eye-close {
2699 | background-position: -120px -120px;
2700 | }
2701 |
2702 | .icon-warning-sign {
2703 | background-position: -144px -120px;
2704 | }
2705 |
2706 | .icon-plane {
2707 | background-position: -168px -120px;
2708 | }
2709 |
2710 | .icon-calendar {
2711 | background-position: -192px -120px;
2712 | }
2713 |
2714 | .icon-random {
2715 | width: 16px;
2716 | background-position: -216px -120px;
2717 | }
2718 |
2719 | .icon-comment {
2720 | background-position: -240px -120px;
2721 | }
2722 |
2723 | .icon-magnet {
2724 | background-position: -264px -120px;
2725 | }
2726 |
2727 | .icon-chevron-up {
2728 | background-position: -288px -120px;
2729 | }
2730 |
2731 | .icon-chevron-down {
2732 | background-position: -313px -119px;
2733 | }
2734 |
2735 | .icon-retweet {
2736 | background-position: -336px -120px;
2737 | }
2738 |
2739 | .icon-shopping-cart {
2740 | background-position: -360px -120px;
2741 | }
2742 |
2743 | .icon-folder-close {
2744 | background-position: -384px -120px;
2745 | }
2746 |
2747 | .icon-folder-open {
2748 | width: 16px;
2749 | background-position: -408px -120px;
2750 | }
2751 |
2752 | .icon-resize-vertical {
2753 | background-position: -432px -119px;
2754 | }
2755 |
2756 | .icon-resize-horizontal {
2757 | background-position: -456px -118px;
2758 | }
2759 |
2760 | .icon-hdd {
2761 | background-position: 0 -144px;
2762 | }
2763 |
2764 | .icon-bullhorn {
2765 | background-position: -24px -144px;
2766 | }
2767 |
2768 | .icon-bell {
2769 | background-position: -48px -144px;
2770 | }
2771 |
2772 | .icon-certificate {
2773 | background-position: -72px -144px;
2774 | }
2775 |
2776 | .icon-thumbs-up {
2777 | background-position: -96px -144px;
2778 | }
2779 |
2780 | .icon-thumbs-down {
2781 | background-position: -120px -144px;
2782 | }
2783 |
2784 | .icon-hand-right {
2785 | background-position: -144px -144px;
2786 | }
2787 |
2788 | .icon-hand-left {
2789 | background-position: -168px -144px;
2790 | }
2791 |
2792 | .icon-hand-up {
2793 | background-position: -192px -144px;
2794 | }
2795 |
2796 | .icon-hand-down {
2797 | background-position: -216px -144px;
2798 | }
2799 |
2800 | .icon-circle-arrow-right {
2801 | background-position: -240px -144px;
2802 | }
2803 |
2804 | .icon-circle-arrow-left {
2805 | background-position: -264px -144px;
2806 | }
2807 |
2808 | .icon-circle-arrow-up {
2809 | background-position: -288px -144px;
2810 | }
2811 |
2812 | .icon-circle-arrow-down {
2813 | background-position: -312px -144px;
2814 | }
2815 |
2816 | .icon-globe {
2817 | background-position: -336px -144px;
2818 | }
2819 |
2820 | .icon-wrench {
2821 | background-position: -360px -144px;
2822 | }
2823 |
2824 | .icon-tasks {
2825 | background-position: -384px -144px;
2826 | }
2827 |
2828 | .icon-filter {
2829 | background-position: -408px -144px;
2830 | }
2831 |
2832 | .icon-briefcase {
2833 | background-position: -432px -144px;
2834 | }
2835 |
2836 | .icon-fullscreen {
2837 | background-position: -456px -144px;
2838 | }
2839 |
2840 | .dropup,
2841 | .dropdown {
2842 | position: relative;
2843 | }
2844 |
2845 | .dropdown-toggle {
2846 | *margin-bottom: -3px;
2847 | }
2848 |
2849 | .dropdown-toggle:active,
2850 | .open .dropdown-toggle {
2851 | outline: 0;
2852 | }
2853 |
2854 | .caret {
2855 | display: inline-block;
2856 | width: 0;
2857 | height: 0;
2858 | vertical-align: top;
2859 | border-top: 4px solid #000000;
2860 | border-right: 4px solid transparent;
2861 | border-left: 4px solid transparent;
2862 | content: "";
2863 | }
2864 |
2865 | .dropdown .caret {
2866 | margin-top: 8px;
2867 | margin-left: 2px;
2868 | }
2869 |
2870 | .dropdown-menu {
2871 | position: absolute;
2872 | top: 100%;
2873 | left: 0;
2874 | z-index: 1000;
2875 | display: none;
2876 | float: left;
2877 | min-width: 160px;
2878 | padding: 5px 0;
2879 | margin: 2px 0 0;
2880 | list-style: none;
2881 | background-color: #ffffff;
2882 | border: 1px solid #ccc;
2883 | border: 1px solid rgba(0, 0, 0, 0.2);
2884 | *border-right-width: 2px;
2885 | *border-bottom-width: 2px;
2886 | -webkit-border-radius: 6px;
2887 | -moz-border-radius: 6px;
2888 | border-radius: 6px;
2889 | -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2890 | -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2891 | box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2892 | -webkit-background-clip: padding-box;
2893 | -moz-background-clip: padding;
2894 | background-clip: padding-box;
2895 | }
2896 |
2897 | .dropdown-menu.pull-right {
2898 | right: 0;
2899 | left: auto;
2900 | }
2901 |
2902 | .dropdown-menu .divider {
2903 | *width: 100%;
2904 | height: 1px;
2905 | margin: 9px 1px;
2906 | *margin: -5px 0 5px;
2907 | overflow: hidden;
2908 | background-color: #e5e5e5;
2909 | border-bottom: 1px solid #ffffff;
2910 | }
2911 |
2912 | .dropdown-menu li > a {
2913 | display: block;
2914 | padding: 3px 20px;
2915 | clear: both;
2916 | font-weight: normal;
2917 | line-height: 20px;
2918 | color: #333333;
2919 | white-space: nowrap;
2920 | }
2921 |
2922 | .dropdown-menu li > a:hover,
2923 | .dropdown-menu li > a:focus,
2924 | .dropdown-submenu:hover > a {
2925 | color: #ffffff;
2926 | text-decoration: none;
2927 | background-color: #0081c2;
2928 | background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
2929 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
2930 | background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
2931 | background-image: -o-linear-gradient(top, #0088cc, #0077b3);
2932 | background-image: linear-gradient(to bottom, #0088cc, #0077b3);
2933 | background-repeat: repeat-x;
2934 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
2935 | }
2936 |
2937 | .dropdown-menu .active > a,
2938 | .dropdown-menu .active > a:hover {
2939 | color: #ffffff;
2940 | text-decoration: none;
2941 | background-color: #0081c2;
2942 | background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
2943 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
2944 | background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
2945 | background-image: -o-linear-gradient(top, #0088cc, #0077b3);
2946 | background-image: linear-gradient(to bottom, #0088cc, #0077b3);
2947 | background-repeat: repeat-x;
2948 | outline: 0;
2949 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
2950 | }
2951 |
2952 | .dropdown-menu .disabled > a,
2953 | .dropdown-menu .disabled > a:hover {
2954 | color: #999999;
2955 | }
2956 |
2957 | .dropdown-menu .disabled > a:hover {
2958 | text-decoration: none;
2959 | cursor: default;
2960 | background-color: transparent;
2961 | background-image: none;
2962 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
2963 | }
2964 |
2965 | .open {
2966 | *z-index: 1000;
2967 | }
2968 |
2969 | .open > .dropdown-menu {
2970 | display: block;
2971 | }
2972 |
2973 | .pull-right > .dropdown-menu {
2974 | right: 0;
2975 | left: auto;
2976 | }
2977 |
2978 | .dropup .caret,
2979 | .navbar-fixed-bottom .dropdown .caret {
2980 | border-top: 0;
2981 | border-bottom: 4px solid #000000;
2982 | content: "";
2983 | }
2984 |
2985 | .dropup .dropdown-menu,
2986 | .navbar-fixed-bottom .dropdown .dropdown-menu {
2987 | top: auto;
2988 | bottom: 100%;
2989 | margin-bottom: 1px;
2990 | }
2991 |
2992 | .dropdown-submenu {
2993 | position: relative;
2994 | }
2995 |
2996 | .dropdown-submenu > .dropdown-menu {
2997 | top: 0;
2998 | left: 100%;
2999 | margin-top: -6px;
3000 | margin-left: -1px;
3001 | -webkit-border-radius: 0 6px 6px 6px;
3002 | -moz-border-radius: 0 6px 6px 6px;
3003 | border-radius: 0 6px 6px 6px;
3004 | }
3005 |
3006 | .dropdown-submenu:hover > .dropdown-menu {
3007 | display: block;
3008 | }
3009 |
3010 | .dropup .dropdown-submenu > .dropdown-menu {
3011 | top: auto;
3012 | bottom: 0;
3013 | margin-top: 0;
3014 | margin-bottom: -2px;
3015 | -webkit-border-radius: 5px 5px 5px 0;
3016 | -moz-border-radius: 5px 5px 5px 0;
3017 | border-radius: 5px 5px 5px 0;
3018 | }
3019 |
3020 | .dropdown-submenu > a:after {
3021 | display: block;
3022 | float: right;
3023 | width: 0;
3024 | height: 0;
3025 | margin-top: 5px;
3026 | margin-right: -10px;
3027 | border-color: transparent;
3028 | border-left-color: #cccccc;
3029 | border-style: solid;
3030 | border-width: 5px 0 5px 5px;
3031 | content: " ";
3032 | }
3033 |
3034 | .dropdown-submenu:hover > a:after {
3035 | border-left-color: #ffffff;
3036 | }
3037 |
3038 | .dropdown-submenu.pull-left {
3039 | float: none;
3040 | }
3041 |
3042 | .dropdown-submenu.pull-left > .dropdown-menu {
3043 | left: -100%;
3044 | margin-left: 10px;
3045 | -webkit-border-radius: 6px 0 6px 6px;
3046 | -moz-border-radius: 6px 0 6px 6px;
3047 | border-radius: 6px 0 6px 6px;
3048 | }
3049 |
3050 | .dropdown .dropdown-menu .nav-header {
3051 | padding-right: 20px;
3052 | padding-left: 20px;
3053 | }
3054 |
3055 | .typeahead {
3056 | z-index: 1051;
3057 | margin-top: 2px;
3058 | -webkit-border-radius: 4px;
3059 | -moz-border-radius: 4px;
3060 | border-radius: 4px;
3061 | }
3062 |
3063 | .well {
3064 | min-height: 20px;
3065 | padding: 19px;
3066 | margin-bottom: 20px;
3067 | background-color: #f5f5f5;
3068 | border: 1px solid #e3e3e3;
3069 | -webkit-border-radius: 4px;
3070 | -moz-border-radius: 4px;
3071 | border-radius: 4px;
3072 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
3073 | -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
3074 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
3075 | }
3076 |
3077 | .well blockquote {
3078 | border-color: #ddd;
3079 | border-color: rgba(0, 0, 0, 0.15);
3080 | }
3081 |
3082 | .well-large {
3083 | padding: 24px;
3084 | -webkit-border-radius: 6px;
3085 | -moz-border-radius: 6px;
3086 | border-radius: 6px;
3087 | }
3088 |
3089 | .well-small {
3090 | padding: 9px;
3091 | -webkit-border-radius: 3px;
3092 | -moz-border-radius: 3px;
3093 | border-radius: 3px;
3094 | }
3095 |
3096 | .fade {
3097 | opacity: 0;
3098 | -webkit-transition: opacity 0.15s linear;
3099 | -moz-transition: opacity 0.15s linear;
3100 | -o-transition: opacity 0.15s linear;
3101 | transition: opacity 0.15s linear;
3102 | }
3103 |
3104 | .fade.in {
3105 | opacity: 1;
3106 | }
3107 |
3108 | .collapse {
3109 | position: relative;
3110 | height: 0;
3111 | overflow: hidden;
3112 | -webkit-transition: height 0.35s ease;
3113 | -moz-transition: height 0.35s ease;
3114 | -o-transition: height 0.35s ease;
3115 | transition: height 0.35s ease;
3116 | }
3117 |
3118 | .collapse.in {
3119 | height: auto;
3120 | }
3121 |
3122 | .close {
3123 | float: right;
3124 | font-size: 20px;
3125 | font-weight: bold;
3126 | line-height: 20px;
3127 | color: #000000;
3128 | text-shadow: 0 1px 0 #ffffff;
3129 | opacity: 0.2;
3130 | filter: alpha(opacity=20);
3131 | }
3132 |
3133 | .close:hover {
3134 | color: #000000;
3135 | text-decoration: none;
3136 | cursor: pointer;
3137 | opacity: 0.4;
3138 | filter: alpha(opacity=40);
3139 | }
3140 |
3141 | button.close {
3142 | padding: 0;
3143 | cursor: pointer;
3144 | background: transparent;
3145 | border: 0;
3146 | -webkit-appearance: none;
3147 | }
3148 |
3149 | .btn {
3150 | display: inline-block;
3151 | *display: inline;
3152 | padding: 4px 12px;
3153 | margin-bottom: 0;
3154 | *margin-left: .3em;
3155 | font-size: 14px;
3156 | line-height: 20px;
3157 | color: #333333;
3158 | text-align: center;
3159 | text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
3160 | vertical-align: middle;
3161 | cursor: pointer;
3162 | background-color: #f5f5f5;
3163 | *background-color: #e6e6e6;
3164 | background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
3165 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
3166 | background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
3167 | background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
3168 | background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
3169 | background-repeat: repeat-x;
3170 | border: 1px solid #bbbbbb;
3171 | *border: 0;
3172 | border-color: #e6e6e6 #e6e6e6 #bfbfbf;
3173 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3174 | border-bottom-color: #a2a2a2;
3175 | -webkit-border-radius: 4px;
3176 | -moz-border-radius: 4px;
3177 | border-radius: 4px;
3178 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
3179 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3180 | *zoom: 1;
3181 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3182 | -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3183 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3184 | }
3185 |
3186 | .btn:hover,
3187 | .btn:active,
3188 | .btn.active,
3189 | .btn.disabled,
3190 | .btn[disabled] {
3191 | color: #333333;
3192 | background-color: #e6e6e6;
3193 | *background-color: #d9d9d9;
3194 | }
3195 |
3196 | .btn:active,
3197 | .btn.active {
3198 | background-color: #cccccc \9;
3199 | }
3200 |
3201 | .btn:first-child {
3202 | *margin-left: 0;
3203 | }
3204 |
3205 | .btn:hover {
3206 | color: #333333;
3207 | text-decoration: none;
3208 | background-position: 0 -15px;
3209 | -webkit-transition: background-position 0.1s linear;
3210 | -moz-transition: background-position 0.1s linear;
3211 | -o-transition: background-position 0.1s linear;
3212 | transition: background-position 0.1s linear;
3213 | }
3214 |
3215 | .btn:focus {
3216 | outline: thin dotted #333;
3217 | outline: 5px auto -webkit-focus-ring-color;
3218 | outline-offset: -2px;
3219 | }
3220 |
3221 | .btn.active,
3222 | .btn:active {
3223 | background-image: none;
3224 | outline: 0;
3225 | -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3226 | -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3227 | box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3228 | }
3229 |
3230 | .btn.disabled,
3231 | .btn[disabled] {
3232 | cursor: default;
3233 | background-image: none;
3234 | opacity: 0.65;
3235 | filter: alpha(opacity=65);
3236 | -webkit-box-shadow: none;
3237 | -moz-box-shadow: none;
3238 | box-shadow: none;
3239 | }
3240 |
3241 | .btn-large {
3242 | padding: 11px 19px;
3243 | font-size: 17.5px;
3244 | -webkit-border-radius: 6px;
3245 | -moz-border-radius: 6px;
3246 | border-radius: 6px;
3247 | }
3248 |
3249 | .btn-large [class^="icon-"],
3250 | .btn-large [class*=" icon-"] {
3251 | margin-top: 4px;
3252 | }
3253 |
3254 | .btn-small {
3255 | padding: 2px 10px;
3256 | font-size: 11.9px;
3257 | -webkit-border-radius: 3px;
3258 | -moz-border-radius: 3px;
3259 | border-radius: 3px;
3260 | }
3261 |
3262 | .btn-small [class^="icon-"],
3263 | .btn-small [class*=" icon-"] {
3264 | margin-top: 0;
3265 | }
3266 |
3267 | .btn-mini [class^="icon-"],
3268 | .btn-mini [class*=" icon-"] {
3269 | margin-top: -1px;
3270 | }
3271 |
3272 | .btn-mini {
3273 | padding: 0 6px;
3274 | font-size: 10.5px;
3275 | -webkit-border-radius: 3px;
3276 | -moz-border-radius: 3px;
3277 | border-radius: 3px;
3278 | }
3279 |
3280 | .btn-block {
3281 | display: block;
3282 | width: 100%;
3283 | padding-right: 0;
3284 | padding-left: 0;
3285 | -webkit-box-sizing: border-box;
3286 | -moz-box-sizing: border-box;
3287 | box-sizing: border-box;
3288 | }
3289 |
3290 | .btn-block + .btn-block {
3291 | margin-top: 5px;
3292 | }
3293 |
3294 | input[type="submit"].btn-block,
3295 | input[type="reset"].btn-block,
3296 | input[type="button"].btn-block {
3297 | width: 100%;
3298 | }
3299 |
3300 | .btn-primary.active,
3301 | .btn-warning.active,
3302 | .btn-danger.active,
3303 | .btn-success.active,
3304 | .btn-info.active,
3305 | .btn-inverse.active {
3306 | color: rgba(255, 255, 255, 0.75);
3307 | }
3308 |
3309 | .btn {
3310 | border-color: #c5c5c5;
3311 | border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);
3312 | }
3313 |
3314 | .btn-primary {
3315 | color: #ffffff;
3316 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3317 | background-color: #006dcc;
3318 | *background-color: #0044cc;
3319 | background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
3320 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
3321 | background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
3322 | background-image: -o-linear-gradient(top, #0088cc, #0044cc);
3323 | background-image: linear-gradient(to bottom, #0088cc, #0044cc);
3324 | background-repeat: repeat-x;
3325 | border-color: #0044cc #0044cc #002a80;
3326 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3327 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
3328 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3329 | }
3330 |
3331 | .btn-primary:hover,
3332 | .btn-primary:active,
3333 | .btn-primary.active,
3334 | .btn-primary.disabled,
3335 | .btn-primary[disabled] {
3336 | color: #ffffff;
3337 | background-color: #0044cc;
3338 | *background-color: #003bb3;
3339 | }
3340 |
3341 | .btn-primary:active,
3342 | .btn-primary.active {
3343 | background-color: #003399 \9;
3344 | }
3345 |
3346 | .btn-warning {
3347 | color: #ffffff;
3348 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3349 | background-color: #faa732;
3350 | *background-color: #f89406;
3351 | background-image: -moz-linear-gradient(top, #fbb450, #f89406);
3352 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
3353 | background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
3354 | background-image: -o-linear-gradient(top, #fbb450, #f89406);
3355 | background-image: linear-gradient(to bottom, #fbb450, #f89406);
3356 | background-repeat: repeat-x;
3357 | border-color: #f89406 #f89406 #ad6704;
3358 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3359 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
3360 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3361 | }
3362 |
3363 | .btn-warning:hover,
3364 | .btn-warning:active,
3365 | .btn-warning.active,
3366 | .btn-warning.disabled,
3367 | .btn-warning[disabled] {
3368 | color: #ffffff;
3369 | background-color: #f89406;
3370 | *background-color: #df8505;
3371 | }
3372 |
3373 | .btn-warning:active,
3374 | .btn-warning.active {
3375 | background-color: #c67605 \9;
3376 | }
3377 |
3378 | .btn-danger {
3379 | color: #ffffff;
3380 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3381 | background-color: #da4f49;
3382 | *background-color: #bd362f;
3383 | background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
3384 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
3385 | background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
3386 | background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
3387 | background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
3388 | background-repeat: repeat-x;
3389 | border-color: #bd362f #bd362f #802420;
3390 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3391 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
3392 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3393 | }
3394 |
3395 | .btn-danger:hover,
3396 | .btn-danger:active,
3397 | .btn-danger.active,
3398 | .btn-danger.disabled,
3399 | .btn-danger[disabled] {
3400 | color: #ffffff;
3401 | background-color: #bd362f;
3402 | *background-color: #a9302a;
3403 | }
3404 |
3405 | .btn-danger:active,
3406 | .btn-danger.active {
3407 | background-color: #942a25 \9;
3408 | }
3409 |
3410 | .btn-success {
3411 | color: #ffffff;
3412 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3413 | background-color: #5bb75b;
3414 | *background-color: #51a351;
3415 | background-image: -moz-linear-gradient(top, #62c462, #51a351);
3416 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
3417 | background-image: -webkit-linear-gradient(top, #62c462, #51a351);
3418 | background-image: -o-linear-gradient(top, #62c462, #51a351);
3419 | background-image: linear-gradient(to bottom, #62c462, #51a351);
3420 | background-repeat: repeat-x;
3421 | border-color: #51a351 #51a351 #387038;
3422 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3423 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
3424 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3425 | }
3426 |
3427 | .btn-success:hover,
3428 | .btn-success:active,
3429 | .btn-success.active,
3430 | .btn-success.disabled,
3431 | .btn-success[disabled] {
3432 | color: #ffffff;
3433 | background-color: #51a351;
3434 | *background-color: #499249;
3435 | }
3436 |
3437 | .btn-success:active,
3438 | .btn-success.active {
3439 | background-color: #408140 \9;
3440 | }
3441 |
3442 | .btn-info {
3443 | color: #ffffff;
3444 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3445 | background-color: #49afcd;
3446 | *background-color: #2f96b4;
3447 | background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
3448 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
3449 | background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
3450 | background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
3451 | background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
3452 | background-repeat: repeat-x;
3453 | border-color: #2f96b4 #2f96b4 #1f6377;
3454 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3455 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
3456 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3457 | }
3458 |
3459 | .btn-info:hover,
3460 | .btn-info:active,
3461 | .btn-info.active,
3462 | .btn-info.disabled,
3463 | .btn-info[disabled] {
3464 | color: #ffffff;
3465 | background-color: #2f96b4;
3466 | *background-color: #2a85a0;
3467 | }
3468 |
3469 | .btn-info:active,
3470 | .btn-info.active {
3471 | background-color: #24748c \9;
3472 | }
3473 |
3474 | .btn-inverse {
3475 | color: #ffffff;
3476 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3477 | background-color: #363636;
3478 | *background-color: #222222;
3479 | background-image: -moz-linear-gradient(top, #444444, #222222);
3480 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
3481 | background-image: -webkit-linear-gradient(top, #444444, #222222);
3482 | background-image: -o-linear-gradient(top, #444444, #222222);
3483 | background-image: linear-gradient(to bottom, #444444, #222222);
3484 | background-repeat: repeat-x;
3485 | border-color: #222222 #222222 #000000;
3486 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3487 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
3488 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3489 | }
3490 |
3491 | .btn-inverse:hover,
3492 | .btn-inverse:active,
3493 | .btn-inverse.active,
3494 | .btn-inverse.disabled,
3495 | .btn-inverse[disabled] {
3496 | color: #ffffff;
3497 | background-color: #222222;
3498 | *background-color: #151515;
3499 | }
3500 |
3501 | .btn-inverse:active,
3502 | .btn-inverse.active {
3503 | background-color: #080808 \9;
3504 | }
3505 |
3506 | button.btn,
3507 | input[type="submit"].btn {
3508 | *padding-top: 3px;
3509 | *padding-bottom: 3px;
3510 | }
3511 |
3512 | button.btn::-moz-focus-inner,
3513 | input[type="submit"].btn::-moz-focus-inner {
3514 | padding: 0;
3515 | border: 0;
3516 | }
3517 |
3518 | button.btn.btn-large,
3519 | input[type="submit"].btn.btn-large {
3520 | *padding-top: 7px;
3521 | *padding-bottom: 7px;
3522 | }
3523 |
3524 | button.btn.btn-small,
3525 | input[type="submit"].btn.btn-small {
3526 | *padding-top: 3px;
3527 | *padding-bottom: 3px;
3528 | }
3529 |
3530 | button.btn.btn-mini,
3531 | input[type="submit"].btn.btn-mini {
3532 | *padding-top: 1px;
3533 | *padding-bottom: 1px;
3534 | }
3535 |
3536 | .btn-link,
3537 | .btn-link:active,
3538 | .btn-link[disabled] {
3539 | background-color: transparent;
3540 | background-image: none;
3541 | -webkit-box-shadow: none;
3542 | -moz-box-shadow: none;
3543 | box-shadow: none;
3544 | }
3545 |
3546 | .btn-link {
3547 | color: #0088cc;
3548 | cursor: pointer;
3549 | border-color: transparent;
3550 | -webkit-border-radius: 0;
3551 | -moz-border-radius: 0;
3552 | border-radius: 0;
3553 | }
3554 |
3555 | .btn-link:hover {
3556 | color: #005580;
3557 | text-decoration: underline;
3558 | background-color: transparent;
3559 | }
3560 |
3561 | .btn-link[disabled]:hover {
3562 | color: #333333;
3563 | text-decoration: none;
3564 | }
3565 |
3566 | .btn-group {
3567 | position: relative;
3568 | display: inline-block;
3569 | *display: inline;
3570 | *margin-left: .3em;
3571 | font-size: 0;
3572 | white-space: nowrap;
3573 | vertical-align: middle;
3574 | *zoom: 1;
3575 | }
3576 |
3577 | .btn-group:first-child {
3578 | *margin-left: 0;
3579 | }
3580 |
3581 | .btn-group + .btn-group {
3582 | margin-left: 5px;
3583 | }
3584 |
3585 | .btn-toolbar {
3586 | margin-top: 10px;
3587 | margin-bottom: 10px;
3588 | font-size: 0;
3589 | }
3590 |
3591 | .btn-toolbar > .btn + .btn,
3592 | .btn-toolbar > .btn-group + .btn,
3593 | .btn-toolbar > .btn + .btn-group {
3594 | margin-left: 5px;
3595 | }
3596 |
3597 | .btn-group > .btn {
3598 | position: relative;
3599 | -webkit-border-radius: 0;
3600 | -moz-border-radius: 0;
3601 | border-radius: 0;
3602 | }
3603 |
3604 | .btn-group > .btn + .btn {
3605 | margin-left: -1px;
3606 | }
3607 |
3608 | .btn-group > .btn,
3609 | .btn-group > .dropdown-menu,
3610 | .btn-group > .popover {
3611 | font-size: 14px;
3612 | }
3613 |
3614 | .btn-group > .btn-mini {
3615 | font-size: 10.5px;
3616 | }
3617 |
3618 | .btn-group > .btn-small {
3619 | font-size: 11.9px;
3620 | }
3621 |
3622 | .btn-group > .btn-large {
3623 | font-size: 17.5px;
3624 | }
3625 |
3626 | .btn-group > .btn:first-child {
3627 | margin-left: 0;
3628 | -webkit-border-bottom-left-radius: 4px;
3629 | border-bottom-left-radius: 4px;
3630 | -webkit-border-top-left-radius: 4px;
3631 | border-top-left-radius: 4px;
3632 | -moz-border-radius-bottomleft: 4px;
3633 | -moz-border-radius-topleft: 4px;
3634 | }
3635 |
3636 | .btn-group > .btn:last-child,
3637 | .btn-group > .dropdown-toggle {
3638 | -webkit-border-top-right-radius: 4px;
3639 | border-top-right-radius: 4px;
3640 | -webkit-border-bottom-right-radius: 4px;
3641 | border-bottom-right-radius: 4px;
3642 | -moz-border-radius-topright: 4px;
3643 | -moz-border-radius-bottomright: 4px;
3644 | }
3645 |
3646 | .btn-group > .btn.large:first-child {
3647 | margin-left: 0;
3648 | -webkit-border-bottom-left-radius: 6px;
3649 | border-bottom-left-radius: 6px;
3650 | -webkit-border-top-left-radius: 6px;
3651 | border-top-left-radius: 6px;
3652 | -moz-border-radius-bottomleft: 6px;
3653 | -moz-border-radius-topleft: 6px;
3654 | }
3655 |
3656 | .btn-group > .btn.large:last-child,
3657 | .btn-group > .large.dropdown-toggle {
3658 | -webkit-border-top-right-radius: 6px;
3659 | border-top-right-radius: 6px;
3660 | -webkit-border-bottom-right-radius: 6px;
3661 | border-bottom-right-radius: 6px;
3662 | -moz-border-radius-topright: 6px;
3663 | -moz-border-radius-bottomright: 6px;
3664 | }
3665 |
3666 | .btn-group > .btn:hover,
3667 | .btn-group > .btn:focus,
3668 | .btn-group > .btn:active,
3669 | .btn-group > .btn.active {
3670 | z-index: 2;
3671 | }
3672 |
3673 | .btn-group .dropdown-toggle:active,
3674 | .btn-group.open .dropdown-toggle {
3675 | outline: 0;
3676 | }
3677 |
3678 | .btn-group > .btn + .dropdown-toggle {
3679 | *padding-top: 5px;
3680 | padding-right: 8px;
3681 | *padding-bottom: 5px;
3682 | padding-left: 8px;
3683 | -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3684 | -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3685 | box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3686 | }
3687 |
3688 | .btn-group > .btn-mini + .dropdown-toggle {
3689 | *padding-top: 2px;
3690 | padding-right: 5px;
3691 | *padding-bottom: 2px;
3692 | padding-left: 5px;
3693 | }
3694 |
3695 | .btn-group > .btn-small + .dropdown-toggle {
3696 | *padding-top: 5px;
3697 | *padding-bottom: 4px;
3698 | }
3699 |
3700 | .btn-group > .btn-large + .dropdown-toggle {
3701 | *padding-top: 7px;
3702 | padding-right: 12px;
3703 | *padding-bottom: 7px;
3704 | padding-left: 12px;
3705 | }
3706 |
3707 | .btn-group.open .dropdown-toggle {
3708 | background-image: none;
3709 | -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3710 | -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3711 | box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3712 | }
3713 |
3714 | .btn-group.open .btn.dropdown-toggle {
3715 | background-color: #e6e6e6;
3716 | }
3717 |
3718 | .btn-group.open .btn-primary.dropdown-toggle {
3719 | background-color: #0044cc;
3720 | }
3721 |
3722 | .btn-group.open .btn-warning.dropdown-toggle {
3723 | background-color: #f89406;
3724 | }
3725 |
3726 | .btn-group.open .btn-danger.dropdown-toggle {
3727 | background-color: #bd362f;
3728 | }
3729 |
3730 | .btn-group.open .btn-success.dropdown-toggle {
3731 | background-color: #51a351;
3732 | }
3733 |
3734 | .btn-group.open .btn-info.dropdown-toggle {
3735 | background-color: #2f96b4;
3736 | }
3737 |
3738 | .btn-group.open .btn-inverse.dropdown-toggle {
3739 | background-color: #222222;
3740 | }
3741 |
3742 | .btn .caret {
3743 | margin-top: 8px;
3744 | margin-left: 0;
3745 | }
3746 |
3747 | .btn-mini .caret,
3748 | .btn-small .caret,
3749 | .btn-large .caret {
3750 | margin-top: 6px;
3751 | }
3752 |
3753 | .btn-large .caret {
3754 | border-top-width: 5px;
3755 | border-right-width: 5px;
3756 | border-left-width: 5px;
3757 | }
3758 |
3759 | .dropup .btn-large .caret {
3760 | border-bottom-width: 5px;
3761 | }
3762 |
3763 | .btn-primary .caret,
3764 | .btn-warning .caret,
3765 | .btn-danger .caret,
3766 | .btn-info .caret,
3767 | .btn-success .caret,
3768 | .btn-inverse .caret {
3769 | border-top-color: #ffffff;
3770 | border-bottom-color: #ffffff;
3771 | }
3772 |
3773 | .btn-group-vertical {
3774 | display: inline-block;
3775 | *display: inline;
3776 | /* IE7 inline-block hack */
3777 |
3778 | *zoom: 1;
3779 | }
3780 |
3781 | .btn-group-vertical > .btn {
3782 | display: block;
3783 | float: none;
3784 | max-width: 100%;
3785 | -webkit-border-radius: 0;
3786 | -moz-border-radius: 0;
3787 | border-radius: 0;
3788 | }
3789 |
3790 | .btn-group-vertical > .btn + .btn {
3791 | margin-top: -1px;
3792 | margin-left: 0;
3793 | }
3794 |
3795 | .btn-group-vertical > .btn:first-child {
3796 | -webkit-border-radius: 4px 4px 0 0;
3797 | -moz-border-radius: 4px 4px 0 0;
3798 | border-radius: 4px 4px 0 0;
3799 | }
3800 |
3801 | .btn-group-vertical > .btn:last-child {
3802 | -webkit-border-radius: 0 0 4px 4px;
3803 | -moz-border-radius: 0 0 4px 4px;
3804 | border-radius: 0 0 4px 4px;
3805 | }
3806 |
3807 | .btn-group-vertical > .btn-large:first-child {
3808 | -webkit-border-radius: 6px 6px 0 0;
3809 | -moz-border-radius: 6px 6px 0 0;
3810 | border-radius: 6px 6px 0 0;
3811 | }
3812 |
3813 | .btn-group-vertical > .btn-large:last-child {
3814 | -webkit-border-radius: 0 0 6px 6px;
3815 | -moz-border-radius: 0 0 6px 6px;
3816 | border-radius: 0 0 6px 6px;
3817 | }
3818 |
3819 | .alert {
3820 | padding: 8px 35px 8px 14px;
3821 | margin-bottom: 20px;
3822 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
3823 | background-color: #fcf8e3;
3824 | border: 1px solid #fbeed5;
3825 | -webkit-border-radius: 4px;
3826 | -moz-border-radius: 4px;
3827 | border-radius: 4px;
3828 | }
3829 |
3830 | .alert,
3831 | .alert h4 {
3832 | color: #c09853;
3833 | }
3834 |
3835 | .alert h4 {
3836 | margin: 0;
3837 | }
3838 |
3839 | .alert .close {
3840 | position: relative;
3841 | top: -2px;
3842 | right: -21px;
3843 | line-height: 20px;
3844 | }
3845 |
3846 | .alert-success {
3847 | color: #468847;
3848 | background-color: #dff0d8;
3849 | border-color: #d6e9c6;
3850 | }
3851 |
3852 | .alert-success h4 {
3853 | color: #468847;
3854 | }
3855 |
3856 | .alert-danger,
3857 | .alert-error {
3858 | color: #b94a48;
3859 | background-color: #f2dede;
3860 | border-color: #eed3d7;
3861 | }
3862 |
3863 | .alert-danger h4,
3864 | .alert-error h4 {
3865 | color: #b94a48;
3866 | }
3867 |
3868 | .alert-info {
3869 | color: #3a87ad;
3870 | background-color: #d9edf7;
3871 | border-color: #bce8f1;
3872 | }
3873 |
3874 | .alert-info h4 {
3875 | color: #3a87ad;
3876 | }
3877 |
3878 | .alert-block {
3879 | padding-top: 14px;
3880 | padding-bottom: 14px;
3881 | }
3882 |
3883 | .alert-block > p,
3884 | .alert-block > ul {
3885 | margin-bottom: 0;
3886 | }
3887 |
3888 | .alert-block p + p {
3889 | margin-top: 5px;
3890 | }
3891 |
3892 | .nav {
3893 | margin-bottom: 20px;
3894 | margin-left: 0;
3895 | list-style: none;
3896 | }
3897 |
3898 | .nav > li > a {
3899 | display: block;
3900 | }
3901 |
3902 | .nav > li > a:hover {
3903 | text-decoration: none;
3904 | background-color: #eeeeee;
3905 | }
3906 |
3907 | .nav > li > a > img {
3908 | max-width: none;
3909 | }
3910 |
3911 | .nav > .pull-right {
3912 | float: right;
3913 | }
3914 |
3915 | .nav-header {
3916 | display: block;
3917 | padding: 3px 15px;
3918 | font-size: 11px;
3919 | font-weight: bold;
3920 | line-height: 20px;
3921 | color: #999999;
3922 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
3923 | text-transform: uppercase;
3924 | }
3925 |
3926 | .nav li + .nav-header {
3927 | margin-top: 9px;
3928 | }
3929 |
3930 | .nav-list {
3931 | padding-right: 15px;
3932 | padding-left: 15px;
3933 | margin-bottom: 0;
3934 | }
3935 |
3936 | .nav-list > li > a,
3937 | .nav-list .nav-header {
3938 | margin-right: -15px;
3939 | margin-left: -15px;
3940 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
3941 | }
3942 |
3943 | .nav-list > li > a {
3944 | padding: 3px 15px;
3945 | }
3946 |
3947 | .nav-list > .active > a,
3948 | .nav-list > .active > a:hover {
3949 | color: #ffffff;
3950 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
3951 | background-color: #0088cc;
3952 | }
3953 |
3954 | .nav-list [class^="icon-"],
3955 | .nav-list [class*=" icon-"] {
3956 | margin-right: 2px;
3957 | }
3958 |
3959 | .nav-list .divider {
3960 | *width: 100%;
3961 | height: 1px;
3962 | margin: 9px 1px;
3963 | *margin: -5px 0 5px;
3964 | overflow: hidden;
3965 | background-color: #e5e5e5;
3966 | border-bottom: 1px solid #ffffff;
3967 | }
3968 |
3969 | .nav-tabs,
3970 | .nav-pills {
3971 | *zoom: 1;
3972 | }
3973 |
3974 | .nav-tabs:before,
3975 | .nav-pills:before,
3976 | .nav-tabs:after,
3977 | .nav-pills:after {
3978 | display: table;
3979 | line-height: 0;
3980 | content: "";
3981 | }
3982 |
3983 | .nav-tabs:after,
3984 | .nav-pills:after {
3985 | clear: both;
3986 | }
3987 |
3988 | .nav-tabs > li,
3989 | .nav-pills > li {
3990 | float: left;
3991 | }
3992 |
3993 | .nav-tabs > li > a,
3994 | .nav-pills > li > a {
3995 | padding-right: 12px;
3996 | padding-left: 12px;
3997 | margin-right: 2px;
3998 | line-height: 14px;
3999 | }
4000 |
4001 | .nav-tabs {
4002 | border-bottom: 1px solid #ddd;
4003 | }
4004 |
4005 | .nav-tabs > li {
4006 | margin-bottom: -1px;
4007 | }
4008 |
4009 | .nav-tabs > li > a {
4010 | padding-top: 8px;
4011 | padding-bottom: 8px;
4012 | line-height: 20px;
4013 | border: 1px solid transparent;
4014 | -webkit-border-radius: 4px 4px 0 0;
4015 | -moz-border-radius: 4px 4px 0 0;
4016 | border-radius: 4px 4px 0 0;
4017 | }
4018 |
4019 | .nav-tabs > li > a:hover {
4020 | border-color: #eeeeee #eeeeee #dddddd;
4021 | }
4022 |
4023 | .nav-tabs > .active > a,
4024 | .nav-tabs > .active > a:hover {
4025 | color: #555555;
4026 | cursor: default;
4027 | background-color: #ffffff;
4028 | border: 1px solid #ddd;
4029 | border-bottom-color: transparent;
4030 | }
4031 |
4032 | .nav-pills > li > a {
4033 | padding-top: 8px;
4034 | padding-bottom: 8px;
4035 | margin-top: 2px;
4036 | margin-bottom: 2px;
4037 | -webkit-border-radius: 5px;
4038 | -moz-border-radius: 5px;
4039 | border-radius: 5px;
4040 | }
4041 |
4042 | .nav-pills > .active > a,
4043 | .nav-pills > .active > a:hover {
4044 | color: #ffffff;
4045 | background-color: #0088cc;
4046 | }
4047 |
4048 | .nav-stacked > li {
4049 | float: none;
4050 | }
4051 |
4052 | .nav-stacked > li > a {
4053 | margin-right: 0;
4054 | }
4055 |
4056 | .nav-tabs.nav-stacked {
4057 | border-bottom: 0;
4058 | }
4059 |
4060 | .nav-tabs.nav-stacked > li > a {
4061 | border: 1px solid #ddd;
4062 | -webkit-border-radius: 0;
4063 | -moz-border-radius: 0;
4064 | border-radius: 0;
4065 | }
4066 |
4067 | .nav-tabs.nav-stacked > li:first-child > a {
4068 | -webkit-border-top-right-radius: 4px;
4069 | border-top-right-radius: 4px;
4070 | -webkit-border-top-left-radius: 4px;
4071 | border-top-left-radius: 4px;
4072 | -moz-border-radius-topright: 4px;
4073 | -moz-border-radius-topleft: 4px;
4074 | }
4075 |
4076 | .nav-tabs.nav-stacked > li:last-child > a {
4077 | -webkit-border-bottom-right-radius: 4px;
4078 | border-bottom-right-radius: 4px;
4079 | -webkit-border-bottom-left-radius: 4px;
4080 | border-bottom-left-radius: 4px;
4081 | -moz-border-radius-bottomright: 4px;
4082 | -moz-border-radius-bottomleft: 4px;
4083 | }
4084 |
4085 | .nav-tabs.nav-stacked > li > a:hover {
4086 | z-index: 2;
4087 | border-color: #ddd;
4088 | }
4089 |
4090 | .nav-pills.nav-stacked > li > a {
4091 | margin-bottom: 3px;
4092 | }
4093 |
4094 | .nav-pills.nav-stacked > li:last-child > a {
4095 | margin-bottom: 1px;
4096 | }
4097 |
4098 | .nav-tabs .dropdown-menu {
4099 | -webkit-border-radius: 0 0 6px 6px;
4100 | -moz-border-radius: 0 0 6px 6px;
4101 | border-radius: 0 0 6px 6px;
4102 | }
4103 |
4104 | .nav-pills .dropdown-menu {
4105 | -webkit-border-radius: 6px;
4106 | -moz-border-radius: 6px;
4107 | border-radius: 6px;
4108 | }
4109 |
4110 | .nav .dropdown-toggle .caret {
4111 | margin-top: 6px;
4112 | border-top-color: #0088cc;
4113 | border-bottom-color: #0088cc;
4114 | }
4115 |
4116 | .nav .dropdown-toggle:hover .caret {
4117 | border-top-color: #005580;
4118 | border-bottom-color: #005580;
4119 | }
4120 |
4121 | /* move down carets for tabs */
4122 |
4123 | .nav-tabs .dropdown-toggle .caret {
4124 | margin-top: 8px;
4125 | }
4126 |
4127 | .nav .active .dropdown-toggle .caret {
4128 | border-top-color: #fff;
4129 | border-bottom-color: #fff;
4130 | }
4131 |
4132 | .nav-tabs .active .dropdown-toggle .caret {
4133 | border-top-color: #555555;
4134 | border-bottom-color: #555555;
4135 | }
4136 |
4137 | .nav > .dropdown.active > a:hover {
4138 | cursor: pointer;
4139 | }
4140 |
4141 | .nav-tabs .open .dropdown-toggle,
4142 | .nav-pills .open .dropdown-toggle,
4143 | .nav > li.dropdown.open.active > a:hover {
4144 | color: #ffffff;
4145 | background-color: #999999;
4146 | border-color: #999999;
4147 | }
4148 |
4149 | .nav li.dropdown.open .caret,
4150 | .nav li.dropdown.open.active .caret,
4151 | .nav li.dropdown.open a:hover .caret {
4152 | border-top-color: #ffffff;
4153 | border-bottom-color: #ffffff;
4154 | opacity: 1;
4155 | filter: alpha(opacity=100);
4156 | }
4157 |
4158 | .tabs-stacked .open > a:hover {
4159 | border-color: #999999;
4160 | }
4161 |
4162 | .tabbable {
4163 | *zoom: 1;
4164 | }
4165 |
4166 | .tabbable:before,
4167 | .tabbable:after {
4168 | display: table;
4169 | line-height: 0;
4170 | content: "";
4171 | }
4172 |
4173 | .tabbable:after {
4174 | clear: both;
4175 | }
4176 |
4177 | .tab-content {
4178 | overflow: auto;
4179 | }
4180 |
4181 | .tabs-below > .nav-tabs,
4182 | .tabs-right > .nav-tabs,
4183 | .tabs-left > .nav-tabs {
4184 | border-bottom: 0;
4185 | }
4186 |
4187 | .tab-content > .tab-pane,
4188 | .pill-content > .pill-pane {
4189 | display: none;
4190 | }
4191 |
4192 | .tab-content > .active,
4193 | .pill-content > .active {
4194 | display: block;
4195 | }
4196 |
4197 | .tabs-below > .nav-tabs {
4198 | border-top: 1px solid #ddd;
4199 | }
4200 |
4201 | .tabs-below > .nav-tabs > li {
4202 | margin-top: -1px;
4203 | margin-bottom: 0;
4204 | }
4205 |
4206 | .tabs-below > .nav-tabs > li > a {
4207 | -webkit-border-radius: 0 0 4px 4px;
4208 | -moz-border-radius: 0 0 4px 4px;
4209 | border-radius: 0 0 4px 4px;
4210 | }
4211 |
4212 | .tabs-below > .nav-tabs > li > a:hover {
4213 | border-top-color: #ddd;
4214 | border-bottom-color: transparent;
4215 | }
4216 |
4217 | .tabs-below > .nav-tabs > .active > a,
4218 | .tabs-below > .nav-tabs > .active > a:hover {
4219 | border-color: transparent #ddd #ddd #ddd;
4220 | }
4221 |
4222 | .tabs-left > .nav-tabs > li,
4223 | .tabs-right > .nav-tabs > li {
4224 | float: none;
4225 | }
4226 |
4227 | .tabs-left > .nav-tabs > li > a,
4228 | .tabs-right > .nav-tabs > li > a {
4229 | min-width: 74px;
4230 | margin-right: 0;
4231 | margin-bottom: 3px;
4232 | }
4233 |
4234 | .tabs-left > .nav-tabs {
4235 | float: left;
4236 | margin-right: 19px;
4237 | border-right: 1px solid #ddd;
4238 | }
4239 |
4240 | .tabs-left > .nav-tabs > li > a {
4241 | margin-right: -1px;
4242 | -webkit-border-radius: 4px 0 0 4px;
4243 | -moz-border-radius: 4px 0 0 4px;
4244 | border-radius: 4px 0 0 4px;
4245 | }
4246 |
4247 | .tabs-left > .nav-tabs > li > a:hover {
4248 | border-color: #eeeeee #dddddd #eeeeee #eeeeee;
4249 | }
4250 |
4251 | .tabs-left > .nav-tabs .active > a,
4252 | .tabs-left > .nav-tabs .active > a:hover {
4253 | border-color: #ddd transparent #ddd #ddd;
4254 | *border-right-color: #ffffff;
4255 | }
4256 |
4257 | .tabs-right > .nav-tabs {
4258 | float: right;
4259 | margin-left: 19px;
4260 | border-left: 1px solid #ddd;
4261 | }
4262 |
4263 | .tabs-right > .nav-tabs > li > a {
4264 | margin-left: -1px;
4265 | -webkit-border-radius: 0 4px 4px 0;
4266 | -moz-border-radius: 0 4px 4px 0;
4267 | border-radius: 0 4px 4px 0;
4268 | }
4269 |
4270 | .tabs-right > .nav-tabs > li > a:hover {
4271 | border-color: #eeeeee #eeeeee #eeeeee #dddddd;
4272 | }
4273 |
4274 | .tabs-right > .nav-tabs .active > a,
4275 | .tabs-right > .nav-tabs .active > a:hover {
4276 | border-color: #ddd #ddd #ddd transparent;
4277 | *border-left-color: #ffffff;
4278 | }
4279 |
4280 | .nav > .disabled > a {
4281 | color: #999999;
4282 | }
4283 |
4284 | .nav > .disabled > a:hover {
4285 | text-decoration: none;
4286 | cursor: default;
4287 | background-color: transparent;
4288 | }
4289 |
4290 | .navbar {
4291 | *position: relative;
4292 | *z-index: 2;
4293 | margin-bottom: 20px;
4294 | overflow: visible;
4295 | }
4296 |
4297 | .navbar-inner {
4298 | min-height: 40px;
4299 | padding-right: 20px;
4300 | padding-left: 20px;
4301 | background-color: #fafafa;
4302 | background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
4303 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
4304 | background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
4305 | background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
4306 | background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
4307 | background-repeat: repeat-x;
4308 | border: 1px solid #d4d4d4;
4309 | -webkit-border-radius: 4px;
4310 | -moz-border-radius: 4px;
4311 | border-radius: 4px;
4312 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
4313 | *zoom: 1;
4314 | -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
4315 | -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
4316 | box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
4317 | }
4318 |
4319 | .navbar-inner:before,
4320 | .navbar-inner:after {
4321 | display: table;
4322 | line-height: 0;
4323 | content: "";
4324 | }
4325 |
4326 | .navbar-inner:after {
4327 | clear: both;
4328 | }
4329 |
4330 | .navbar .container {
4331 | width: auto;
4332 | }
4333 |
4334 | .nav-collapse.collapse {
4335 | height: auto;
4336 | overflow: visible;
4337 | }
4338 |
4339 | .navbar .brand {
4340 | display: block;
4341 | float: left;
4342 | padding: 10px 20px 10px;
4343 | margin-left: -20px;
4344 | font-size: 20px;
4345 | font-weight: 200;
4346 | color: #777777;
4347 | text-shadow: 0 1px 0 #ffffff;
4348 | }
4349 |
4350 | .navbar .brand:hover {
4351 | text-decoration: none;
4352 | }
4353 |
4354 | .navbar-text {
4355 | margin-bottom: 0;
4356 | line-height: 40px;
4357 | color: #777777;
4358 | }
4359 |
4360 | .navbar-link {
4361 | color: #777777;
4362 | }
4363 |
4364 | .navbar-link:hover {
4365 | color: #333333;
4366 | }
4367 |
4368 | .navbar .divider-vertical {
4369 | height: 40px;
4370 | margin: 0 9px;
4371 | border-right: 1px solid #ffffff;
4372 | border-left: 1px solid #f2f2f2;
4373 | }
4374 |
4375 | .navbar .btn,
4376 | .navbar .btn-group {
4377 | margin-top: 5px;
4378 | }
4379 |
4380 | .navbar .btn-group .btn,
4381 | .navbar .input-prepend .btn,
4382 | .navbar .input-append .btn {
4383 | margin-top: 0;
4384 | }
4385 |
4386 | .navbar-form {
4387 | margin-bottom: 0;
4388 | *zoom: 1;
4389 | }
4390 |
4391 | .navbar-form:before,
4392 | .navbar-form:after {
4393 | display: table;
4394 | line-height: 0;
4395 | content: "";
4396 | }
4397 |
4398 | .navbar-form:after {
4399 | clear: both;
4400 | }
4401 |
4402 | .navbar-form input,
4403 | .navbar-form select,
4404 | .navbar-form .radio,
4405 | .navbar-form .checkbox {
4406 | margin-top: 5px;
4407 | }
4408 |
4409 | .navbar-form input,
4410 | .navbar-form select,
4411 | .navbar-form .btn {
4412 | display: inline-block;
4413 | margin-bottom: 0;
4414 | }
4415 |
4416 | .navbar-form input[type="image"],
4417 | .navbar-form input[type="checkbox"],
4418 | .navbar-form input[type="radio"] {
4419 | margin-top: 3px;
4420 | }
4421 |
4422 | .navbar-form .input-append,
4423 | .navbar-form .input-prepend {
4424 | margin-top: 5px;
4425 | white-space: nowrap;
4426 | }
4427 |
4428 | .navbar-form .input-append input,
4429 | .navbar-form .input-prepend input {
4430 | margin-top: 0;
4431 | }
4432 |
4433 | .navbar-search {
4434 | position: relative;
4435 | float: left;
4436 | margin-top: 5px;
4437 | margin-bottom: 0;
4438 | }
4439 |
4440 | .navbar-search .search-query {
4441 | padding: 4px 14px;
4442 | margin-bottom: 0;
4443 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
4444 | font-size: 13px;
4445 | font-weight: normal;
4446 | line-height: 1;
4447 | -webkit-border-radius: 15px;
4448 | -moz-border-radius: 15px;
4449 | border-radius: 15px;
4450 | }
4451 |
4452 | .navbar-static-top {
4453 | position: static;
4454 | margin-bottom: 0;
4455 | }
4456 |
4457 | .navbar-static-top .navbar-inner {
4458 | -webkit-border-radius: 0;
4459 | -moz-border-radius: 0;
4460 | border-radius: 0;
4461 | }
4462 |
4463 | .navbar-fixed-top,
4464 | .navbar-fixed-bottom {
4465 | position: fixed;
4466 | right: 0;
4467 | left: 0;
4468 | z-index: 1030;
4469 | margin-bottom: 0;
4470 | }
4471 |
4472 | .navbar-fixed-top .navbar-inner,
4473 | .navbar-static-top .navbar-inner {
4474 | border-width: 0 0 1px;
4475 | }
4476 |
4477 | .navbar-fixed-bottom .navbar-inner {
4478 | border-width: 1px 0 0;
4479 | }
4480 |
4481 | .navbar-fixed-top .navbar-inner,
4482 | .navbar-fixed-bottom .navbar-inner {
4483 | padding-right: 0;
4484 | padding-left: 0;
4485 | -webkit-border-radius: 0;
4486 | -moz-border-radius: 0;
4487 | border-radius: 0;
4488 | }
4489 |
4490 | .navbar-static-top .container,
4491 | .navbar-fixed-top .container,
4492 | .navbar-fixed-bottom .container {
4493 | width: 940px;
4494 | }
4495 |
4496 | .navbar-fixed-top {
4497 | top: 0;
4498 | }
4499 |
4500 | .navbar-fixed-top .navbar-inner,
4501 | .navbar-static-top .navbar-inner {
4502 | -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
4503 | -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
4504 | box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
4505 | }
4506 |
4507 | .navbar-fixed-bottom {
4508 | bottom: 0;
4509 | }
4510 |
4511 | .navbar-fixed-bottom .navbar-inner {
4512 | -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
4513 | -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
4514 | box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
4515 | }
4516 |
4517 | .navbar .nav {
4518 | position: relative;
4519 | left: 0;
4520 | display: block;
4521 | float: left;
4522 | margin: 0 10px 0 0;
4523 | }
4524 |
4525 | .navbar .nav.pull-right {
4526 | float: right;
4527 | margin-right: 0;
4528 | }
4529 |
4530 | .navbar .nav > li {
4531 | float: left;
4532 | }
4533 |
4534 | .navbar .nav > li > a {
4535 | float: none;
4536 | padding: 10px 15px 10px;
4537 | color: #777777;
4538 | text-decoration: none;
4539 | text-shadow: 0 1px 0 #ffffff;
4540 | }
4541 |
4542 | .navbar .nav .dropdown-toggle .caret {
4543 | margin-top: 8px;
4544 | }
4545 |
4546 | .navbar .nav > li > a:focus,
4547 | .navbar .nav > li > a:hover {
4548 | color: #333333;
4549 | text-decoration: none;
4550 | background-color: transparent;
4551 | }
4552 |
4553 | .navbar .nav > .active > a,
4554 | .navbar .nav > .active > a:hover,
4555 | .navbar .nav > .active > a:focus {
4556 | color: #555555;
4557 | text-decoration: none;
4558 | background-color: #e5e5e5;
4559 | -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
4560 | -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
4561 | box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
4562 | }
4563 |
4564 | .navbar .btn-navbar {
4565 | display: none;
4566 | float: right;
4567 | padding: 7px 10px;
4568 | margin-right: 5px;
4569 | margin-left: 5px;
4570 | color: #ffffff;
4571 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
4572 | background-color: #ededed;
4573 | *background-color: #e5e5e5;
4574 | background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);
4575 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));
4576 | background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);
4577 | background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);
4578 | background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);
4579 | background-repeat: repeat-x;
4580 | border-color: #e5e5e5 #e5e5e5 #bfbfbf;
4581 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
4582 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);
4583 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
4584 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
4585 | -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
4586 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
4587 | }
4588 |
4589 | .navbar .btn-navbar:hover,
4590 | .navbar .btn-navbar:active,
4591 | .navbar .btn-navbar.active,
4592 | .navbar .btn-navbar.disabled,
4593 | .navbar .btn-navbar[disabled] {
4594 | color: #ffffff;
4595 | background-color: #e5e5e5;
4596 | *background-color: #d9d9d9;
4597 | }
4598 |
4599 | .navbar .btn-navbar:active,
4600 | .navbar .btn-navbar.active {
4601 | background-color: #cccccc \9;
4602 | }
4603 |
4604 | .navbar .btn-navbar .icon-bar {
4605 | display: block;
4606 | width: 18px;
4607 | height: 2px;
4608 | background-color: #f5f5f5;
4609 | -webkit-border-radius: 1px;
4610 | -moz-border-radius: 1px;
4611 | border-radius: 1px;
4612 | -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
4613 | -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
4614 | box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
4615 | }
4616 |
4617 | .btn-navbar .icon-bar + .icon-bar {
4618 | margin-top: 3px;
4619 | }
4620 |
4621 | .navbar .nav > li > .dropdown-menu:before {
4622 | position: absolute;
4623 | top: -7px;
4624 | left: 9px;
4625 | display: inline-block;
4626 | border-right: 7px solid transparent;
4627 | border-bottom: 7px solid #ccc;
4628 | border-left: 7px solid transparent;
4629 | border-bottom-color: rgba(0, 0, 0, 0.2);
4630 | content: '';
4631 | }
4632 |
4633 | .navbar .nav > li > .dropdown-menu:after {
4634 | position: absolute;
4635 | top: -6px;
4636 | left: 10px;
4637 | display: inline-block;
4638 | border-right: 6px solid transparent;
4639 | border-bottom: 6px solid #ffffff;
4640 | border-left: 6px solid transparent;
4641 | content: '';
4642 | }
4643 |
4644 | .navbar-fixed-bottom .nav > li > .dropdown-menu:before {
4645 | top: auto;
4646 | bottom: -7px;
4647 | border-top: 7px solid #ccc;
4648 | border-bottom: 0;
4649 | border-top-color: rgba(0, 0, 0, 0.2);
4650 | }
4651 |
4652 | .navbar-fixed-bottom .nav > li > .dropdown-menu:after {
4653 | top: auto;
4654 | bottom: -6px;
4655 | border-top: 6px solid #ffffff;
4656 | border-bottom: 0;
4657 | }
4658 |
4659 | .navbar .nav li.dropdown > a:hover .caret {
4660 | border-top-color: #555555;
4661 | border-bottom-color: #555555;
4662 | }
4663 |
4664 | .navbar .nav li.dropdown.open > .dropdown-toggle,
4665 | .navbar .nav li.dropdown.active > .dropdown-toggle,
4666 | .navbar .nav li.dropdown.open.active > .dropdown-toggle {
4667 | color: #555555;
4668 | background-color: #e5e5e5;
4669 | }
4670 |
4671 | .navbar .nav li.dropdown > .dropdown-toggle .caret {
4672 | border-top-color: #777777;
4673 | border-bottom-color: #777777;
4674 | }
4675 |
4676 | .navbar .nav li.dropdown.open > .dropdown-toggle .caret,
4677 | .navbar .nav li.dropdown.active > .dropdown-toggle .caret,
4678 | .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
4679 | border-top-color: #555555;
4680 | border-bottom-color: #555555;
4681 | }
4682 |
4683 | .navbar .pull-right > li > .dropdown-menu,
4684 | .navbar .nav > li > .dropdown-menu.pull-right {
4685 | right: 0;
4686 | left: auto;
4687 | }
4688 |
4689 | .navbar .pull-right > li > .dropdown-menu:before,
4690 | .navbar .nav > li > .dropdown-menu.pull-right:before {
4691 | right: 12px;
4692 | left: auto;
4693 | }
4694 |
4695 | .navbar .pull-right > li > .dropdown-menu:after,
4696 | .navbar .nav > li > .dropdown-menu.pull-right:after {
4697 | right: 13px;
4698 | left: auto;
4699 | }
4700 |
4701 | .navbar .pull-right > li > .dropdown-menu .dropdown-menu,
4702 | .navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
4703 | right: 100%;
4704 | left: auto;
4705 | margin-right: -1px;
4706 | margin-left: 0;
4707 | -webkit-border-radius: 6px 0 6px 6px;
4708 | -moz-border-radius: 6px 0 6px 6px;
4709 | border-radius: 6px 0 6px 6px;
4710 | }
4711 |
4712 | .navbar-inverse .navbar-inner {
4713 | background-color: #1b1b1b;
4714 | background-image: -moz-linear-gradient(top, #222222, #111111);
4715 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
4716 | background-image: -webkit-linear-gradient(top, #222222, #111111);
4717 | background-image: -o-linear-gradient(top, #222222, #111111);
4718 | background-image: linear-gradient(to bottom, #222222, #111111);
4719 | background-repeat: repeat-x;
4720 | border-color: #252525;
4721 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
4722 | }
4723 |
4724 | .navbar-inverse .brand,
4725 | .navbar-inverse .nav > li > a {
4726 | color: #999999;
4727 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
4728 | }
4729 |
4730 | .navbar-inverse .brand:hover,
4731 | .navbar-inverse .nav > li > a:hover {
4732 | color: #ffffff;
4733 | }
4734 |
4735 | .navbar-inverse .brand {
4736 | color: #999999;
4737 | }
4738 |
4739 | .navbar-inverse .navbar-text {
4740 | color: #999999;
4741 | }
4742 |
4743 | .navbar-inverse .nav > li > a:focus,
4744 | .navbar-inverse .nav > li > a:hover {
4745 | color: #ffffff;
4746 | background-color: transparent;
4747 | }
4748 |
4749 | .navbar-inverse .nav .active > a,
4750 | .navbar-inverse .nav .active > a:hover,
4751 | .navbar-inverse .nav .active > a:focus {
4752 | color: #ffffff;
4753 | background-color: #111111;
4754 | }
4755 |
4756 | .navbar-inverse .navbar-link {
4757 | color: #999999;
4758 | }
4759 |
4760 | .navbar-inverse .navbar-link:hover {
4761 | color: #ffffff;
4762 | }
4763 |
4764 | .navbar-inverse .divider-vertical {
4765 | border-right-color: #222222;
4766 | border-left-color: #111111;
4767 | }
4768 |
4769 | .navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
4770 | .navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
4771 | .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
4772 | color: #ffffff;
4773 | background-color: #111111;
4774 | }
4775 |
4776 | .navbar-inverse .nav li.dropdown > a:hover .caret {
4777 | border-top-color: #ffffff;
4778 | border-bottom-color: #ffffff;
4779 | }
4780 |
4781 | .navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
4782 | border-top-color: #999999;
4783 | border-bottom-color: #999999;
4784 | }
4785 |
4786 | .navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
4787 | .navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
4788 | .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
4789 | border-top-color: #ffffff;
4790 | border-bottom-color: #ffffff;
4791 | }
4792 |
4793 | .navbar-inverse .navbar-search .search-query {
4794 | color: #ffffff;
4795 | background-color: #515151;
4796 | border-color: #111111;
4797 | -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
4798 | -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
4799 | box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
4800 | -webkit-transition: none;
4801 | -moz-transition: none;
4802 | -o-transition: none;
4803 | transition: none;
4804 | }
4805 |
4806 | .navbar-inverse .navbar-search .search-query:-moz-placeholder {
4807 | color: #cccccc;
4808 | }
4809 |
4810 | .navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
4811 | color: #cccccc;
4812 | }
4813 |
4814 | .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
4815 | color: #cccccc;
4816 | }
4817 |
4818 | .navbar-inverse .navbar-search .search-query:focus,
4819 | .navbar-inverse .navbar-search .search-query.focused {
4820 | padding: 5px 15px;
4821 | color: #333333;
4822 | text-shadow: 0 1px 0 #ffffff;
4823 | background-color: #ffffff;
4824 | border: 0;
4825 | outline: 0;
4826 | -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
4827 | -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
4828 | box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
4829 | }
4830 |
4831 | .navbar-inverse .btn-navbar {
4832 | color: #ffffff;
4833 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
4834 | background-color: #0e0e0e;
4835 | *background-color: #040404;
4836 | background-image: -moz-linear-gradient(top, #151515, #040404);
4837 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));
4838 | background-image: -webkit-linear-gradient(top, #151515, #040404);
4839 | background-image: -o-linear-gradient(top, #151515, #040404);
4840 | background-image: linear-gradient(to bottom, #151515, #040404);
4841 | background-repeat: repeat-x;
4842 | border-color: #040404 #040404 #000000;
4843 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
4844 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);
4845 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
4846 | }
4847 |
4848 | .navbar-inverse .btn-navbar:hover,
4849 | .navbar-inverse .btn-navbar:active,
4850 | .navbar-inverse .btn-navbar.active,
4851 | .navbar-inverse .btn-navbar.disabled,
4852 | .navbar-inverse .btn-navbar[disabled] {
4853 | color: #ffffff;
4854 | background-color: #040404;
4855 | *background-color: #000000;
4856 | }
4857 |
4858 | .navbar-inverse .btn-navbar:active,
4859 | .navbar-inverse .btn-navbar.active {
4860 | background-color: #000000 \9;
4861 | }
4862 |
4863 | .breadcrumb {
4864 | padding: 8px 15px;
4865 | margin: 0 0 20px;
4866 | list-style: none;
4867 | background-color: #f5f5f5;
4868 | -webkit-border-radius: 4px;
4869 | -moz-border-radius: 4px;
4870 | border-radius: 4px;
4871 | }
4872 |
4873 | .breadcrumb > li {
4874 | display: inline-block;
4875 | *display: inline;
4876 | text-shadow: 0 1px 0 #ffffff;
4877 | *zoom: 1;
4878 | }
4879 |
4880 | .breadcrumb > li > .divider {
4881 | padding: 0 5px;
4882 | color: #ccc;
4883 | }
4884 |
4885 | .breadcrumb > .active {
4886 | color: #999999;
4887 | }
4888 |
4889 | .pagination {
4890 | margin: 20px 0;
4891 | }
4892 |
4893 | .pagination ul {
4894 | display: inline-block;
4895 | *display: inline;
4896 | margin-bottom: 0;
4897 | margin-left: 0;
4898 | -webkit-border-radius: 4px;
4899 | -moz-border-radius: 4px;
4900 | border-radius: 4px;
4901 | *zoom: 1;
4902 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
4903 | -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
4904 | box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
4905 | }
4906 |
4907 | .pagination ul > li {
4908 | display: inline;
4909 | }
4910 |
4911 | .pagination ul > li > a,
4912 | .pagination ul > li > span {
4913 | float: left;
4914 | padding: 4px 12px;
4915 | line-height: 20px;
4916 | text-decoration: none;
4917 | background-color: #ffffff;
4918 | border: 1px solid #dddddd;
4919 | border-left-width: 0;
4920 | }
4921 |
4922 | .pagination ul > li > a:hover,
4923 | .pagination ul > .active > a,
4924 | .pagination ul > .active > span {
4925 | background-color: #f5f5f5;
4926 | }
4927 |
4928 | .pagination ul > .active > a,
4929 | .pagination ul > .active > span {
4930 | color: #999999;
4931 | cursor: default;
4932 | }
4933 |
4934 | .pagination ul > .disabled > span,
4935 | .pagination ul > .disabled > a,
4936 | .pagination ul > .disabled > a:hover {
4937 | color: #999999;
4938 | cursor: default;
4939 | background-color: transparent;
4940 | }
4941 |
4942 | .pagination ul > li:first-child > a,
4943 | .pagination ul > li:first-child > span {
4944 | border-left-width: 1px;
4945 | -webkit-border-bottom-left-radius: 4px;
4946 | border-bottom-left-radius: 4px;
4947 | -webkit-border-top-left-radius: 4px;
4948 | border-top-left-radius: 4px;
4949 | -moz-border-radius-bottomleft: 4px;
4950 | -moz-border-radius-topleft: 4px;
4951 | }
4952 |
4953 | .pagination ul > li:last-child > a,
4954 | .pagination ul > li:last-child > span {
4955 | -webkit-border-top-right-radius: 4px;
4956 | border-top-right-radius: 4px;
4957 | -webkit-border-bottom-right-radius: 4px;
4958 | border-bottom-right-radius: 4px;
4959 | -moz-border-radius-topright: 4px;
4960 | -moz-border-radius-bottomright: 4px;
4961 | }
4962 |
4963 | .pagination-centered {
4964 | text-align: center;
4965 | }
4966 |
4967 | .pagination-right {
4968 | text-align: right;
4969 | }
4970 |
4971 | .pagination-large ul > li > a,
4972 | .pagination-large ul > li > span {
4973 | padding: 11px 19px;
4974 | font-size: 17.5px;
4975 | }
4976 |
4977 | .pagination-large ul > li:first-child > a,
4978 | .pagination-large ul > li:first-child > span {
4979 | -webkit-border-bottom-left-radius: 6px;
4980 | border-bottom-left-radius: 6px;
4981 | -webkit-border-top-left-radius: 6px;
4982 | border-top-left-radius: 6px;
4983 | -moz-border-radius-bottomleft: 6px;
4984 | -moz-border-radius-topleft: 6px;
4985 | }
4986 |
4987 | .pagination-large ul > li:last-child > a,
4988 | .pagination-large ul > li:last-child > span {
4989 | -webkit-border-top-right-radius: 6px;
4990 | border-top-right-radius: 6px;
4991 | -webkit-border-bottom-right-radius: 6px;
4992 | border-bottom-right-radius: 6px;
4993 | -moz-border-radius-topright: 6px;
4994 | -moz-border-radius-bottomright: 6px;
4995 | }
4996 |
4997 | .pagination-mini ul > li:first-child > a,
4998 | .pagination-small ul > li:first-child > a,
4999 | .pagination-mini ul > li:first-child > span,
5000 | .pagination-small ul > li:first-child > span {
5001 | -webkit-border-bottom-left-radius: 3px;
5002 | border-bottom-left-radius: 3px;
5003 | -webkit-border-top-left-radius: 3px;
5004 | border-top-left-radius: 3px;
5005 | -moz-border-radius-bottomleft: 3px;
5006 | -moz-border-radius-topleft: 3px;
5007 | }
5008 |
5009 | .pagination-mini ul > li:last-child > a,
5010 | .pagination-small ul > li:last-child > a,
5011 | .pagination-mini ul > li:last-child > span,
5012 | .pagination-small ul > li:last-child > span {
5013 | -webkit-border-top-right-radius: 3px;
5014 | border-top-right-radius: 3px;
5015 | -webkit-border-bottom-right-radius: 3px;
5016 | border-bottom-right-radius: 3px;
5017 | -moz-border-radius-topright: 3px;
5018 | -moz-border-radius-bottomright: 3px;
5019 | }
5020 |
5021 | .pagination-small ul > li > a,
5022 | .pagination-small ul > li > span {
5023 | padding: 2px 10px;
5024 | font-size: 11.9px;
5025 | }
5026 |
5027 | .pagination-mini ul > li > a,
5028 | .pagination-mini ul > li > span {
5029 | padding: 0 6px;
5030 | font-size: 10.5px;
5031 | }
5032 |
5033 | .pager {
5034 | margin: 20px 0;
5035 | text-align: center;
5036 | list-style: none;
5037 | *zoom: 1;
5038 | }
5039 |
5040 | .pager:before,
5041 | .pager:after {
5042 | display: table;
5043 | line-height: 0;
5044 | content: "";
5045 | }
5046 |
5047 | .pager:after {
5048 | clear: both;
5049 | }
5050 |
5051 | .pager li {
5052 | display: inline;
5053 | }
5054 |
5055 | .pager li > a,
5056 | .pager li > span {
5057 | display: inline-block;
5058 | padding: 5px 14px;
5059 | background-color: #fff;
5060 | border: 1px solid #ddd;
5061 | -webkit-border-radius: 15px;
5062 | -moz-border-radius: 15px;
5063 | border-radius: 15px;
5064 | }
5065 |
5066 | .pager li > a:hover {
5067 | text-decoration: none;
5068 | background-color: #f5f5f5;
5069 | }
5070 |
5071 | .pager .next > a,
5072 | .pager .next > span {
5073 | float: right;
5074 | }
5075 |
5076 | .pager .previous > a,
5077 | .pager .previous > span {
5078 | float: left;
5079 | }
5080 |
5081 | .pager .disabled > a,
5082 | .pager .disabled > a:hover,
5083 | .pager .disabled > span {
5084 | color: #999999;
5085 | cursor: default;
5086 | background-color: #fff;
5087 | }
5088 |
5089 | .modal-backdrop {
5090 | position: fixed;
5091 | top: 0;
5092 | right: 0;
5093 | bottom: 0;
5094 | left: 0;
5095 | z-index: 1040;
5096 | background-color: #000000;
5097 | }
5098 |
5099 | .modal-backdrop.fade {
5100 | opacity: 0;
5101 | }
5102 |
5103 | .modal-backdrop,
5104 | .modal-backdrop.fade.in {
5105 | opacity: 0.8;
5106 | filter: alpha(opacity=80);
5107 | }
5108 |
5109 | .modal {
5110 | position: fixed;
5111 | top: 10%;
5112 | left: 50%;
5113 | z-index: 1050;
5114 | width: 560px;
5115 | margin-left: -280px;
5116 | background-color: #ffffff;
5117 | border: 1px solid #999;
5118 | border: 1px solid rgba(0, 0, 0, 0.3);
5119 | *border: 1px solid #999;
5120 | -webkit-border-radius: 6px;
5121 | -moz-border-radius: 6px;
5122 | border-radius: 6px;
5123 | outline: none;
5124 | -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
5125 | -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
5126 | box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
5127 | -webkit-background-clip: padding-box;
5128 | -moz-background-clip: padding-box;
5129 | background-clip: padding-box;
5130 | }
5131 |
5132 | .modal.fade {
5133 | top: -25%;
5134 | -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;
5135 | -moz-transition: opacity 0.3s linear, top 0.3s ease-out;
5136 | -o-transition: opacity 0.3s linear, top 0.3s ease-out;
5137 | transition: opacity 0.3s linear, top 0.3s ease-out;
5138 | }
5139 |
5140 | .modal.fade.in {
5141 | top: 10%;
5142 | }
5143 |
5144 | .modal-header {
5145 | padding: 9px 15px;
5146 | border-bottom: 1px solid #eee;
5147 | }
5148 |
5149 | .modal-header .close {
5150 | margin-top: 2px;
5151 | }
5152 |
5153 | .modal-header h3 {
5154 | margin: 0;
5155 | line-height: 30px;
5156 | }
5157 |
5158 | .modal-body {
5159 | position: relative;
5160 | max-height: 400px;
5161 | padding: 15px;
5162 | overflow-y: auto;
5163 | }
5164 |
5165 | .modal-form {
5166 | margin-bottom: 0;
5167 | }
5168 |
5169 | .modal-footer {
5170 | padding: 14px 15px 15px;
5171 | margin-bottom: 0;
5172 | text-align: right;
5173 | background-color: #f5f5f5;
5174 | border-top: 1px solid #ddd;
5175 | -webkit-border-radius: 0 0 6px 6px;
5176 | -moz-border-radius: 0 0 6px 6px;
5177 | border-radius: 0 0 6px 6px;
5178 | *zoom: 1;
5179 | -webkit-box-shadow: inset 0 1px 0 #ffffff;
5180 | -moz-box-shadow: inset 0 1px 0 #ffffff;
5181 | box-shadow: inset 0 1px 0 #ffffff;
5182 | }
5183 |
5184 | .modal-footer:before,
5185 | .modal-footer:after {
5186 | display: table;
5187 | line-height: 0;
5188 | content: "";
5189 | }
5190 |
5191 | .modal-footer:after {
5192 | clear: both;
5193 | }
5194 |
5195 | .modal-footer .btn + .btn {
5196 | margin-bottom: 0;
5197 | margin-left: 5px;
5198 | }
5199 |
5200 | .modal-footer .btn-group .btn + .btn {
5201 | margin-left: -1px;
5202 | }
5203 |
5204 | .modal-footer .btn-block + .btn-block {
5205 | margin-left: 0;
5206 | }
5207 |
5208 | .tooltip {
5209 | position: absolute;
5210 | z-index: 1030;
5211 | display: block;
5212 | padding: 5px;
5213 | font-size: 11px;
5214 | opacity: 0;
5215 | filter: alpha(opacity=0);
5216 | visibility: visible;
5217 | }
5218 |
5219 | .tooltip.in {
5220 | opacity: 0.8;
5221 | filter: alpha(opacity=80);
5222 | }
5223 |
5224 | .tooltip.top {
5225 | margin-top: -3px;
5226 | }
5227 |
5228 | .tooltip.right {
5229 | margin-left: 3px;
5230 | }
5231 |
5232 | .tooltip.bottom {
5233 | margin-top: 3px;
5234 | }
5235 |
5236 | .tooltip.left {
5237 | margin-left: -3px;
5238 | }
5239 |
5240 | .tooltip-inner {
5241 | max-width: 200px;
5242 | padding: 3px 8px;
5243 | color: #ffffff;
5244 | text-align: center;
5245 | text-decoration: none;
5246 | background-color: #000000;
5247 | -webkit-border-radius: 4px;
5248 | -moz-border-radius: 4px;
5249 | border-radius: 4px;
5250 | }
5251 |
5252 | .tooltip-arrow {
5253 | position: absolute;
5254 | width: 0;
5255 | height: 0;
5256 | border-color: transparent;
5257 | border-style: solid;
5258 | }
5259 |
5260 | .tooltip.top .tooltip-arrow {
5261 | bottom: 0;
5262 | left: 50%;
5263 | margin-left: -5px;
5264 | border-top-color: #000000;
5265 | border-width: 5px 5px 0;
5266 | }
5267 |
5268 | .tooltip.right .tooltip-arrow {
5269 | top: 50%;
5270 | left: 0;
5271 | margin-top: -5px;
5272 | border-right-color: #000000;
5273 | border-width: 5px 5px 5px 0;
5274 | }
5275 |
5276 | .tooltip.left .tooltip-arrow {
5277 | top: 50%;
5278 | right: 0;
5279 | margin-top: -5px;
5280 | border-left-color: #000000;
5281 | border-width: 5px 0 5px 5px;
5282 | }
5283 |
5284 | .tooltip.bottom .tooltip-arrow {
5285 | top: 0;
5286 | left: 50%;
5287 | margin-left: -5px;
5288 | border-bottom-color: #000000;
5289 | border-width: 0 5px 5px;
5290 | }
5291 |
5292 | .popover {
5293 | position: absolute;
5294 | top: 0;
5295 | left: 0;
5296 | z-index: 1010;
5297 | display: none;
5298 | width: 236px;
5299 | padding: 1px;
5300 | text-align: left;
5301 | white-space: normal;
5302 | background-color: #ffffff;
5303 | border: 1px solid #ccc;
5304 | border: 1px solid rgba(0, 0, 0, 0.2);
5305 | -webkit-border-radius: 6px;
5306 | -moz-border-radius: 6px;
5307 | border-radius: 6px;
5308 | -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
5309 | -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
5310 | box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
5311 | -webkit-background-clip: padding-box;
5312 | -moz-background-clip: padding;
5313 | background-clip: padding-box;
5314 | }
5315 |
5316 | .popover.top {
5317 | margin-top: -10px;
5318 | }
5319 |
5320 | .popover.right {
5321 | margin-left: 10px;
5322 | }
5323 |
5324 | .popover.bottom {
5325 | margin-top: 10px;
5326 | }
5327 |
5328 | .popover.left {
5329 | margin-left: -10px;
5330 | }
5331 |
5332 | .popover-title {
5333 | padding: 8px 14px;
5334 | margin: 0;
5335 | font-size: 14px;
5336 | font-weight: normal;
5337 | line-height: 18px;
5338 | background-color: #f7f7f7;
5339 | border-bottom: 1px solid #ebebeb;
5340 | -webkit-border-radius: 5px 5px 0 0;
5341 | -moz-border-radius: 5px 5px 0 0;
5342 | border-radius: 5px 5px 0 0;
5343 | }
5344 |
5345 | .popover-content {
5346 | padding: 9px 14px;
5347 | }
5348 |
5349 | .popover .arrow,
5350 | .popover .arrow:after {
5351 | position: absolute;
5352 | display: block;
5353 | width: 0;
5354 | height: 0;
5355 | border-color: transparent;
5356 | border-style: solid;
5357 | }
5358 |
5359 | .popover .arrow {
5360 | border-width: 11px;
5361 | }
5362 |
5363 | .popover .arrow:after {
5364 | border-width: 10px;
5365 | content: "";
5366 | }
5367 |
5368 | .popover.top .arrow {
5369 | bottom: -11px;
5370 | left: 50%;
5371 | margin-left: -11px;
5372 | border-top-color: #999;
5373 | border-top-color: rgba(0, 0, 0, 0.25);
5374 | border-bottom-width: 0;
5375 | }
5376 |
5377 | .popover.top .arrow:after {
5378 | bottom: 1px;
5379 | margin-left: -10px;
5380 | border-top-color: #ffffff;
5381 | border-bottom-width: 0;
5382 | }
5383 |
5384 | .popover.right .arrow {
5385 | top: 50%;
5386 | left: -11px;
5387 | margin-top: -11px;
5388 | border-right-color: #999;
5389 | border-right-color: rgba(0, 0, 0, 0.25);
5390 | border-left-width: 0;
5391 | }
5392 |
5393 | .popover.right .arrow:after {
5394 | bottom: -10px;
5395 | left: 1px;
5396 | border-right-color: #ffffff;
5397 | border-left-width: 0;
5398 | }
5399 |
5400 | .popover.bottom .arrow {
5401 | top: -11px;
5402 | left: 50%;
5403 | margin-left: -11px;
5404 | border-bottom-color: #999;
5405 | border-bottom-color: rgba(0, 0, 0, 0.25);
5406 | border-top-width: 0;
5407 | }
5408 |
5409 | .popover.bottom .arrow:after {
5410 | top: 1px;
5411 | margin-left: -10px;
5412 | border-bottom-color: #ffffff;
5413 | border-top-width: 0;
5414 | }
5415 |
5416 | .popover.left .arrow {
5417 | top: 50%;
5418 | right: -11px;
5419 | margin-top: -11px;
5420 | border-left-color: #999;
5421 | border-left-color: rgba(0, 0, 0, 0.25);
5422 | border-right-width: 0;
5423 | }
5424 |
5425 | .popover.left .arrow:after {
5426 | right: 1px;
5427 | bottom: -10px;
5428 | border-left-color: #ffffff;
5429 | border-right-width: 0;
5430 | }
5431 |
5432 | .thumbnails {
5433 | margin-left: -20px;
5434 | list-style: none;
5435 | *zoom: 1;
5436 | }
5437 |
5438 | .thumbnails:before,
5439 | .thumbnails:after {
5440 | display: table;
5441 | line-height: 0;
5442 | content: "";
5443 | }
5444 |
5445 | .thumbnails:after {
5446 | clear: both;
5447 | }
5448 |
5449 | .row-fluid .thumbnails {
5450 | margin-left: 0;
5451 | }
5452 |
5453 | .thumbnails > li {
5454 | float: left;
5455 | margin-bottom: 20px;
5456 | margin-left: 20px;
5457 | }
5458 |
5459 | .thumbnail {
5460 | display: block;
5461 | padding: 4px;
5462 | line-height: 20px;
5463 | border: 1px solid #ddd;
5464 | -webkit-border-radius: 4px;
5465 | -moz-border-radius: 4px;
5466 | border-radius: 4px;
5467 | -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
5468 | -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
5469 | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
5470 | -webkit-transition: all 0.2s ease-in-out;
5471 | -moz-transition: all 0.2s ease-in-out;
5472 | -o-transition: all 0.2s ease-in-out;
5473 | transition: all 0.2s ease-in-out;
5474 | }
5475 |
5476 | a.thumbnail:hover {
5477 | border-color: #0088cc;
5478 | -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
5479 | -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
5480 | box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
5481 | }
5482 |
5483 | .thumbnail > img {
5484 | display: block;
5485 | max-width: 100%;
5486 | margin-right: auto;
5487 | margin-left: auto;
5488 | }
5489 |
5490 | .thumbnail .caption {
5491 | padding: 9px;
5492 | color: #555555;
5493 | }
5494 |
5495 | .media,
5496 | .media-body {
5497 | overflow: hidden;
5498 | *overflow: visible;
5499 | zoom: 1;
5500 | }
5501 |
5502 | .media,
5503 | .media .media {
5504 | margin-top: 15px;
5505 | }
5506 |
5507 | .media:first-child {
5508 | margin-top: 0;
5509 | }
5510 |
5511 | .media-object {
5512 | display: block;
5513 | }
5514 |
5515 | .media-heading {
5516 | margin: 0 0 5px;
5517 | }
5518 |
5519 | .media .pull-left {
5520 | margin-right: 10px;
5521 | }
5522 |
5523 | .media .pull-right {
5524 | margin-left: 10px;
5525 | }
5526 |
5527 | .media-list {
5528 | margin-left: 0;
5529 | list-style: none;
5530 | }
5531 |
5532 | .label,
5533 | .badge {
5534 | display: inline-block;
5535 | padding: 2px 4px;
5536 | font-size: 11.844px;
5537 | font-weight: bold;
5538 | line-height: 14px;
5539 | color: #ffffff;
5540 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
5541 | white-space: nowrap;
5542 | vertical-align: baseline;
5543 | background-color: #999999;
5544 | }
5545 |
5546 | .label {
5547 | -webkit-border-radius: 3px;
5548 | -moz-border-radius: 3px;
5549 | border-radius: 3px;
5550 | }
5551 |
5552 | .badge {
5553 | padding-right: 9px;
5554 | padding-left: 9px;
5555 | -webkit-border-radius: 9px;
5556 | -moz-border-radius: 9px;
5557 | border-radius: 9px;
5558 | }
5559 |
5560 | .label:empty,
5561 | .badge:empty {
5562 | display: none;
5563 | }
5564 |
5565 | a.label:hover,
5566 | a.badge:hover {
5567 | color: #ffffff;
5568 | text-decoration: none;
5569 | cursor: pointer;
5570 | }
5571 |
5572 | .label-important,
5573 | .badge-important {
5574 | background-color: #b94a48;
5575 | }
5576 |
5577 | .label-important[href],
5578 | .badge-important[href] {
5579 | background-color: #953b39;
5580 | }
5581 |
5582 | .label-warning,
5583 | .badge-warning {
5584 | background-color: #f89406;
5585 | }
5586 |
5587 | .label-warning[href],
5588 | .badge-warning[href] {
5589 | background-color: #c67605;
5590 | }
5591 |
5592 | .label-success,
5593 | .badge-success {
5594 | background-color: #468847;
5595 | }
5596 |
5597 | .label-success[href],
5598 | .badge-success[href] {
5599 | background-color: #356635;
5600 | }
5601 |
5602 | .label-info,
5603 | .badge-info {
5604 | background-color: #3a87ad;
5605 | }
5606 |
5607 | .label-info[href],
5608 | .badge-info[href] {
5609 | background-color: #2d6987;
5610 | }
5611 |
5612 | .label-inverse,
5613 | .badge-inverse {
5614 | background-color: #333333;
5615 | }
5616 |
5617 | .label-inverse[href],
5618 | .badge-inverse[href] {
5619 | background-color: #1a1a1a;
5620 | }
5621 |
5622 | .btn .label,
5623 | .btn .badge {
5624 | position: relative;
5625 | top: -1px;
5626 | }
5627 |
5628 | .btn-mini .label,
5629 | .btn-mini .badge {
5630 | top: 0;
5631 | }
5632 |
5633 | @-webkit-keyframes progress-bar-stripes {
5634 | from {
5635 | background-position: 40px 0;
5636 | }
5637 | to {
5638 | background-position: 0 0;
5639 | }
5640 | }
5641 |
5642 | @-moz-keyframes progress-bar-stripes {
5643 | from {
5644 | background-position: 40px 0;
5645 | }
5646 | to {
5647 | background-position: 0 0;
5648 | }
5649 | }
5650 |
5651 | @-ms-keyframes progress-bar-stripes {
5652 | from {
5653 | background-position: 40px 0;
5654 | }
5655 | to {
5656 | background-position: 0 0;
5657 | }
5658 | }
5659 |
5660 | @-o-keyframes progress-bar-stripes {
5661 | from {
5662 | background-position: 0 0;
5663 | }
5664 | to {
5665 | background-position: 40px 0;
5666 | }
5667 | }
5668 |
5669 | @keyframes progress-bar-stripes {
5670 | from {
5671 | background-position: 40px 0;
5672 | }
5673 | to {
5674 | background-position: 0 0;
5675 | }
5676 | }
5677 |
5678 | .progress {
5679 | height: 20px;
5680 | margin-bottom: 20px;
5681 | overflow: hidden;
5682 | background-color: #f7f7f7;
5683 | background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
5684 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
5685 | background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
5686 | background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
5687 | background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
5688 | background-repeat: repeat-x;
5689 | -webkit-border-radius: 4px;
5690 | -moz-border-radius: 4px;
5691 | border-radius: 4px;
5692 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
5693 | -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5694 | -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5695 | box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5696 | }
5697 |
5698 | .progress .bar {
5699 | float: left;
5700 | width: 0;
5701 | height: 100%;
5702 | font-size: 12px;
5703 | color: #ffffff;
5704 | text-align: center;
5705 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
5706 | background-color: #0e90d2;
5707 | background-image: -moz-linear-gradient(top, #149bdf, #0480be);
5708 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
5709 | background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
5710 | background-image: -o-linear-gradient(top, #149bdf, #0480be);
5711 | background-image: linear-gradient(to bottom, #149bdf, #0480be);
5712 | background-repeat: repeat-x;
5713 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
5714 | -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5715 | -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5716 | box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5717 | -webkit-box-sizing: border-box;
5718 | -moz-box-sizing: border-box;
5719 | box-sizing: border-box;
5720 | -webkit-transition: width 0.6s ease;
5721 | -moz-transition: width 0.6s ease;
5722 | -o-transition: width 0.6s ease;
5723 | transition: width 0.6s ease;
5724 | }
5725 |
5726 | .progress .bar + .bar {
5727 | -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5728 | -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5729 | box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5730 | }
5731 |
5732 | .progress-striped .bar {
5733 | background-color: #149bdf;
5734 | 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));
5735 | 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);
5736 | 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);
5737 | 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);
5738 | 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);
5739 | -webkit-background-size: 40px 40px;
5740 | -moz-background-size: 40px 40px;
5741 | -o-background-size: 40px 40px;
5742 | background-size: 40px 40px;
5743 | }
5744 |
5745 | .progress.active .bar {
5746 | -webkit-animation: progress-bar-stripes 2s linear infinite;
5747 | -moz-animation: progress-bar-stripes 2s linear infinite;
5748 | -ms-animation: progress-bar-stripes 2s linear infinite;
5749 | -o-animation: progress-bar-stripes 2s linear infinite;
5750 | animation: progress-bar-stripes 2s linear infinite;
5751 | }
5752 |
5753 | .progress-danger .bar,
5754 | .progress .bar-danger {
5755 | background-color: #dd514c;
5756 | background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
5757 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
5758 | background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
5759 | background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
5760 | background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
5761 | background-repeat: repeat-x;
5762 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
5763 | }
5764 |
5765 | .progress-danger.progress-striped .bar,
5766 | .progress-striped .bar-danger {
5767 | background-color: #ee5f5b;
5768 | 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));
5769 | 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);
5770 | 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);
5771 | 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);
5772 | 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);
5773 | }
5774 |
5775 | .progress-success .bar,
5776 | .progress .bar-success {
5777 | background-color: #5eb95e;
5778 | background-image: -moz-linear-gradient(top, #62c462, #57a957);
5779 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
5780 | background-image: -webkit-linear-gradient(top, #62c462, #57a957);
5781 | background-image: -o-linear-gradient(top, #62c462, #57a957);
5782 | background-image: linear-gradient(to bottom, #62c462, #57a957);
5783 | background-repeat: repeat-x;
5784 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
5785 | }
5786 |
5787 | .progress-success.progress-striped .bar,
5788 | .progress-striped .bar-success {
5789 | background-color: #62c462;
5790 | 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));
5791 | 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);
5792 | 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);
5793 | 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);
5794 | 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);
5795 | }
5796 |
5797 | .progress-info .bar,
5798 | .progress .bar-info {
5799 | background-color: #4bb1cf;
5800 | background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
5801 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
5802 | background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
5803 | background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
5804 | background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
5805 | background-repeat: repeat-x;
5806 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
5807 | }
5808 |
5809 | .progress-info.progress-striped .bar,
5810 | .progress-striped .bar-info {
5811 | background-color: #5bc0de;
5812 | 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));
5813 | 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);
5814 | 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);
5815 | 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);
5816 | 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);
5817 | }
5818 |
5819 | .progress-warning .bar,
5820 | .progress .bar-warning {
5821 | background-color: #faa732;
5822 | background-image: -moz-linear-gradient(top, #fbb450, #f89406);
5823 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
5824 | background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
5825 | background-image: -o-linear-gradient(top, #fbb450, #f89406);
5826 | background-image: linear-gradient(to bottom, #fbb450, #f89406);
5827 | background-repeat: repeat-x;
5828 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
5829 | }
5830 |
5831 | .progress-warning.progress-striped .bar,
5832 | .progress-striped .bar-warning {
5833 | background-color: #fbb450;
5834 | 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));
5835 | 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);
5836 | 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);
5837 | 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);
5838 | 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);
5839 | }
5840 |
5841 | .accordion {
5842 | margin-bottom: 20px;
5843 | }
5844 |
5845 | .accordion-group {
5846 | margin-bottom: 2px;
5847 | border: 1px solid #e5e5e5;
5848 | -webkit-border-radius: 4px;
5849 | -moz-border-radius: 4px;
5850 | border-radius: 4px;
5851 | }
5852 |
5853 | .accordion-heading {
5854 | border-bottom: 0;
5855 | }
5856 |
5857 | .accordion-heading .accordion-toggle {
5858 | display: block;
5859 | padding: 8px 15px;
5860 | }
5861 |
5862 | .accordion-toggle {
5863 | cursor: pointer;
5864 | }
5865 |
5866 | .accordion-inner {
5867 | padding: 9px 15px;
5868 | border-top: 1px solid #e5e5e5;
5869 | }
5870 |
5871 | .carousel {
5872 | position: relative;
5873 | margin-bottom: 20px;
5874 | line-height: 1;
5875 | }
5876 |
5877 | .carousel-inner {
5878 | position: relative;
5879 | width: 100%;
5880 | overflow: hidden;
5881 | }
5882 |
5883 | .carousel-inner > .item {
5884 | position: relative;
5885 | display: none;
5886 | -webkit-transition: 0.6s ease-in-out left;
5887 | -moz-transition: 0.6s ease-in-out left;
5888 | -o-transition: 0.6s ease-in-out left;
5889 | transition: 0.6s ease-in-out left;
5890 | }
5891 |
5892 | .carousel-inner > .item > img {
5893 | display: block;
5894 | line-height: 1;
5895 | }
5896 |
5897 | .carousel-inner > .active,
5898 | .carousel-inner > .next,
5899 | .carousel-inner > .prev {
5900 | display: block;
5901 | }
5902 |
5903 | .carousel-inner > .active {
5904 | left: 0;
5905 | }
5906 |
5907 | .carousel-inner > .next,
5908 | .carousel-inner > .prev {
5909 | position: absolute;
5910 | top: 0;
5911 | width: 100%;
5912 | }
5913 |
5914 | .carousel-inner > .next {
5915 | left: 100%;
5916 | }
5917 |
5918 | .carousel-inner > .prev {
5919 | left: -100%;
5920 | }
5921 |
5922 | .carousel-inner > .next.left,
5923 | .carousel-inner > .prev.right {
5924 | left: 0;
5925 | }
5926 |
5927 | .carousel-inner > .active.left {
5928 | left: -100%;
5929 | }
5930 |
5931 | .carousel-inner > .active.right {
5932 | left: 100%;
5933 | }
5934 |
5935 | .carousel-control {
5936 | position: absolute;
5937 | top: 40%;
5938 | left: 15px;
5939 | width: 40px;
5940 | height: 40px;
5941 | margin-top: -20px;
5942 | font-size: 60px;
5943 | font-weight: 100;
5944 | line-height: 30px;
5945 | color: #ffffff;
5946 | text-align: center;
5947 | background: #222222;
5948 | border: 3px solid #ffffff;
5949 | -webkit-border-radius: 23px;
5950 | -moz-border-radius: 23px;
5951 | border-radius: 23px;
5952 | opacity: 0.5;
5953 | filter: alpha(opacity=50);
5954 | }
5955 |
5956 | .carousel-control.right {
5957 | right: 15px;
5958 | left: auto;
5959 | }
5960 |
5961 | .carousel-control:hover {
5962 | color: #ffffff;
5963 | text-decoration: none;
5964 | opacity: 0.9;
5965 | filter: alpha(opacity=90);
5966 | }
5967 |
5968 | .carousel-caption {
5969 | position: absolute;
5970 | right: 0;
5971 | bottom: 0;
5972 | left: 0;
5973 | padding: 15px;
5974 | background: #333333;
5975 | background: rgba(0, 0, 0, 0.75);
5976 | }
5977 |
5978 | .carousel-caption h4,
5979 | .carousel-caption p {
5980 | line-height: 20px;
5981 | color: #ffffff;
5982 | }
5983 |
5984 | .carousel-caption h4 {
5985 | margin: 0 0 5px;
5986 | }
5987 |
5988 | .carousel-caption p {
5989 | margin-bottom: 0;
5990 | }
5991 |
5992 | .hero-unit {
5993 | padding: 60px;
5994 | margin-bottom: 30px;
5995 | font-size: 18px;
5996 | font-weight: 200;
5997 | line-height: 30px;
5998 | color: inherit;
5999 | background-color: #eeeeee;
6000 | -webkit-border-radius: 6px;
6001 | -moz-border-radius: 6px;
6002 | border-radius: 6px;
6003 | }
6004 |
6005 | .hero-unit h1 {
6006 | margin-bottom: 0;
6007 | font-size: 60px;
6008 | line-height: 1;
6009 | letter-spacing: -1px;
6010 | color: inherit;
6011 | }
6012 |
6013 | .hero-unit li {
6014 | line-height: 30px;
6015 | }
6016 |
6017 | .pull-right {
6018 | float: right;
6019 | }
6020 |
6021 | .pull-left {
6022 | float: left;
6023 | }
6024 |
6025 | .hide {
6026 | display: none;
6027 | }
6028 |
6029 | .show {
6030 | display: block;
6031 | }
6032 |
6033 | .invisible {
6034 | visibility: hidden;
6035 | }
6036 |
6037 | .affix {
6038 | position: fixed;
6039 | }
6040 |
--------------------------------------------------------------------------------
/client/src/less/css/custom.css:
--------------------------------------------------------------------------------
1 | /****** Custom Classes ******/
2 | .class1 {
3 | color: rgb(33, 96, 177);
4 | }
5 | .class2 {
6 | color: rgb(23, 66, 122);
7 | }
8 | .error{
9 | color: red;
10 | margin-top: 10px;
11 | }
12 | #list {
13 | margin-top: 15px;
14 | }
--------------------------------------------------------------------------------
/client/src/less/css/growl.css:
--------------------------------------------------------------------------------
1 | /*
2 | * growl-container styles
3 | */
4 | .growl-container.growl-fixed {
5 | position: fixed;
6 | float: right;
7 | width: 90%;
8 | max-width: 400px;
9 | z-index: 9999;
10 | }
11 | .growl-container.growl-fixed.top-right {
12 | top: 10px;
13 | right: 15px;
14 | }
15 | .growl-container.growl-fixed.bottom-right {
16 | bottom: 10px;
17 | right: 15px;
18 | }
19 | .growl-container.growl-fixed.top-left {
20 | top: 10px;
21 | left: 15px;
22 | }
23 | .growl-container.growl-fixed.bottom-left {
24 | bottom: 10px;
25 | left: 15px;
26 | }
27 | .growl-container.growl-fixed.top-center {
28 | top: 10px;
29 | left: 50%;
30 | margin-left: -200px;
31 | }
32 | .growl-container.growl-fixed.bottom-center {
33 | bottom: 10px;
34 | left: 50%;
35 | margin-left: -200px;
36 | }
37 |
38 | /*
39 | * growl-item styles
40 | */
41 | .growl-container > .growl-item {
42 | padding: 10px;
43 | padding-right: 35px;
44 | margin-bottom: 10px;
45 | cursor: pointer;
46 | }
47 |
48 | .growl-container > button {
49 | border: none;
50 | outline:none;
51 | }
52 | .growl-container > .growl-item.ng-enter,
53 | .growl-container > .growl-item.ng-leave {
54 | -webkit-transition:0.5s linear all;
55 | -moz-transition:0.5s linear all;
56 | -o-transition:0.5s linear all;
57 | transition:0.5s linear all;
58 | }
59 |
60 | .growl-container > .growl-item.ng-enter,
61 | .growl-container > .growl-item.ng-leave.ng-leave-active {
62 | opacity:0;
63 | }
64 | .growl-container > .growl-item.ng-leave,
65 | .growl-container > .growl-item.ng-enter.ng-enter-active {
66 | opacity:1;
67 | }
68 |
69 | .growl-container > div.growl-item {
70 | background-position: 12px center;
71 | background-repeat: no-repeat;
72 | }
73 |
74 | /*
75 | * growl-title styles
76 | */
77 | .growl-title {
78 | font-size: 16px;
79 | }
80 | .growl-item.icon > .growl-title {
81 | margin: 0 0 0 40px;
82 | }
83 |
84 | /*
85 | * growl-message styles
86 | */
87 | .growl-item.icon > .growl-message {
88 | margin: 0 0 0 40px;
89 | }
90 |
91 | /*
92 | * growl background images
93 | */
94 | .growl-container > .alert-info.icon {
95 | /* for the white images
96 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=");
97 | */
98 | background-image: url("data:image/png;base64,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");
99 | }
100 | .growl-container > .alert-error.icon {
101 | /* for the white images
102 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=");
103 | */
104 | background-image: url("data:image/png;base64,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");
105 | }
106 | .growl-container > .alert-success.icon {
107 | /* for the white images
108 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==");
109 | */
110 | background-image: url("data:image/png;base64,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");
111 | }
112 | .growl-container > .alert-warning.icon {
113 | /* for the white images
114 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=");
115 | */
116 | background-image: url("data:image/png;base64,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");
117 | }
--------------------------------------------------------------------------------
/client/src/less/js/growl.js:
--------------------------------------------------------------------------------
1 | /**
2 | * angular-growl-v2 - v0.7.3 - 2015-01-05
3 | * http://janstevens.github.io/angular-growl-2
4 | * Copyright (c) 2015 Marco Rinck,Jan Stevens; Licensed MIT
5 | */
6 | angular.module('angular-growl', []);
7 | angular.module('angular-growl').directive('growl', [function () {
8 | 'use strict';
9 | return {
10 | restrict: 'A',
11 | templateUrl: 'templates/growl/growl.html',
12 | replace: false,
13 | scope: {
14 | reference: '@',
15 | inline: '=',
16 | limitMessages: '='
17 | },
18 | controller: [
19 | '$scope',
20 | '$timeout',
21 | 'growl',
22 | 'growlMessages',
23 | function ($scope, $timeout, growl, growlMessages) {
24 | $scope.referenceId = $scope.reference || 0;
25 | growlMessages.initDirective($scope.referenceId, $scope.limitMessages);
26 | $scope.growlMessages = growlMessages;
27 | $scope.inlineMessage = angular.isDefined($scope.inline) ? $scope.inline : growl.inlineMessages();
28 | $scope.$watch('limitMessages', function (limitMessages) {
29 | var directive = growlMessages.directives[$scope.referenceId];
30 | if (!angular.isUndefined(limitMessages) && !angular.isUndefined(directive)) {
31 | directive.limitMessages = limitMessages;
32 | }
33 | });
34 | $scope.stopTimeoutClose = function (message) {
35 | if (!message.clickToClose) {
36 | angular.forEach(message.promises, function (promise) {
37 | $timeout.cancel(promise);
38 | });
39 | if (message.close) {
40 | growlMessages.deleteMessage(message);
41 | } else {
42 | message.close = true;
43 | }
44 | }
45 | };
46 | $scope.alertClasses = function (message) {
47 | return {
48 | 'alert-success': message.severity === 'success',
49 | 'alert-error': message.severity === 'error',
50 | 'alert-danger': message.severity === 'error',
51 | 'alert-info': message.severity === 'info',
52 | 'alert-warning': message.severity === 'warning',
53 | 'icon': message.disableIcons === false,
54 | 'alert-dismissable': !message.disableCloseButton
55 | };
56 | };
57 | $scope.showCountDown = function (message) {
58 | return !message.disableCountDown && message.ttl > 0;
59 | };
60 | $scope.wrapperClasses = function () {
61 | var classes = {};
62 | classes['growl-fixed'] = !$scope.inlineMessage;
63 | classes[growl.position()] = true;
64 | return classes;
65 | };
66 | $scope.computeTitle = function (message) {
67 | var ret = {
68 | 'success': 'Success',
69 | 'error': 'Error',
70 | 'info': 'Information',
71 | 'warn': 'Warning'
72 | };
73 | return ret[message.severity];
74 | };
75 | }
76 | ]
77 | };
78 | }]);
79 | angular.module('angular-growl').run([
80 | '$templateCache',
81 | function ($templateCache) {
82 | 'use strict';
83 | if ($templateCache.get('templates/growl/growl.html') === undefined) {
84 | $templateCache.put('templates/growl/growl.html', '' + '
' + '
' + '
' + '
' + '
' + '
' + '
');
85 | }
86 | }
87 | ]);
88 | angular.module('angular-growl').provider('growl', function () {
89 | 'use strict';
90 | var _ttl = {
91 | success: null,
92 | error: null,
93 | warning: null,
94 | info: null
95 | }, _messagesKey = 'messages', _messageTextKey = 'text', _messageTitleKey = 'title', _messageSeverityKey = 'severity', _onlyUniqueMessages = true, _messageVariableKey = 'variables', _referenceId = 0, _inline = false, _position = 'top-right', _disableCloseButton = false, _disableIcons = false, _reverseOrder = false, _disableCountDown = false, _translateMessages = true;
96 | this.globalTimeToLive = function (ttl) {
97 | if (typeof ttl === 'object') {
98 | for (var k in ttl) {
99 | if (ttl.hasOwnProperty(k)) {
100 | _ttl[k] = ttl[k];
101 | }
102 | }
103 | } else {
104 | for (var severity in _ttl) {
105 | if (_ttl.hasOwnProperty(severity)) {
106 | _ttl[severity] = ttl;
107 | }
108 | }
109 | }
110 | };
111 | this.globalTranslateMessages = function (translateMessages) {
112 | _translateMessages = translateMessages;
113 | };
114 | this.globalDisableCloseButton = function (disableCloseButton) {
115 | _disableCloseButton = disableCloseButton;
116 | };
117 | this.globalDisableIcons = function (disableIcons) {
118 | _disableIcons = disableIcons;
119 | };
120 | this.globalReversedOrder = function (reverseOrder) {
121 | _reverseOrder = reverseOrder;
122 | };
123 | this.globalDisableCountDown = function (countDown) {
124 | _disableCountDown = countDown;
125 | };
126 | this.messageVariableKey = function (messageVariableKey) {
127 | _messageVariableKey = messageVariableKey;
128 | };
129 | this.globalInlineMessages = function (inline) {
130 | _inline = inline;
131 | };
132 | this.globalPosition = function (position) {
133 | _position = position;
134 | };
135 | this.messagesKey = function (messagesKey) {
136 | _messagesKey = messagesKey;
137 | };
138 | this.messageTextKey = function (messageTextKey) {
139 | _messageTextKey = messageTextKey;
140 | };
141 | this.messageTitleKey = function (messageTitleKey) {
142 | _messageTitleKey = messageTitleKey;
143 | };
144 | this.messageSeverityKey = function (messageSeverityKey) {
145 | _messageSeverityKey = messageSeverityKey;
146 | };
147 | this.onlyUniqueMessages = function (onlyUniqueMessages) {
148 | _onlyUniqueMessages = onlyUniqueMessages;
149 | };
150 | this.serverMessagesInterceptor = [
151 | '$q',
152 | 'growl',
153 | function ($q, growl) {
154 | function checkResponse(response) {
155 | if (response !== undefined && response.data[_messagesKey] && response.data[_messagesKey].length > 0) {
156 | growl.addServerMessages(response.data[_messagesKey]);
157 | }
158 | }
159 | return {
160 | 'response': function (response) {
161 | checkResponse(response);
162 | return response;
163 | },
164 | 'responseError': function (rejection) {
165 | checkResponse(rejection);
166 | return $q.reject(rejection);
167 | }
168 | };
169 | }
170 | ];
171 | this.$get = [
172 | '$rootScope',
173 | '$interpolate',
174 | '$sce',
175 | '$filter',
176 | '$timeout',
177 | 'growlMessages',
178 | function ($rootScope, $interpolate, $sce, $filter, $timeout, growlMessages) {
179 | var translate;
180 | growlMessages.onlyUnique = _onlyUniqueMessages;
181 | growlMessages.reverseOrder = _reverseOrder;
182 | try {
183 | translate = $filter('translate');
184 | } catch (e) {
185 | }
186 | function broadcastMessage(message) {
187 | if (translate && message.translateMessage) {
188 | message.text = translate(message.text, message.variables);
189 | } else {
190 | var polation = $interpolate(message.text);
191 | message.text = polation(message.variables);
192 | }
193 | var addedMessage = growlMessages.addMessage(message);
194 | $rootScope.$broadcast('growlMessage', message);
195 | $timeout(function () {
196 | }, 0);
197 | return addedMessage;
198 | }
199 | function sendMessage(text, config, severity) {
200 | var _config = config || {}, message;
201 | message = {
202 | text: text,
203 | title: _config.title,
204 | severity: severity,
205 | ttl: _config.ttl || _ttl[severity],
206 | variables: _config.variables || {},
207 | disableCloseButton: _config.disableCloseButton === undefined ? _disableCloseButton : _config.disableCloseButton,
208 | disableIcons: _config.disableIcons === undefined ? _disableIcons : _config.disableIcons,
209 | disableCountDown: _config.disableCountDown === undefined ? _disableCountDown : _config.disableCountDown,
210 | position: _config.position || _position,
211 | referenceId: _config.referenceId || _referenceId,
212 | translateMessage: _config.translateMessage === undefined ? _translateMessages : _config.translateMessage,
213 | destroy: function () {
214 | growlMessages.deleteMessage(message);
215 | },
216 | setText: function (newText) {
217 | message.text = $sce.trustAsHtml(String(newText));
218 | },
219 | onclose: _config.onclose,
220 | onopen: _config.onopen
221 | };
222 | return broadcastMessage(message);
223 | }
224 | function warning(text, config) {
225 | return sendMessage(text, config, 'warning');
226 | }
227 | function error(text, config) {
228 | return sendMessage(text, config, 'error');
229 | }
230 | function info(text, config) {
231 | return sendMessage(text, config, 'info');
232 | }
233 | function success(text, config) {
234 | return sendMessage(text, config, 'success');
235 | }
236 | function general(text, config, severity) {
237 | severity = (severity || 'error').toLowerCase();
238 | sendMessage(text, config, severity);
239 | }
240 | function addServerMessages(messages) {
241 | if (!messages || !messages.length) {
242 | return;
243 | }
244 | var i, message, severity, length;
245 | length = messages.length;
246 | for (i = 0; i < length; i++) {
247 | message = messages[i];
248 | if (message[_messageTextKey]) {
249 | severity = (message[_messageSeverityKey] || 'error').toLowerCase();
250 | var config = {};
251 | config.variables = message[_messageVariableKey] || {};
252 | config.title = message[_messageTitleKey];
253 | sendMessage(message[_messageTextKey], config, severity);
254 | }
255 | }
256 | }
257 | function onlyUnique() {
258 | return _onlyUniqueMessages;
259 | }
260 | function reverseOrder() {
261 | return _reverseOrder;
262 | }
263 | function inlineMessages() {
264 | return _inline;
265 | }
266 | function position() {
267 | return _position;
268 | }
269 | return {
270 | warning: warning,
271 | error: error,
272 | info: info,
273 | success: success,
274 | general: general,
275 | addServerMessages: addServerMessages,
276 | onlyUnique: onlyUnique,
277 | reverseOrder: reverseOrder,
278 | inlineMessages: inlineMessages,
279 | position: position
280 | };
281 | }
282 | ];
283 | });
284 | angular.module('angular-growl').service('growlMessages', [
285 | '$sce',
286 | '$timeout',
287 | function ($sce, $timeout) {
288 | 'use strict';
289 | this.directives = {};
290 | var preloadDirectives = {};
291 | function preLoad(referenceId) {
292 | var directive;
293 | if (preloadDirectives[referenceId]) {
294 | directive = preloadDirectives[referenceId];
295 | } else {
296 | directive = preloadDirectives[referenceId] = { messages: [] };
297 | }
298 | return directive;
299 | }
300 | this.initDirective = function (referenceId, limitMessages) {
301 | if (preloadDirectives[referenceId]) {
302 | this.directives[referenceId] = preloadDirectives[referenceId];
303 | this.directives[referenceId].limitMessages = limitMessages;
304 | } else {
305 | this.directives[referenceId] = {
306 | messages: [],
307 | limitMessages: limitMessages
308 | };
309 | }
310 | return this.directives[referenceId];
311 | };
312 | this.getAllMessages = function (referenceId) {
313 | referenceId = referenceId || 0;
314 | var messages;
315 | if (this.directives[referenceId]) {
316 | messages = this.directives[referenceId].messages;
317 | } else {
318 | messages = [];
319 | }
320 | return messages;
321 | };
322 | this.destroyAllMessages = function (referenceId) {
323 | var messages = this.getAllMessages(referenceId), i = messages.length;
324 | for (i - 1; i >= 0; i--) {
325 | messages[i].destroy();
326 | }
327 | if (this.directives[referenceId]) {
328 | this.directives[referenceId].messages = [];
329 | }
330 | };
331 | this.addMessage = function (message) {
332 | var directive, messages, found, msgText;
333 | if (this.directives[message.referenceId]) {
334 | directive = this.directives[message.referenceId];
335 | } else {
336 | directive = preLoad(message.referenceId);
337 | }
338 | messages = directive.messages;
339 | if (this.onlyUnique) {
340 | angular.forEach(messages, function (msg) {
341 | msgText = $sce.getTrustedHtml(msg.text);
342 | if (message.text === msgText && message.severity === msg.severity && message.title === msg.title) {
343 | found = true;
344 | }
345 | });
346 | if (found) {
347 | return;
348 | }
349 | }
350 | message.text = $sce.trustAsHtml(String(message.text));
351 | if (message.ttl && message.ttl !== -1) {
352 | message.countdown = message.ttl / 1000;
353 | message.promises = [];
354 | message.close = false;
355 | message.countdownFunction = function () {
356 | if (message.countdown > 1) {
357 | message.countdown--;
358 | message.promises.push($timeout(message.countdownFunction, 1000));
359 | } else {
360 | message.countdown--;
361 | }
362 | };
363 | }
364 | if (angular.isDefined(directive.limitMessages)) {
365 | var diff = messages.length - (directive.limitMessages - 1);
366 | if (diff > 0) {
367 | messages.splice(directive.limitMessages - 1, diff);
368 | }
369 | }
370 | if (this.reverseOrder) {
371 | messages.unshift(message);
372 | } else {
373 | messages.push(message);
374 | }
375 | if (typeof message.onopen === 'function') {
376 | message.onopen();
377 | }
378 | if (message.ttl && message.ttl !== -1) {
379 | message.promises.push($timeout(angular.bind(this, function () {
380 | this.deleteMessage(message);
381 | }), message.ttl));
382 | message.promises.push($timeout(message.countdownFunction, 1000));
383 | }
384 | return message;
385 | };
386 | this.deleteMessage = function (message) {
387 | var messages = this.directives[message.referenceId].messages, index = messages.indexOf(message);
388 | if (index > -1) {
389 | messages[index].close = true;
390 | messages.splice(index, 1);
391 | }
392 | if (typeof message.onclose === 'function') {
393 | message.onclose();
394 | }
395 | };
396 | }
397 | ]);
--------------------------------------------------------------------------------
/server/.gitignore:
--------------------------------------------------------------------------------
1 | lib-cov
2 | *.seed
3 | *.log
4 | *.csv
5 | *.dat
6 | *.out
7 | *.pid
8 | *.gz
9 |
10 | pids
11 | logs
12 | results
13 |
14 | npm-debug.log
15 |
--------------------------------------------------------------------------------
/server/config/config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | server: {
3 |
4 | host: '0.0.0.0',
5 | port: 8000
6 | },
7 | publicFolder: './public',
8 | uploadFolder: '/uploads',
9 | MixFolder: './public/uploads',
10 | MixInsideFolder: './public/uploads/'
11 | };
12 |
--------------------------------------------------------------------------------
/server/controller/uploadDownload.js:
--------------------------------------------------------------------------------
1 | var fs = require('fs'),
2 | multiparty = require('multiparty'),
3 | walk = require('walk'),
4 | Config = require('../config/config');
5 | /*
6 | * Display upload form
7 | */
8 |
9 | exports.display_form = {
10 | handler: function(requestuest, reply) {
11 | reply(
12 | ''
16 | );
17 | }
18 | };
19 |
20 | /*
21 | * upload file
22 | */
23 |
24 | exports.uploadFile = {
25 | payload: {
26 | maxBytes: 209715200,
27 | output: 'stream',
28 | parse: false
29 | },
30 | handler: function(requset, reply) {
31 | var form = new multiparty.Form();
32 | form.parse(requset.payload, function(err, fields, files) {
33 | if (err) return reply(err);
34 | else upload(files, reply);
35 | });
36 | }
37 | };
38 |
39 | /*
40 | * upload file function
41 | */
42 |
43 | var upload = function(files, reply) {
44 | fs.readFile(files.file[0].path, function(err, data) {
45 | checkFileExist();
46 | fs.writeFile(Config.MixInsideFolder + files.file[0].originalFilename, data, function(err) {
47 | if (err) return reply(err);
48 | else return reply('File uploaded to: ' + Config.MixInsideFolder + files.file[0].originalFilename);
49 |
50 | });
51 | });
52 | };
53 |
54 | /*
55 | * Check File existence and create if not exist
56 | */
57 |
58 | var checkFileExist = function() {
59 | fs.exists(Config.publicFolder, function(exists) {
60 | if (exists === false) fs.mkdirSync(Config.publicFolder);
61 |
62 | fs.exists(Config.MixFolder, function(exists) {
63 | if (exists === false) fs.mkdirSync(Config.MixFolder);
64 | });
65 | });
66 | };
67 |
68 | /**
69 | * get file
70 | */
71 |
72 | exports.getFile = {
73 | handler: function(request, reply) {
74 | var file = request.params.file,
75 | path = Config.publicFolder + Config.uploadFolder + "/" + file,
76 | ext = file.substr(file.lastIndexOf('.') + 1);
77 | fs.readFile(path, function(error, content) {
78 | if (error) return reply("file not found");
79 | var contentType;
80 | switch (ext) {
81 | case "pdf":
82 | contentType = 'application/pdf';
83 | break;
84 | case "ppt":
85 | contentType = 'application/vnd.ms-powerpoint';
86 | break;
87 | case "pptx":
88 | contentType = 'application/vnd.openxmlformats-officedocument.preplyentationml.preplyentation';
89 | break;
90 | case "xls":
91 | contentType = 'application/vnd.ms-excel';
92 | break;
93 | case "xlsx":
94 | contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
95 | break;
96 | case "doc":
97 | contentType = 'application/msword';
98 | break;
99 | case "docx":
100 | contentType = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
101 | break;
102 | case "csv":
103 | contentType = 'application/octet-stream';
104 | break;
105 | default:
106 | return reply.file(path);
107 | }
108 | return reply(content).header('Content-Type', contentType).header("Content-Disposition", "attachment; filename=" + file);
109 | });
110 | }
111 | };
112 |
113 | /**
114 | *get fileList
115 | */
116 |
117 | exports.fileList = {
118 | handler: function(request, reply) {
119 | var files = [];
120 | // Walker options
121 | var walker = walk.walk(Config.publicFolder + Config.uploadFolder, {
122 | followLinks: false
123 | });
124 |
125 | walker.on('file', function(root, stat, next) {
126 | // Add this file to the list of files
127 | files.push(stat.name);
128 | next();
129 | });
130 |
131 | walker.on('end', function() {
132 | return reply(files);
133 | });
134 | }
135 | };
136 |
--------------------------------------------------------------------------------
/server/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hapi-file-upload-download",
3 | "description": "hapi-file-upload-download",
4 | "version": "0.1.0",
5 | "main": "server",
6 | "engines": {
7 | "node": ">=0.10.22"
8 | },
9 | "dependencies": {
10 | "hapi": "7.0.0",
11 | "multiparty": "^4.1.1",
12 | "walk": "^2.3.9"
13 | },
14 | "keywords": [
15 | "hapi",
16 | "file upload",
17 | "file download",
18 | "file list"
19 | ],
20 | "author": {
21 | "name": "sonipandey",
22 | "email": "sonipandey.71@gmail.com"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/server/routes.js:
--------------------------------------------------------------------------------
1 | // Load modules
2 |
3 | var UD = require('./controller/uploadDownload'),
4 | Static = require('./static');
5 |
6 | // API Server Endpoints
7 | exports.endpoints = [
8 |
9 | { method: 'GET', path: '/{somethingss*}', config: Static.get },
10 | // { method: 'GET', path: '/', config: UD.display_form},
11 | { method: 'POST', path: '/upload', config: UD.uploadFile},
12 | { method: 'GET', path: '/get/{file}', config: UD.getFile},
13 | { method: 'GET', path: '/fileList', config: UD.fileList}
14 | ];
--------------------------------------------------------------------------------
/server/server.js:
--------------------------------------------------------------------------------
1 | var Hapi = require('hapi'),
2 | Routes = require('./routes'),
3 | Config = require('./config/config');
4 |
5 |
6 | var app = {};
7 | app.config = Config;
8 |
9 | var server = Hapi.createServer(app.config.server.host, app.config.server.port, {cors: true});
10 |
11 | server.route(Routes.endpoints);
12 |
13 | server.start(function () {
14 | console.log('Server started ', server.info.uri);
15 | });
--------------------------------------------------------------------------------
/server/static.js:
--------------------------------------------------------------------------------
1 | // Declare internals
2 |
3 | var internals = {};
4 |
5 | // Get session information endpoint
6 |
7 | exports.get = {
8 | handler: {
9 | directory: {
10 | path: '../client/src',
11 | index: true
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------