Getting started
91 |An overview of Bootstrap, how to download and use, basic templates and examples, and more.
92 |├── .gitignore ├── README.md ├── bench ├── bench.css ├── bench.html └── index.js ├── example.js ├── index.js ├── package.json └── test.js /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # css-eliminator 2 | 3 | Walk rules of a style sheet and remove unused code. 4 | 5 | ## Example 6 | 7 | Given an HTML document `hello.html`: 8 | ```html 9 | 10 |
11 |Hello World
12 | 13 | 14 | ``` 15 | 16 | And some styles `styles.css`: 17 | ```css 18 | p { 19 | color: red; 20 | } 21 | 22 | a { 23 | color: blue; 24 | } 25 | ``` 26 | 27 | We can eliminate parts of the styles that will not affect the DOM 28 | (`example.js`): 29 | 30 | ```js 31 | var eliminator = require("css-eliminator"); 32 | var parse = require("css-parse"); 33 | var stringify = require("css-stringify"); 34 | var fs = require("fs"); 35 | 36 | var css = fs.readFileSync("styles.css"); 37 | var html = fs.readFileSync("hello.html"); 38 | var eliminate = eliminator(html); 39 | 40 | var ast = eliminate(parse(css)) 41 | console.log(stringify(ast)); 42 | ``` 43 | 44 | ``` 45 | $ node example.js 46 | p { 47 | color: red; 48 | } 49 | ``` 50 | 51 | Alternatively, you can use *css-eliminator* as a *[Rework][]* plugin. 52 | 53 | ## How It Works 54 | 55 | This module determines if each rule in a style sheet is *dead* or not. A 56 | rule is considered dead if no elements exist in the given HTML document 57 | that match the rule's selector. 58 | 59 | ### Pseudo Elements and Pseudo Classes 60 | 61 | Any pseudo parts of a selector (e.g., `::after` in `div::after`) are 62 | stripped from the selector before determining if any elements match. 63 | This is so that selectors like `a.btn:hover` will remain as long as an 64 | element matching `a.btn` exists. 65 | 66 | ### Selector Filtering 67 | 68 | To white-list, black-list, or otherwise filter which rule selectors are 69 | dropped, `options.filter` can be a function that will be called for each 70 | selector. If the function returns true, the selector will **not be** 71 | dropped and the rule will be left intact. 72 | 73 | For example, if your appliation dynamically adds `.user-profile` divs to 74 | the page, you can keep all selectors containing `.user-profile`: 75 | 76 | ```js 77 | var eliminate = eliminator(html, { 78 | filter: function(selector) { 79 | return /\.user-profile/.test(selector); 80 | }, 81 | }); 82 | ``` 83 | 84 | You can use a selector parser like *[slick][]* for powerful 85 | arbitrary selector filtering. 86 | 87 | ## API 88 | 89 | The API operates on HTML as strings, and CSS as ASTs produced by 90 | *[css-parse][]*. 91 | 92 | ### `eliminator(html, options)` 93 | 94 | Create an `eliminate(ast)` function that will operate on CSS ASTs with 95 | the given HTML document as context. 96 | 97 | Options: 98 | 99 | * `options.filter`: A function to control which selectors are removed. 100 | 101 | ### `eliminate(ast)` 102 | 103 | Remove any dead code in the given CSS AST and return the AST. 104 | 105 | ## Todos 106 | 107 | * Some pseudo classes should be considered (e.g., :nth-child()) 108 | * Allow multiple DOM inputs 109 | * Remove unused keyframe definitions 110 | * Remove empty `@media` blocks and other at-rules 111 | * Remove unused animation keyframe declarations 112 | * Remove duplicate property declarations across multiple rules 113 | * Bug with ".wrapper ::selection {}" if .wrapper has only text nodes 114 | 115 | ### Alternate Approach 116 | 117 | Another approach would be to walk the DOM and use something like 118 | `getComputedStyle()` to determine which styles actually affect the DOM. 119 | 120 | ## Installation 121 | 122 | ``` 123 | npm install css-eliminator 124 | ``` 125 | 126 | [rework]: https://github.com/visionmedia/rework 127 | [css-parse]: https://github.com/visionmedia/css-parse 128 | [slick]: https://github.com/kamicane/slick 129 | -------------------------------------------------------------------------------- /bench/bench.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.0.0 3 | * 4 | * Copyright 2013 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 by @mdo and @fat. 9 | */ 10 | 11 | /*! normalize.css v2.1.0 | MIT License | git.io/normalize */ 12 | 13 | article, 14 | aside, 15 | details, 16 | figcaption, 17 | figure, 18 | footer, 19 | header, 20 | hgroup, 21 | main, 22 | nav, 23 | section, 24 | summary { 25 | display: block; 26 | } 27 | 28 | audio, 29 | canvas, 30 | video { 31 | display: inline-block; 32 | } 33 | 34 | audio:not([controls]) { 35 | display: none; 36 | height: 0; 37 | } 38 | 39 | [hidden] { 40 | display: none; 41 | } 42 | 43 | html { 44 | font-family: sans-serif; 45 | -webkit-text-size-adjust: 100%; 46 | -ms-text-size-adjust: 100%; 47 | } 48 | 49 | body { 50 | margin: 0; 51 | } 52 | 53 | a:focus { 54 | outline: thin dotted; 55 | } 56 | 57 | a:active, 58 | a:hover { 59 | outline: 0; 60 | } 61 | 62 | h1 { 63 | margin: 0.67em 0; 64 | font-size: 2em; 65 | } 66 | 67 | abbr[title] { 68 | border-bottom: 1px dotted; 69 | } 70 | 71 | b, 72 | strong { 73 | font-weight: bold; 74 | } 75 | 76 | dfn { 77 | font-style: italic; 78 | } 79 | 80 | hr { 81 | height: 0; 82 | -moz-box-sizing: content-box; 83 | box-sizing: content-box; 84 | } 85 | 86 | mark { 87 | color: #000; 88 | background: #ff0; 89 | } 90 | 91 | code, 92 | kbd, 93 | pre, 94 | samp { 95 | font-family: monospace, serif; 96 | font-size: 1em; 97 | } 98 | 99 | pre { 100 | white-space: pre-wrap; 101 | } 102 | 103 | q { 104 | quotes: "\201C" "\201D" "\2018" "\2019"; 105 | } 106 | 107 | small { 108 | font-size: 80%; 109 | } 110 | 111 | sub, 112 | sup { 113 | position: relative; 114 | font-size: 75%; 115 | line-height: 0; 116 | vertical-align: baseline; 117 | } 118 | 119 | sup { 120 | top: -0.5em; 121 | } 122 | 123 | sub { 124 | bottom: -0.25em; 125 | } 126 | 127 | img { 128 | border: 0; 129 | } 130 | 131 | svg:not(:root) { 132 | overflow: hidden; 133 | } 134 | 135 | figure { 136 | margin: 0; 137 | } 138 | 139 | fieldset { 140 | padding: 0.35em 0.625em 0.75em; 141 | margin: 0 2px; 142 | border: 1px solid #c0c0c0; 143 | } 144 | 145 | legend { 146 | padding: 0; 147 | border: 0; 148 | } 149 | 150 | button, 151 | input, 152 | select, 153 | textarea { 154 | margin: 0; 155 | font-family: inherit; 156 | font-size: 100%; 157 | } 158 | 159 | button, 160 | input { 161 | line-height: normal; 162 | } 163 | 164 | button, 165 | select { 166 | text-transform: none; 167 | } 168 | 169 | button, 170 | html input[type="button"], 171 | input[type="reset"], 172 | input[type="submit"] { 173 | cursor: pointer; 174 | -webkit-appearance: button; 175 | } 176 | 177 | button[disabled], 178 | html input[disabled] { 179 | cursor: default; 180 | } 181 | 182 | input[type="checkbox"], 183 | input[type="radio"] { 184 | padding: 0; 185 | box-sizing: border-box; 186 | } 187 | 188 | input[type="search"] { 189 | -webkit-box-sizing: content-box; 190 | -moz-box-sizing: content-box; 191 | box-sizing: content-box; 192 | -webkit-appearance: textfield; 193 | } 194 | 195 | input[type="search"]::-webkit-search-cancel-button, 196 | input[type="search"]::-webkit-search-decoration { 197 | -webkit-appearance: none; 198 | } 199 | 200 | button::-moz-focus-inner, 201 | input::-moz-focus-inner { 202 | padding: 0; 203 | border: 0; 204 | } 205 | 206 | textarea { 207 | overflow: auto; 208 | vertical-align: top; 209 | } 210 | 211 | table { 212 | border-collapse: collapse; 213 | border-spacing: 0; 214 | } 215 | 216 | @media print { 217 | * { 218 | color: #000 !important; 219 | text-shadow: none !important; 220 | background: transparent !important; 221 | box-shadow: none !important; 222 | } 223 | a, 224 | a:visited { 225 | text-decoration: underline; 226 | } 227 | a[href]:after { 228 | content: " (" attr(href) ")"; 229 | } 230 | abbr[title]:after { 231 | content: " (" attr(title) ")"; 232 | } 233 | .ir a:after, 234 | a[href^="javascript:"]:after, 235 | a[href^="#"]:after { 236 | content: ""; 237 | } 238 | pre, 239 | blockquote { 240 | border: 1px solid #999; 241 | page-break-inside: avoid; 242 | } 243 | thead { 244 | display: table-header-group; 245 | } 246 | tr, 247 | img { 248 | page-break-inside: avoid; 249 | } 250 | img { 251 | max-width: 100% !important; 252 | } 253 | @page { 254 | margin: 2cm .5cm; 255 | } 256 | p, 257 | h2, 258 | h3 { 259 | orphans: 3; 260 | widows: 3; 261 | } 262 | h2, 263 | h3 { 264 | page-break-after: avoid; 265 | } 266 | .navbar { 267 | display: none; 268 | } 269 | .table td, 270 | .table th { 271 | background-color: #fff !important; 272 | } 273 | .btn > .caret, 274 | .dropup > .btn > .caret { 275 | border-top-color: #000 !important; 276 | } 277 | .label { 278 | border: 1px solid #000; 279 | } 280 | .table { 281 | border-collapse: collapse !important; 282 | } 283 | .table-bordered th, 284 | .table-bordered td { 285 | border: 1px solid #ddd !important; 286 | } 287 | } 288 | 289 | *, 290 | *:before, 291 | *:after { 292 | -webkit-box-sizing: border-box; 293 | -moz-box-sizing: border-box; 294 | box-sizing: border-box; 295 | } 296 | 297 | html { 298 | font-size: 62.5%; 299 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 300 | } 301 | 302 | body { 303 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; 304 | font-size: 14px; 305 | line-height: 1.428571429; 306 | color: #333333; 307 | background-color: #ffffff; 308 | } 309 | 310 | input, 311 | button, 312 | select, 313 | textarea { 314 | font-family: inherit; 315 | font-size: inherit; 316 | line-height: inherit; 317 | } 318 | 319 | button, 320 | input, 321 | select[multiple], 322 | textarea { 323 | background-image: none; 324 | } 325 | 326 | a { 327 | color: #428bca; 328 | text-decoration: none; 329 | } 330 | 331 | a:hover, 332 | a:focus { 333 | color: #2a6496; 334 | text-decoration: underline; 335 | } 336 | 337 | a:focus { 338 | outline: thin dotted #333; 339 | outline: 5px auto -webkit-focus-ring-color; 340 | outline-offset: -2px; 341 | } 342 | 343 | img { 344 | vertical-align: middle; 345 | } 346 | 347 | .img-responsive { 348 | display: block; 349 | height: auto; 350 | max-width: 100%; 351 | } 352 | 353 | .img-rounded { 354 | border-radius: 6px; 355 | } 356 | 357 | .img-thumbnail { 358 | display: inline-block; 359 | height: auto; 360 | max-width: 100%; 361 | padding: 4px; 362 | line-height: 1.428571429; 363 | background-color: #ffffff; 364 | border: 1px solid #dddddd; 365 | border-radius: 4px; 366 | -webkit-transition: all 0.2s ease-in-out; 367 | transition: all 0.2s ease-in-out; 368 | } 369 | 370 | .img-circle { 371 | border-radius: 50%; 372 | } 373 | 374 | hr { 375 | margin-top: 20px; 376 | margin-bottom: 20px; 377 | border: 0; 378 | border-top: 1px solid #eeeeee; 379 | } 380 | 381 | .sr-only { 382 | position: absolute; 383 | width: 1px; 384 | height: 1px; 385 | padding: 0; 386 | margin: -1px; 387 | overflow: hidden; 388 | clip: rect(0 0 0 0); 389 | border: 0; 390 | } 391 | 392 | p { 393 | margin: 0 0 10px; 394 | } 395 | 396 | .lead { 397 | margin-bottom: 20px; 398 | font-size: 16.099999999999998px; 399 | font-weight: 200; 400 | line-height: 1.4; 401 | } 402 | 403 | @media (min-width: 768px) { 404 | .lead { 405 | font-size: 21px; 406 | } 407 | } 408 | 409 | small { 410 | font-size: 85%; 411 | } 412 | 413 | cite { 414 | font-style: normal; 415 | } 416 | 417 | .text-muted { 418 | color: #999999; 419 | } 420 | 421 | .text-primary { 422 | color: #428bca; 423 | } 424 | 425 | .text-warning { 426 | color: #c09853; 427 | } 428 | 429 | .text-danger { 430 | color: #b94a48; 431 | } 432 | 433 | .text-success { 434 | color: #468847; 435 | } 436 | 437 | .text-info { 438 | color: #3a87ad; 439 | } 440 | 441 | .text-left { 442 | text-align: left; 443 | } 444 | 445 | .text-right { 446 | text-align: right; 447 | } 448 | 449 | .text-center { 450 | text-align: center; 451 | } 452 | 453 | h1, 454 | h2, 455 | h3, 456 | h4, 457 | h5, 458 | h6, 459 | .h1, 460 | .h2, 461 | .h3, 462 | .h4, 463 | .h5, 464 | .h6 { 465 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; 466 | font-weight: 500; 467 | line-height: 1.1; 468 | } 469 | 470 | h1 small, 471 | h2 small, 472 | h3 small, 473 | h4 small, 474 | h5 small, 475 | h6 small, 476 | .h1 small, 477 | .h2 small, 478 | .h3 small, 479 | .h4 small, 480 | .h5 small, 481 | .h6 small { 482 | font-weight: normal; 483 | line-height: 1; 484 | color: #999999; 485 | } 486 | 487 | h1, 488 | h2, 489 | h3 { 490 | margin-top: 20px; 491 | margin-bottom: 10px; 492 | } 493 | 494 | h4, 495 | h5, 496 | h6 { 497 | margin-top: 10px; 498 | margin-bottom: 10px; 499 | } 500 | 501 | h1, 502 | .h1 { 503 | font-size: 36px; 504 | } 505 | 506 | h2, 507 | .h2 { 508 | font-size: 30px; 509 | } 510 | 511 | h3, 512 | .h3 { 513 | font-size: 24px; 514 | } 515 | 516 | h4, 517 | .h4 { 518 | font-size: 18px; 519 | } 520 | 521 | h5, 522 | .h5 { 523 | font-size: 14px; 524 | } 525 | 526 | h6, 527 | .h6 { 528 | font-size: 12px; 529 | } 530 | 531 | h1 small, 532 | .h1 small { 533 | font-size: 24px; 534 | } 535 | 536 | h2 small, 537 | .h2 small { 538 | font-size: 18px; 539 | } 540 | 541 | h3 small, 542 | .h3 small, 543 | h4 small, 544 | .h4 small { 545 | font-size: 14px; 546 | } 547 | 548 | .page-header { 549 | padding-bottom: 9px; 550 | margin: 40px 0 20px; 551 | border-bottom: 1px solid #eeeeee; 552 | } 553 | 554 | ul, 555 | ol { 556 | margin-top: 0; 557 | margin-bottom: 10px; 558 | } 559 | 560 | ul ul, 561 | ol ul, 562 | ul ol, 563 | ol ol { 564 | margin-bottom: 0; 565 | } 566 | 567 | .list-unstyled { 568 | padding-left: 0; 569 | list-style: none; 570 | } 571 | 572 | .list-inline { 573 | padding-left: 0; 574 | list-style: none; 575 | } 576 | 577 | .list-inline > li { 578 | display: inline-block; 579 | padding-right: 5px; 580 | padding-left: 5px; 581 | } 582 | 583 | dl { 584 | margin-bottom: 20px; 585 | } 586 | 587 | dt, 588 | dd { 589 | line-height: 1.428571429; 590 | } 591 | 592 | dt { 593 | font-weight: bold; 594 | } 595 | 596 | dd { 597 | margin-left: 0; 598 | } 599 | 600 | @media (min-width: 768px) { 601 | .dl-horizontal dt { 602 | float: left; 603 | width: 160px; 604 | overflow: hidden; 605 | clear: left; 606 | text-align: right; 607 | text-overflow: ellipsis; 608 | white-space: nowrap; 609 | } 610 | .dl-horizontal dd { 611 | margin-left: 180px; 612 | } 613 | .dl-horizontal dd:before, 614 | .dl-horizontal dd:after { 615 | display: table; 616 | content: " "; 617 | } 618 | .dl-horizontal dd:after { 619 | clear: both; 620 | } 621 | .dl-horizontal dd:before, 622 | .dl-horizontal dd:after { 623 | display: table; 624 | content: " "; 625 | } 626 | .dl-horizontal dd:after { 627 | clear: both; 628 | } 629 | } 630 | 631 | abbr[title], 632 | abbr[data-original-title] { 633 | cursor: help; 634 | border-bottom: 1px dotted #999999; 635 | } 636 | 637 | abbr.initialism { 638 | font-size: 90%; 639 | text-transform: uppercase; 640 | } 641 | 642 | blockquote { 643 | padding: 10px 20px; 644 | margin: 0 0 20px; 645 | border-left: 5px solid #eeeeee; 646 | } 647 | 648 | blockquote p { 649 | font-size: 17.5px; 650 | font-weight: 300; 651 | line-height: 1.25; 652 | } 653 | 654 | blockquote p:last-child { 655 | margin-bottom: 0; 656 | } 657 | 658 | blockquote small { 659 | display: block; 660 | line-height: 1.428571429; 661 | color: #999999; 662 | } 663 | 664 | blockquote small:before { 665 | content: '\2014 \00A0'; 666 | } 667 | 668 | blockquote.pull-right { 669 | padding-right: 15px; 670 | padding-left: 0; 671 | border-right: 5px solid #eeeeee; 672 | border-left: 0; 673 | } 674 | 675 | blockquote.pull-right p, 676 | blockquote.pull-right small { 677 | text-align: right; 678 | } 679 | 680 | blockquote.pull-right small:before { 681 | content: ''; 682 | } 683 | 684 | blockquote.pull-right small:after { 685 | content: '\00A0 \2014'; 686 | } 687 | 688 | q:before, 689 | q:after, 690 | blockquote:before, 691 | blockquote:after { 692 | content: ""; 693 | } 694 | 695 | address { 696 | display: block; 697 | margin-bottom: 20px; 698 | font-style: normal; 699 | line-height: 1.428571429; 700 | } 701 | 702 | code, 703 | pre { 704 | font-family: Monaco, Menlo, Consolas, "Courier New", monospace; 705 | } 706 | 707 | code { 708 | padding: 2px 4px; 709 | font-size: 90%; 710 | color: #c7254e; 711 | white-space: nowrap; 712 | background-color: #f9f2f4; 713 | border-radius: 4px; 714 | } 715 | 716 | pre { 717 | display: block; 718 | padding: 9.5px; 719 | margin: 0 0 10px; 720 | font-size: 13px; 721 | line-height: 1.428571429; 722 | color: #333333; 723 | word-break: break-all; 724 | word-wrap: break-word; 725 | background-color: #f5f5f5; 726 | border: 1px solid #cccccc; 727 | border-radius: 4px; 728 | } 729 | 730 | pre.prettyprint { 731 | margin-bottom: 20px; 732 | } 733 | 734 | pre code { 735 | padding: 0; 736 | font-size: inherit; 737 | color: inherit; 738 | white-space: pre-wrap; 739 | background-color: transparent; 740 | border: 0; 741 | } 742 | 743 | .pre-scrollable { 744 | max-height: 340px; 745 | overflow-y: scroll; 746 | } 747 | 748 | .container { 749 | padding-right: 15px; 750 | padding-left: 15px; 751 | margin-right: auto; 752 | margin-left: auto; 753 | } 754 | 755 | .container:before, 756 | .container:after { 757 | display: table; 758 | content: " "; 759 | } 760 | 761 | .container:after { 762 | clear: both; 763 | } 764 | 765 | .container:before, 766 | .container:after { 767 | display: table; 768 | content: " "; 769 | } 770 | 771 | .container:after { 772 | clear: both; 773 | } 774 | 775 | .row { 776 | margin-right: -15px; 777 | margin-left: -15px; 778 | } 779 | 780 | .row:before, 781 | .row:after { 782 | display: table; 783 | content: " "; 784 | } 785 | 786 | .row:after { 787 | clear: both; 788 | } 789 | 790 | .row:before, 791 | .row:after { 792 | display: table; 793 | content: " "; 794 | } 795 | 796 | .row:after { 797 | clear: both; 798 | } 799 | 800 | .col-xs-1, 801 | .col-xs-2, 802 | .col-xs-3, 803 | .col-xs-4, 804 | .col-xs-5, 805 | .col-xs-6, 806 | .col-xs-7, 807 | .col-xs-8, 808 | .col-xs-9, 809 | .col-xs-10, 810 | .col-xs-11, 811 | .col-xs-12, 812 | .col-sm-1, 813 | .col-sm-2, 814 | .col-sm-3, 815 | .col-sm-4, 816 | .col-sm-5, 817 | .col-sm-6, 818 | .col-sm-7, 819 | .col-sm-8, 820 | .col-sm-9, 821 | .col-sm-10, 822 | .col-sm-11, 823 | .col-sm-12, 824 | .col-md-1, 825 | .col-md-2, 826 | .col-md-3, 827 | .col-md-4, 828 | .col-md-5, 829 | .col-md-6, 830 | .col-md-7, 831 | .col-md-8, 832 | .col-md-9, 833 | .col-md-10, 834 | .col-md-11, 835 | .col-md-12, 836 | .col-lg-1, 837 | .col-lg-2, 838 | .col-lg-3, 839 | .col-lg-4, 840 | .col-lg-5, 841 | .col-lg-6, 842 | .col-lg-7, 843 | .col-lg-8, 844 | .col-lg-9, 845 | .col-lg-10, 846 | .col-lg-11, 847 | .col-lg-12 { 848 | position: relative; 849 | min-height: 1px; 850 | padding-right: 15px; 851 | padding-left: 15px; 852 | } 853 | 854 | .col-xs-1, 855 | .col-xs-2, 856 | .col-xs-3, 857 | .col-xs-4, 858 | .col-xs-5, 859 | .col-xs-6, 860 | .col-xs-7, 861 | .col-xs-8, 862 | .col-xs-9, 863 | .col-xs-10, 864 | .col-xs-11 { 865 | float: left; 866 | } 867 | 868 | .col-xs-1 { 869 | width: 8.333333333333332%; 870 | } 871 | 872 | .col-xs-2 { 873 | width: 16.666666666666664%; 874 | } 875 | 876 | .col-xs-3 { 877 | width: 25%; 878 | } 879 | 880 | .col-xs-4 { 881 | width: 33.33333333333333%; 882 | } 883 | 884 | .col-xs-5 { 885 | width: 41.66666666666667%; 886 | } 887 | 888 | .col-xs-6 { 889 | width: 50%; 890 | } 891 | 892 | .col-xs-7 { 893 | width: 58.333333333333336%; 894 | } 895 | 896 | .col-xs-8 { 897 | width: 66.66666666666666%; 898 | } 899 | 900 | .col-xs-9 { 901 | width: 75%; 902 | } 903 | 904 | .col-xs-10 { 905 | width: 83.33333333333334%; 906 | } 907 | 908 | .col-xs-11 { 909 | width: 91.66666666666666%; 910 | } 911 | 912 | .col-xs-12 { 913 | width: 100%; 914 | } 915 | 916 | @media (min-width: 768px) { 917 | .container { 918 | max-width: 750px; 919 | } 920 | .col-sm-1, 921 | .col-sm-2, 922 | .col-sm-3, 923 | .col-sm-4, 924 | .col-sm-5, 925 | .col-sm-6, 926 | .col-sm-7, 927 | .col-sm-8, 928 | .col-sm-9, 929 | .col-sm-10, 930 | .col-sm-11 { 931 | float: left; 932 | } 933 | .col-sm-1 { 934 | width: 8.333333333333332%; 935 | } 936 | .col-sm-2 { 937 | width: 16.666666666666664%; 938 | } 939 | .col-sm-3 { 940 | width: 25%; 941 | } 942 | .col-sm-4 { 943 | width: 33.33333333333333%; 944 | } 945 | .col-sm-5 { 946 | width: 41.66666666666667%; 947 | } 948 | .col-sm-6 { 949 | width: 50%; 950 | } 951 | .col-sm-7 { 952 | width: 58.333333333333336%; 953 | } 954 | .col-sm-8 { 955 | width: 66.66666666666666%; 956 | } 957 | .col-sm-9 { 958 | width: 75%; 959 | } 960 | .col-sm-10 { 961 | width: 83.33333333333334%; 962 | } 963 | .col-sm-11 { 964 | width: 91.66666666666666%; 965 | } 966 | .col-sm-12 { 967 | width: 100%; 968 | } 969 | .col-sm-push-1 { 970 | left: 8.333333333333332%; 971 | } 972 | .col-sm-push-2 { 973 | left: 16.666666666666664%; 974 | } 975 | .col-sm-push-3 { 976 | left: 25%; 977 | } 978 | .col-sm-push-4 { 979 | left: 33.33333333333333%; 980 | } 981 | .col-sm-push-5 { 982 | left: 41.66666666666667%; 983 | } 984 | .col-sm-push-6 { 985 | left: 50%; 986 | } 987 | .col-sm-push-7 { 988 | left: 58.333333333333336%; 989 | } 990 | .col-sm-push-8 { 991 | left: 66.66666666666666%; 992 | } 993 | .col-sm-push-9 { 994 | left: 75%; 995 | } 996 | .col-sm-push-10 { 997 | left: 83.33333333333334%; 998 | } 999 | .col-sm-push-11 { 1000 | left: 91.66666666666666%; 1001 | } 1002 | .col-sm-pull-1 { 1003 | right: 8.333333333333332%; 1004 | } 1005 | .col-sm-pull-2 { 1006 | right: 16.666666666666664%; 1007 | } 1008 | .col-sm-pull-3 { 1009 | right: 25%; 1010 | } 1011 | .col-sm-pull-4 { 1012 | right: 33.33333333333333%; 1013 | } 1014 | .col-sm-pull-5 { 1015 | right: 41.66666666666667%; 1016 | } 1017 | .col-sm-pull-6 { 1018 | right: 50%; 1019 | } 1020 | .col-sm-pull-7 { 1021 | right: 58.333333333333336%; 1022 | } 1023 | .col-sm-pull-8 { 1024 | right: 66.66666666666666%; 1025 | } 1026 | .col-sm-pull-9 { 1027 | right: 75%; 1028 | } 1029 | .col-sm-pull-10 { 1030 | right: 83.33333333333334%; 1031 | } 1032 | .col-sm-pull-11 { 1033 | right: 91.66666666666666%; 1034 | } 1035 | .col-sm-offset-1 { 1036 | margin-left: 8.333333333333332%; 1037 | } 1038 | .col-sm-offset-2 { 1039 | margin-left: 16.666666666666664%; 1040 | } 1041 | .col-sm-offset-3 { 1042 | margin-left: 25%; 1043 | } 1044 | .col-sm-offset-4 { 1045 | margin-left: 33.33333333333333%; 1046 | } 1047 | .col-sm-offset-5 { 1048 | margin-left: 41.66666666666667%; 1049 | } 1050 | .col-sm-offset-6 { 1051 | margin-left: 50%; 1052 | } 1053 | .col-sm-offset-7 { 1054 | margin-left: 58.333333333333336%; 1055 | } 1056 | .col-sm-offset-8 { 1057 | margin-left: 66.66666666666666%; 1058 | } 1059 | .col-sm-offset-9 { 1060 | margin-left: 75%; 1061 | } 1062 | .col-sm-offset-10 { 1063 | margin-left: 83.33333333333334%; 1064 | } 1065 | .col-sm-offset-11 { 1066 | margin-left: 91.66666666666666%; 1067 | } 1068 | } 1069 | 1070 | @media (min-width: 992px) { 1071 | .container { 1072 | max-width: 970px; 1073 | } 1074 | .col-md-1, 1075 | .col-md-2, 1076 | .col-md-3, 1077 | .col-md-4, 1078 | .col-md-5, 1079 | .col-md-6, 1080 | .col-md-7, 1081 | .col-md-8, 1082 | .col-md-9, 1083 | .col-md-10, 1084 | .col-md-11 { 1085 | float: left; 1086 | } 1087 | .col-md-1 { 1088 | width: 8.333333333333332%; 1089 | } 1090 | .col-md-2 { 1091 | width: 16.666666666666664%; 1092 | } 1093 | .col-md-3 { 1094 | width: 25%; 1095 | } 1096 | .col-md-4 { 1097 | width: 33.33333333333333%; 1098 | } 1099 | .col-md-5 { 1100 | width: 41.66666666666667%; 1101 | } 1102 | .col-md-6 { 1103 | width: 50%; 1104 | } 1105 | .col-md-7 { 1106 | width: 58.333333333333336%; 1107 | } 1108 | .col-md-8 { 1109 | width: 66.66666666666666%; 1110 | } 1111 | .col-md-9 { 1112 | width: 75%; 1113 | } 1114 | .col-md-10 { 1115 | width: 83.33333333333334%; 1116 | } 1117 | .col-md-11 { 1118 | width: 91.66666666666666%; 1119 | } 1120 | .col-md-12 { 1121 | width: 100%; 1122 | } 1123 | .col-md-push-0 { 1124 | left: auto; 1125 | } 1126 | .col-md-push-1 { 1127 | left: 8.333333333333332%; 1128 | } 1129 | .col-md-push-2 { 1130 | left: 16.666666666666664%; 1131 | } 1132 | .col-md-push-3 { 1133 | left: 25%; 1134 | } 1135 | .col-md-push-4 { 1136 | left: 33.33333333333333%; 1137 | } 1138 | .col-md-push-5 { 1139 | left: 41.66666666666667%; 1140 | } 1141 | .col-md-push-6 { 1142 | left: 50%; 1143 | } 1144 | .col-md-push-7 { 1145 | left: 58.333333333333336%; 1146 | } 1147 | .col-md-push-8 { 1148 | left: 66.66666666666666%; 1149 | } 1150 | .col-md-push-9 { 1151 | left: 75%; 1152 | } 1153 | .col-md-push-10 { 1154 | left: 83.33333333333334%; 1155 | } 1156 | .col-md-push-11 { 1157 | left: 91.66666666666666%; 1158 | } 1159 | .col-md-pull-0 { 1160 | right: auto; 1161 | } 1162 | .col-md-pull-1 { 1163 | right: 8.333333333333332%; 1164 | } 1165 | .col-md-pull-2 { 1166 | right: 16.666666666666664%; 1167 | } 1168 | .col-md-pull-3 { 1169 | right: 25%; 1170 | } 1171 | .col-md-pull-4 { 1172 | right: 33.33333333333333%; 1173 | } 1174 | .col-md-pull-5 { 1175 | right: 41.66666666666667%; 1176 | } 1177 | .col-md-pull-6 { 1178 | right: 50%; 1179 | } 1180 | .col-md-pull-7 { 1181 | right: 58.333333333333336%; 1182 | } 1183 | .col-md-pull-8 { 1184 | right: 66.66666666666666%; 1185 | } 1186 | .col-md-pull-9 { 1187 | right: 75%; 1188 | } 1189 | .col-md-pull-10 { 1190 | right: 83.33333333333334%; 1191 | } 1192 | .col-md-pull-11 { 1193 | right: 91.66666666666666%; 1194 | } 1195 | .col-md-offset-0 { 1196 | margin-left: 0; 1197 | } 1198 | .col-md-offset-1 { 1199 | margin-left: 8.333333333333332%; 1200 | } 1201 | .col-md-offset-2 { 1202 | margin-left: 16.666666666666664%; 1203 | } 1204 | .col-md-offset-3 { 1205 | margin-left: 25%; 1206 | } 1207 | .col-md-offset-4 { 1208 | margin-left: 33.33333333333333%; 1209 | } 1210 | .col-md-offset-5 { 1211 | margin-left: 41.66666666666667%; 1212 | } 1213 | .col-md-offset-6 { 1214 | margin-left: 50%; 1215 | } 1216 | .col-md-offset-7 { 1217 | margin-left: 58.333333333333336%; 1218 | } 1219 | .col-md-offset-8 { 1220 | margin-left: 66.66666666666666%; 1221 | } 1222 | .col-md-offset-9 { 1223 | margin-left: 75%; 1224 | } 1225 | .col-md-offset-10 { 1226 | margin-left: 83.33333333333334%; 1227 | } 1228 | .col-md-offset-11 { 1229 | margin-left: 91.66666666666666%; 1230 | } 1231 | } 1232 | 1233 | @media (min-width: 1200px) { 1234 | .container { 1235 | max-width: 1170px; 1236 | } 1237 | .col-lg-1, 1238 | .col-lg-2, 1239 | .col-lg-3, 1240 | .col-lg-4, 1241 | .col-lg-5, 1242 | .col-lg-6, 1243 | .col-lg-7, 1244 | .col-lg-8, 1245 | .col-lg-9, 1246 | .col-lg-10, 1247 | .col-lg-11 { 1248 | float: left; 1249 | } 1250 | .col-lg-1 { 1251 | width: 8.333333333333332%; 1252 | } 1253 | .col-lg-2 { 1254 | width: 16.666666666666664%; 1255 | } 1256 | .col-lg-3 { 1257 | width: 25%; 1258 | } 1259 | .col-lg-4 { 1260 | width: 33.33333333333333%; 1261 | } 1262 | .col-lg-5 { 1263 | width: 41.66666666666667%; 1264 | } 1265 | .col-lg-6 { 1266 | width: 50%; 1267 | } 1268 | .col-lg-7 { 1269 | width: 58.333333333333336%; 1270 | } 1271 | .col-lg-8 { 1272 | width: 66.66666666666666%; 1273 | } 1274 | .col-lg-9 { 1275 | width: 75%; 1276 | } 1277 | .col-lg-10 { 1278 | width: 83.33333333333334%; 1279 | } 1280 | .col-lg-11 { 1281 | width: 91.66666666666666%; 1282 | } 1283 | .col-lg-12 { 1284 | width: 100%; 1285 | } 1286 | .col-lg-push-0 { 1287 | left: auto; 1288 | } 1289 | .col-lg-push-1 { 1290 | left: 8.333333333333332%; 1291 | } 1292 | .col-lg-push-2 { 1293 | left: 16.666666666666664%; 1294 | } 1295 | .col-lg-push-3 { 1296 | left: 25%; 1297 | } 1298 | .col-lg-push-4 { 1299 | left: 33.33333333333333%; 1300 | } 1301 | .col-lg-push-5 { 1302 | left: 41.66666666666667%; 1303 | } 1304 | .col-lg-push-6 { 1305 | left: 50%; 1306 | } 1307 | .col-lg-push-7 { 1308 | left: 58.333333333333336%; 1309 | } 1310 | .col-lg-push-8 { 1311 | left: 66.66666666666666%; 1312 | } 1313 | .col-lg-push-9 { 1314 | left: 75%; 1315 | } 1316 | .col-lg-push-10 { 1317 | left: 83.33333333333334%; 1318 | } 1319 | .col-lg-push-11 { 1320 | left: 91.66666666666666%; 1321 | } 1322 | .col-lg-pull-0 { 1323 | right: auto; 1324 | } 1325 | .col-lg-pull-1 { 1326 | right: 8.333333333333332%; 1327 | } 1328 | .col-lg-pull-2 { 1329 | right: 16.666666666666664%; 1330 | } 1331 | .col-lg-pull-3 { 1332 | right: 25%; 1333 | } 1334 | .col-lg-pull-4 { 1335 | right: 33.33333333333333%; 1336 | } 1337 | .col-lg-pull-5 { 1338 | right: 41.66666666666667%; 1339 | } 1340 | .col-lg-pull-6 { 1341 | right: 50%; 1342 | } 1343 | .col-lg-pull-7 { 1344 | right: 58.333333333333336%; 1345 | } 1346 | .col-lg-pull-8 { 1347 | right: 66.66666666666666%; 1348 | } 1349 | .col-lg-pull-9 { 1350 | right: 75%; 1351 | } 1352 | .col-lg-pull-10 { 1353 | right: 83.33333333333334%; 1354 | } 1355 | .col-lg-pull-11 { 1356 | right: 91.66666666666666%; 1357 | } 1358 | .col-lg-offset-0 { 1359 | margin-left: 0; 1360 | } 1361 | .col-lg-offset-1 { 1362 | margin-left: 8.333333333333332%; 1363 | } 1364 | .col-lg-offset-2 { 1365 | margin-left: 16.666666666666664%; 1366 | } 1367 | .col-lg-offset-3 { 1368 | margin-left: 25%; 1369 | } 1370 | .col-lg-offset-4 { 1371 | margin-left: 33.33333333333333%; 1372 | } 1373 | .col-lg-offset-5 { 1374 | margin-left: 41.66666666666667%; 1375 | } 1376 | .col-lg-offset-6 { 1377 | margin-left: 50%; 1378 | } 1379 | .col-lg-offset-7 { 1380 | margin-left: 58.333333333333336%; 1381 | } 1382 | .col-lg-offset-8 { 1383 | margin-left: 66.66666666666666%; 1384 | } 1385 | .col-lg-offset-9 { 1386 | margin-left: 75%; 1387 | } 1388 | .col-lg-offset-10 { 1389 | margin-left: 83.33333333333334%; 1390 | } 1391 | .col-lg-offset-11 { 1392 | margin-left: 91.66666666666666%; 1393 | } 1394 | } 1395 | 1396 | table { 1397 | max-width: 100%; 1398 | background-color: transparent; 1399 | } 1400 | 1401 | th { 1402 | text-align: left; 1403 | } 1404 | 1405 | .table { 1406 | width: 100%; 1407 | margin-bottom: 20px; 1408 | } 1409 | 1410 | .table thead > tr > th, 1411 | .table tbody > tr > th, 1412 | .table tfoot > tr > th, 1413 | .table thead > tr > td, 1414 | .table tbody > tr > td, 1415 | .table tfoot > tr > td { 1416 | padding: 8px; 1417 | line-height: 1.428571429; 1418 | vertical-align: top; 1419 | border-top: 1px solid #dddddd; 1420 | } 1421 | 1422 | .table thead > tr > th { 1423 | vertical-align: bottom; 1424 | border-bottom: 2px solid #dddddd; 1425 | } 1426 | 1427 | .table caption + thead tr:first-child th, 1428 | .table colgroup + thead tr:first-child th, 1429 | .table thead:first-child tr:first-child th, 1430 | .table caption + thead tr:first-child td, 1431 | .table colgroup + thead tr:first-child td, 1432 | .table thead:first-child tr:first-child td { 1433 | border-top: 0; 1434 | } 1435 | 1436 | .table tbody + tbody { 1437 | border-top: 2px solid #dddddd; 1438 | } 1439 | 1440 | .table .table { 1441 | background-color: #ffffff; 1442 | } 1443 | 1444 | .table-condensed thead > tr > th, 1445 | .table-condensed tbody > tr > th, 1446 | .table-condensed tfoot > tr > th, 1447 | .table-condensed thead > tr > td, 1448 | .table-condensed tbody > tr > td, 1449 | .table-condensed tfoot > tr > td { 1450 | padding: 5px; 1451 | } 1452 | 1453 | .table-bordered { 1454 | border: 1px solid #dddddd; 1455 | } 1456 | 1457 | .table-bordered > thead > tr > th, 1458 | .table-bordered > tbody > tr > th, 1459 | .table-bordered > tfoot > tr > th, 1460 | .table-bordered > thead > tr > td, 1461 | .table-bordered > tbody > tr > td, 1462 | .table-bordered > tfoot > tr > td { 1463 | border: 1px solid #dddddd; 1464 | } 1465 | 1466 | .table-bordered > thead > tr > th, 1467 | .table-bordered > thead > tr > td { 1468 | border-bottom-width: 2px; 1469 | } 1470 | 1471 | .table-striped > tbody > tr:nth-child(odd) > td, 1472 | .table-striped > tbody > tr:nth-child(odd) > th { 1473 | background-color: #f9f9f9; 1474 | } 1475 | 1476 | .table-hover > tbody > tr:hover > td, 1477 | .table-hover > tbody > tr:hover > th { 1478 | background-color: #f5f5f5; 1479 | } 1480 | 1481 | table col[class*="col-"] { 1482 | display: table-column; 1483 | float: none; 1484 | } 1485 | 1486 | table td[class*="col-"], 1487 | table th[class*="col-"] { 1488 | display: table-cell; 1489 | float: none; 1490 | } 1491 | 1492 | .table > thead > tr > td.active, 1493 | .table > tbody > tr > td.active, 1494 | .table > tfoot > tr > td.active, 1495 | .table > thead > tr > th.active, 1496 | .table > tbody > tr > th.active, 1497 | .table > tfoot > tr > th.active, 1498 | .table > thead > tr.active > td, 1499 | .table > tbody > tr.active > td, 1500 | .table > tfoot > tr.active > td, 1501 | .table > thead > tr.active > th, 1502 | .table > tbody > tr.active > th, 1503 | .table > tfoot > tr.active > th { 1504 | background-color: #f5f5f5; 1505 | } 1506 | 1507 | .table > thead > tr > td.success, 1508 | .table > tbody > tr > td.success, 1509 | .table > tfoot > tr > td.success, 1510 | .table > thead > tr > th.success, 1511 | .table > tbody > tr > th.success, 1512 | .table > tfoot > tr > th.success, 1513 | .table > thead > tr.success > td, 1514 | .table > tbody > tr.success > td, 1515 | .table > tfoot > tr.success > td, 1516 | .table > thead > tr.success > th, 1517 | .table > tbody > tr.success > th, 1518 | .table > tfoot > tr.success > th { 1519 | background-color: #dff0d8; 1520 | border-color: #d6e9c6; 1521 | } 1522 | 1523 | .table-hover > tbody > tr > td.success:hover, 1524 | .table-hover > tbody > tr > th.success:hover, 1525 | .table-hover > tbody > tr.success:hover > td { 1526 | background-color: #d0e9c6; 1527 | border-color: #c9e2b3; 1528 | } 1529 | 1530 | .table > thead > tr > td.danger, 1531 | .table > tbody > tr > td.danger, 1532 | .table > tfoot > tr > td.danger, 1533 | .table > thead > tr > th.danger, 1534 | .table > tbody > tr > th.danger, 1535 | .table > tfoot > tr > th.danger, 1536 | .table > thead > tr.danger > td, 1537 | .table > tbody > tr.danger > td, 1538 | .table > tfoot > tr.danger > td, 1539 | .table > thead > tr.danger > th, 1540 | .table > tbody > tr.danger > th, 1541 | .table > tfoot > tr.danger > th { 1542 | background-color: #f2dede; 1543 | border-color: #eed3d7; 1544 | } 1545 | 1546 | .table-hover > tbody > tr > td.danger:hover, 1547 | .table-hover > tbody > tr > th.danger:hover, 1548 | .table-hover > tbody > tr.danger:hover > td { 1549 | background-color: #ebcccc; 1550 | border-color: #e6c1c7; 1551 | } 1552 | 1553 | .table > thead > tr > td.warning, 1554 | .table > tbody > tr > td.warning, 1555 | .table > tfoot > tr > td.warning, 1556 | .table > thead > tr > th.warning, 1557 | .table > tbody > tr > th.warning, 1558 | .table > tfoot > tr > th.warning, 1559 | .table > thead > tr.warning > td, 1560 | .table > tbody > tr.warning > td, 1561 | .table > tfoot > tr.warning > td, 1562 | .table > thead > tr.warning > th, 1563 | .table > tbody > tr.warning > th, 1564 | .table > tfoot > tr.warning > th { 1565 | background-color: #fcf8e3; 1566 | border-color: #fbeed5; 1567 | } 1568 | 1569 | .table-hover > tbody > tr > td.warning:hover, 1570 | .table-hover > tbody > tr > th.warning:hover, 1571 | .table-hover > tbody > tr.warning:hover > td { 1572 | background-color: #faf2cc; 1573 | border-color: #f8e5be; 1574 | } 1575 | 1576 | @media (max-width: 768px) { 1577 | .table-responsive { 1578 | width: 100%; 1579 | margin-bottom: 15px; 1580 | overflow-x: scroll; 1581 | overflow-y: hidden; 1582 | border: 1px solid #dddddd; 1583 | } 1584 | .table-responsive > .table { 1585 | margin-bottom: 0; 1586 | background-color: #fff; 1587 | } 1588 | .table-responsive > .table > thead > tr > th, 1589 | .table-responsive > .table > tbody > tr > th, 1590 | .table-responsive > .table > tfoot > tr > th, 1591 | .table-responsive > .table > thead > tr > td, 1592 | .table-responsive > .table > tbody > tr > td, 1593 | .table-responsive > .table > tfoot > tr > td { 1594 | white-space: nowrap; 1595 | } 1596 | .table-responsive > .table-bordered { 1597 | border: 0; 1598 | } 1599 | .table-responsive > .table-bordered > thead > tr > th:first-child, 1600 | .table-responsive > .table-bordered > tbody > tr > th:first-child, 1601 | .table-responsive > .table-bordered > tfoot > tr > th:first-child, 1602 | .table-responsive > .table-bordered > thead > tr > td:first-child, 1603 | .table-responsive > .table-bordered > tbody > tr > td:first-child, 1604 | .table-responsive > .table-bordered > tfoot > tr > td:first-child { 1605 | border-left: 0; 1606 | } 1607 | .table-responsive > .table-bordered > thead > tr > th:last-child, 1608 | .table-responsive > .table-bordered > tbody > tr > th:last-child, 1609 | .table-responsive > .table-bordered > tfoot > tr > th:last-child, 1610 | .table-responsive > .table-bordered > thead > tr > td:last-child, 1611 | .table-responsive > .table-bordered > tbody > tr > td:last-child, 1612 | .table-responsive > .table-bordered > tfoot > tr > td:last-child { 1613 | border-right: 0; 1614 | } 1615 | .table-responsive > .table-bordered > thead > tr:last-child > th, 1616 | .table-responsive > .table-bordered > tbody > tr:last-child > th, 1617 | .table-responsive > .table-bordered > tfoot > tr:last-child > th, 1618 | .table-responsive > .table-bordered > thead > tr:last-child > td, 1619 | .table-responsive > .table-bordered > tbody > tr:last-child > td, 1620 | .table-responsive > .table-bordered > tfoot > tr:last-child > td { 1621 | border-bottom: 0; 1622 | } 1623 | } 1624 | 1625 | fieldset { 1626 | padding: 0; 1627 | margin: 0; 1628 | border: 0; 1629 | } 1630 | 1631 | legend { 1632 | display: block; 1633 | width: 100%; 1634 | padding: 0; 1635 | margin-bottom: 20px; 1636 | font-size: 21px; 1637 | line-height: inherit; 1638 | color: #333333; 1639 | border: 0; 1640 | border-bottom: 1px solid #e5e5e5; 1641 | } 1642 | 1643 | label { 1644 | display: inline-block; 1645 | margin-bottom: 5px; 1646 | font-weight: bold; 1647 | } 1648 | 1649 | input[type="search"] { 1650 | -webkit-box-sizing: border-box; 1651 | -moz-box-sizing: border-box; 1652 | box-sizing: border-box; 1653 | } 1654 | 1655 | input[type="radio"], 1656 | input[type="checkbox"] { 1657 | margin: 4px 0 0; 1658 | margin-top: 1px \9; 1659 | /* IE8-9 */ 1660 | 1661 | line-height: normal; 1662 | } 1663 | 1664 | input[type="file"] { 1665 | display: block; 1666 | } 1667 | 1668 | select[multiple], 1669 | select[size] { 1670 | height: auto; 1671 | } 1672 | 1673 | select optgroup { 1674 | font-family: inherit; 1675 | font-size: inherit; 1676 | font-style: inherit; 1677 | } 1678 | 1679 | input[type="file"]:focus, 1680 | input[type="radio"]:focus, 1681 | input[type="checkbox"]:focus { 1682 | outline: thin dotted #333; 1683 | outline: 5px auto -webkit-focus-ring-color; 1684 | outline-offset: -2px; 1685 | } 1686 | 1687 | input[type="number"]::-webkit-outer-spin-button, 1688 | input[type="number"]::-webkit-inner-spin-button { 1689 | height: auto; 1690 | } 1691 | 1692 | .form-control:-moz-placeholder { 1693 | color: #999999; 1694 | } 1695 | 1696 | .form-control::-moz-placeholder { 1697 | color: #999999; 1698 | } 1699 | 1700 | .form-control:-ms-input-placeholder { 1701 | color: #999999; 1702 | } 1703 | 1704 | .form-control::-webkit-input-placeholder { 1705 | color: #999999; 1706 | } 1707 | 1708 | .form-control { 1709 | display: block; 1710 | width: 100%; 1711 | height: 34px; 1712 | padding: 6px 12px; 1713 | font-size: 14px; 1714 | line-height: 1.428571429; 1715 | color: #555555; 1716 | vertical-align: middle; 1717 | background-color: #ffffff; 1718 | border: 1px solid #cccccc; 1719 | border-radius: 4px; 1720 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1721 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1722 | -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; 1723 | transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; 1724 | } 1725 | 1726 | .form-control:focus { 1727 | border-color: #66afe9; 1728 | outline: 0; 1729 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); 1730 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); 1731 | } 1732 | 1733 | .form-control[disabled], 1734 | .form-control[readonly], 1735 | fieldset[disabled] .form-control { 1736 | cursor: not-allowed; 1737 | background-color: #eeeeee; 1738 | } 1739 | 1740 | textarea.form-control { 1741 | height: auto; 1742 | } 1743 | 1744 | .form-group { 1745 | margin-bottom: 15px; 1746 | } 1747 | 1748 | .radio, 1749 | .checkbox { 1750 | display: block; 1751 | min-height: 20px; 1752 | padding-left: 20px; 1753 | margin-top: 10px; 1754 | margin-bottom: 10px; 1755 | vertical-align: middle; 1756 | } 1757 | 1758 | .radio label, 1759 | .checkbox label { 1760 | display: inline; 1761 | margin-bottom: 0; 1762 | font-weight: normal; 1763 | cursor: pointer; 1764 | } 1765 | 1766 | .radio input[type="radio"], 1767 | .radio-inline input[type="radio"], 1768 | .checkbox input[type="checkbox"], 1769 | .checkbox-inline input[type="checkbox"] { 1770 | float: left; 1771 | margin-left: -20px; 1772 | } 1773 | 1774 | .radio + .radio, 1775 | .checkbox + .checkbox { 1776 | margin-top: -5px; 1777 | } 1778 | 1779 | .radio-inline, 1780 | .checkbox-inline { 1781 | display: inline-block; 1782 | padding-left: 20px; 1783 | margin-bottom: 0; 1784 | font-weight: normal; 1785 | vertical-align: middle; 1786 | cursor: pointer; 1787 | } 1788 | 1789 | .radio-inline + .radio-inline, 1790 | .checkbox-inline + .checkbox-inline { 1791 | margin-top: 0; 1792 | margin-left: 10px; 1793 | } 1794 | 1795 | input[type="radio"][disabled], 1796 | input[type="checkbox"][disabled], 1797 | .radio[disabled], 1798 | .radio-inline[disabled], 1799 | .checkbox[disabled], 1800 | .checkbox-inline[disabled], 1801 | fieldset[disabled] input[type="radio"], 1802 | fieldset[disabled] input[type="checkbox"], 1803 | fieldset[disabled] .radio, 1804 | fieldset[disabled] .radio-inline, 1805 | fieldset[disabled] .checkbox, 1806 | fieldset[disabled] .checkbox-inline { 1807 | cursor: not-allowed; 1808 | } 1809 | 1810 | .input-sm { 1811 | height: 30px; 1812 | padding: 5px 10px; 1813 | font-size: 12px; 1814 | line-height: 1.5; 1815 | border-radius: 3px; 1816 | } 1817 | 1818 | select.input-sm { 1819 | height: 30px; 1820 | line-height: 30px; 1821 | } 1822 | 1823 | textarea.input-sm { 1824 | height: auto; 1825 | } 1826 | 1827 | .input-lg { 1828 | height: 45px; 1829 | padding: 10px 16px; 1830 | font-size: 18px; 1831 | line-height: 1.33; 1832 | border-radius: 6px; 1833 | } 1834 | 1835 | select.input-lg { 1836 | height: 45px; 1837 | line-height: 45px; 1838 | } 1839 | 1840 | textarea.input-lg { 1841 | height: auto; 1842 | } 1843 | 1844 | .has-warning .help-block, 1845 | .has-warning .control-label { 1846 | color: #c09853; 1847 | } 1848 | 1849 | .has-warning .form-control { 1850 | border-color: #c09853; 1851 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1852 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1853 | } 1854 | 1855 | .has-warning .form-control:focus { 1856 | border-color: #a47e3c; 1857 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; 1858 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; 1859 | } 1860 | 1861 | .has-warning .input-group-addon { 1862 | color: #c09853; 1863 | background-color: #fcf8e3; 1864 | border-color: #c09853; 1865 | } 1866 | 1867 | .has-error .help-block, 1868 | .has-error .control-label { 1869 | color: #b94a48; 1870 | } 1871 | 1872 | .has-error .form-control { 1873 | border-color: #b94a48; 1874 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1875 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1876 | } 1877 | 1878 | .has-error .form-control:focus { 1879 | border-color: #953b39; 1880 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; 1881 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; 1882 | } 1883 | 1884 | .has-error .input-group-addon { 1885 | color: #b94a48; 1886 | background-color: #f2dede; 1887 | border-color: #b94a48; 1888 | } 1889 | 1890 | .has-success .help-block, 1891 | .has-success .control-label { 1892 | color: #468847; 1893 | } 1894 | 1895 | .has-success .form-control { 1896 | border-color: #468847; 1897 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1898 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 1899 | } 1900 | 1901 | .has-success .form-control:focus { 1902 | border-color: #356635; 1903 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; 1904 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; 1905 | } 1906 | 1907 | .has-success .input-group-addon { 1908 | color: #468847; 1909 | background-color: #dff0d8; 1910 | border-color: #468847; 1911 | } 1912 | 1913 | .form-control-static { 1914 | padding-top: 7px; 1915 | margin-bottom: 0; 1916 | } 1917 | 1918 | .help-block { 1919 | display: block; 1920 | margin-top: 5px; 1921 | margin-bottom: 10px; 1922 | color: #737373; 1923 | } 1924 | 1925 | @media (min-width: 768px) { 1926 | .form-inline .form-group { 1927 | display: inline-block; 1928 | margin-bottom: 0; 1929 | vertical-align: middle; 1930 | } 1931 | .form-inline .form-control { 1932 | display: inline-block; 1933 | } 1934 | .form-inline .radio, 1935 | .form-inline .checkbox { 1936 | display: inline-block; 1937 | padding-left: 0; 1938 | margin-top: 0; 1939 | margin-bottom: 0; 1940 | } 1941 | .form-inline .radio input[type="radio"], 1942 | .form-inline .checkbox input[type="checkbox"] { 1943 | float: none; 1944 | margin-left: 0; 1945 | } 1946 | } 1947 | 1948 | .form-horizontal .control-label, 1949 | .form-horizontal .radio, 1950 | .form-horizontal .checkbox, 1951 | .form-horizontal .radio-inline, 1952 | .form-horizontal .checkbox-inline { 1953 | padding-top: 7px; 1954 | margin-top: 0; 1955 | margin-bottom: 0; 1956 | } 1957 | 1958 | .form-horizontal .form-group { 1959 | margin-right: -15px; 1960 | margin-left: -15px; 1961 | } 1962 | 1963 | .form-horizontal .form-group:before, 1964 | .form-horizontal .form-group:after { 1965 | display: table; 1966 | content: " "; 1967 | } 1968 | 1969 | .form-horizontal .form-group:after { 1970 | clear: both; 1971 | } 1972 | 1973 | .form-horizontal .form-group:before, 1974 | .form-horizontal .form-group:after { 1975 | display: table; 1976 | content: " "; 1977 | } 1978 | 1979 | .form-horizontal .form-group:after { 1980 | clear: both; 1981 | } 1982 | 1983 | @media (min-width: 768px) { 1984 | .form-horizontal .control-label { 1985 | text-align: right; 1986 | } 1987 | } 1988 | 1989 | .btn { 1990 | display: inline-block; 1991 | padding: 6px 12px; 1992 | margin-bottom: 0; 1993 | font-size: 14px; 1994 | font-weight: normal; 1995 | line-height: 1.428571429; 1996 | text-align: center; 1997 | white-space: nowrap; 1998 | vertical-align: middle; 1999 | cursor: pointer; 2000 | border: 1px solid transparent; 2001 | border-radius: 4px; 2002 | -webkit-user-select: none; 2003 | -moz-user-select: none; 2004 | -ms-user-select: none; 2005 | -o-user-select: none; 2006 | user-select: none; 2007 | } 2008 | 2009 | .btn:focus { 2010 | outline: thin dotted #333; 2011 | outline: 5px auto -webkit-focus-ring-color; 2012 | outline-offset: -2px; 2013 | } 2014 | 2015 | .btn:hover, 2016 | .btn:focus { 2017 | color: #333333; 2018 | text-decoration: none; 2019 | } 2020 | 2021 | .btn:active, 2022 | .btn.active { 2023 | background-image: none; 2024 | outline: 0; 2025 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); 2026 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); 2027 | } 2028 | 2029 | .btn.disabled, 2030 | .btn[disabled], 2031 | fieldset[disabled] .btn { 2032 | pointer-events: none; 2033 | cursor: not-allowed; 2034 | opacity: 0.65; 2035 | filter: alpha(opacity=65); 2036 | -webkit-box-shadow: none; 2037 | box-shadow: none; 2038 | } 2039 | 2040 | .btn-default { 2041 | color: #333333; 2042 | background-color: #ffffff; 2043 | border-color: #cccccc; 2044 | } 2045 | 2046 | .btn-default:hover, 2047 | .btn-default:focus, 2048 | .btn-default:active, 2049 | .btn-default.active, 2050 | .open .dropdown-toggle.btn-default { 2051 | color: #333333; 2052 | background-color: #ebebeb; 2053 | border-color: #adadad; 2054 | } 2055 | 2056 | .btn-default:active, 2057 | .btn-default.active, 2058 | .open .dropdown-toggle.btn-default { 2059 | background-image: none; 2060 | } 2061 | 2062 | .btn-default.disabled, 2063 | .btn-default[disabled], 2064 | fieldset[disabled] .btn-default, 2065 | .btn-default.disabled:hover, 2066 | .btn-default[disabled]:hover, 2067 | fieldset[disabled] .btn-default:hover, 2068 | .btn-default.disabled:focus, 2069 | .btn-default[disabled]:focus, 2070 | fieldset[disabled] .btn-default:focus, 2071 | .btn-default.disabled:active, 2072 | .btn-default[disabled]:active, 2073 | fieldset[disabled] .btn-default:active, 2074 | .btn-default.disabled.active, 2075 | .btn-default[disabled].active, 2076 | fieldset[disabled] .btn-default.active { 2077 | background-color: #ffffff; 2078 | border-color: #cccccc; 2079 | } 2080 | 2081 | .btn-primary { 2082 | color: #ffffff; 2083 | background-color: #428bca; 2084 | border-color: #357ebd; 2085 | } 2086 | 2087 | .btn-primary:hover, 2088 | .btn-primary:focus, 2089 | .btn-primary:active, 2090 | .btn-primary.active, 2091 | .open .dropdown-toggle.btn-primary { 2092 | color: #ffffff; 2093 | background-color: #3276b1; 2094 | border-color: #285e8e; 2095 | } 2096 | 2097 | .btn-primary:active, 2098 | .btn-primary.active, 2099 | .open .dropdown-toggle.btn-primary { 2100 | background-image: none; 2101 | } 2102 | 2103 | .btn-primary.disabled, 2104 | .btn-primary[disabled], 2105 | fieldset[disabled] .btn-primary, 2106 | .btn-primary.disabled:hover, 2107 | .btn-primary[disabled]:hover, 2108 | fieldset[disabled] .btn-primary:hover, 2109 | .btn-primary.disabled:focus, 2110 | .btn-primary[disabled]:focus, 2111 | fieldset[disabled] .btn-primary:focus, 2112 | .btn-primary.disabled:active, 2113 | .btn-primary[disabled]:active, 2114 | fieldset[disabled] .btn-primary:active, 2115 | .btn-primary.disabled.active, 2116 | .btn-primary[disabled].active, 2117 | fieldset[disabled] .btn-primary.active { 2118 | background-color: #428bca; 2119 | border-color: #357ebd; 2120 | } 2121 | 2122 | .btn-warning { 2123 | color: #ffffff; 2124 | background-color: #f0ad4e; 2125 | border-color: #eea236; 2126 | } 2127 | 2128 | .btn-warning:hover, 2129 | .btn-warning:focus, 2130 | .btn-warning:active, 2131 | .btn-warning.active, 2132 | .open .dropdown-toggle.btn-warning { 2133 | color: #ffffff; 2134 | background-color: #ed9c28; 2135 | border-color: #d58512; 2136 | } 2137 | 2138 | .btn-warning:active, 2139 | .btn-warning.active, 2140 | .open .dropdown-toggle.btn-warning { 2141 | background-image: none; 2142 | } 2143 | 2144 | .btn-warning.disabled, 2145 | .btn-warning[disabled], 2146 | fieldset[disabled] .btn-warning, 2147 | .btn-warning.disabled:hover, 2148 | .btn-warning[disabled]:hover, 2149 | fieldset[disabled] .btn-warning:hover, 2150 | .btn-warning.disabled:focus, 2151 | .btn-warning[disabled]:focus, 2152 | fieldset[disabled] .btn-warning:focus, 2153 | .btn-warning.disabled:active, 2154 | .btn-warning[disabled]:active, 2155 | fieldset[disabled] .btn-warning:active, 2156 | .btn-warning.disabled.active, 2157 | .btn-warning[disabled].active, 2158 | fieldset[disabled] .btn-warning.active { 2159 | background-color: #f0ad4e; 2160 | border-color: #eea236; 2161 | } 2162 | 2163 | .btn-danger { 2164 | color: #ffffff; 2165 | background-color: #d9534f; 2166 | border-color: #d43f3a; 2167 | } 2168 | 2169 | .btn-danger:hover, 2170 | .btn-danger:focus, 2171 | .btn-danger:active, 2172 | .btn-danger.active, 2173 | .open .dropdown-toggle.btn-danger { 2174 | color: #ffffff; 2175 | background-color: #d2322d; 2176 | border-color: #ac2925; 2177 | } 2178 | 2179 | .btn-danger:active, 2180 | .btn-danger.active, 2181 | .open .dropdown-toggle.btn-danger { 2182 | background-image: none; 2183 | } 2184 | 2185 | .btn-danger.disabled, 2186 | .btn-danger[disabled], 2187 | fieldset[disabled] .btn-danger, 2188 | .btn-danger.disabled:hover, 2189 | .btn-danger[disabled]:hover, 2190 | fieldset[disabled] .btn-danger:hover, 2191 | .btn-danger.disabled:focus, 2192 | .btn-danger[disabled]:focus, 2193 | fieldset[disabled] .btn-danger:focus, 2194 | .btn-danger.disabled:active, 2195 | .btn-danger[disabled]:active, 2196 | fieldset[disabled] .btn-danger:active, 2197 | .btn-danger.disabled.active, 2198 | .btn-danger[disabled].active, 2199 | fieldset[disabled] .btn-danger.active { 2200 | background-color: #d9534f; 2201 | border-color: #d43f3a; 2202 | } 2203 | 2204 | .btn-success { 2205 | color: #ffffff; 2206 | background-color: #5cb85c; 2207 | border-color: #4cae4c; 2208 | } 2209 | 2210 | .btn-success:hover, 2211 | .btn-success:focus, 2212 | .btn-success:active, 2213 | .btn-success.active, 2214 | .open .dropdown-toggle.btn-success { 2215 | color: #ffffff; 2216 | background-color: #47a447; 2217 | border-color: #398439; 2218 | } 2219 | 2220 | .btn-success:active, 2221 | .btn-success.active, 2222 | .open .dropdown-toggle.btn-success { 2223 | background-image: none; 2224 | } 2225 | 2226 | .btn-success.disabled, 2227 | .btn-success[disabled], 2228 | fieldset[disabled] .btn-success, 2229 | .btn-success.disabled:hover, 2230 | .btn-success[disabled]:hover, 2231 | fieldset[disabled] .btn-success:hover, 2232 | .btn-success.disabled:focus, 2233 | .btn-success[disabled]:focus, 2234 | fieldset[disabled] .btn-success:focus, 2235 | .btn-success.disabled:active, 2236 | .btn-success[disabled]:active, 2237 | fieldset[disabled] .btn-success:active, 2238 | .btn-success.disabled.active, 2239 | .btn-success[disabled].active, 2240 | fieldset[disabled] .btn-success.active { 2241 | background-color: #5cb85c; 2242 | border-color: #4cae4c; 2243 | } 2244 | 2245 | .btn-info { 2246 | color: #ffffff; 2247 | background-color: #5bc0de; 2248 | border-color: #46b8da; 2249 | } 2250 | 2251 | .btn-info:hover, 2252 | .btn-info:focus, 2253 | .btn-info:active, 2254 | .btn-info.active, 2255 | .open .dropdown-toggle.btn-info { 2256 | color: #ffffff; 2257 | background-color: #39b3d7; 2258 | border-color: #269abc; 2259 | } 2260 | 2261 | .btn-info:active, 2262 | .btn-info.active, 2263 | .open .dropdown-toggle.btn-info { 2264 | background-image: none; 2265 | } 2266 | 2267 | .btn-info.disabled, 2268 | .btn-info[disabled], 2269 | fieldset[disabled] .btn-info, 2270 | .btn-info.disabled:hover, 2271 | .btn-info[disabled]:hover, 2272 | fieldset[disabled] .btn-info:hover, 2273 | .btn-info.disabled:focus, 2274 | .btn-info[disabled]:focus, 2275 | fieldset[disabled] .btn-info:focus, 2276 | .btn-info.disabled:active, 2277 | .btn-info[disabled]:active, 2278 | fieldset[disabled] .btn-info:active, 2279 | .btn-info.disabled.active, 2280 | .btn-info[disabled].active, 2281 | fieldset[disabled] .btn-info.active { 2282 | background-color: #5bc0de; 2283 | border-color: #46b8da; 2284 | } 2285 | 2286 | .btn-link { 2287 | font-weight: normal; 2288 | color: #428bca; 2289 | cursor: pointer; 2290 | border-radius: 0; 2291 | } 2292 | 2293 | .btn-link, 2294 | .btn-link:active, 2295 | .btn-link[disabled], 2296 | fieldset[disabled] .btn-link { 2297 | background-color: transparent; 2298 | -webkit-box-shadow: none; 2299 | box-shadow: none; 2300 | } 2301 | 2302 | .btn-link, 2303 | .btn-link:hover, 2304 | .btn-link:focus, 2305 | .btn-link:active { 2306 | border-color: transparent; 2307 | } 2308 | 2309 | .btn-link:hover, 2310 | .btn-link:focus { 2311 | color: #2a6496; 2312 | text-decoration: underline; 2313 | background-color: transparent; 2314 | } 2315 | 2316 | .btn-link[disabled]:hover, 2317 | fieldset[disabled] .btn-link:hover, 2318 | .btn-link[disabled]:focus, 2319 | fieldset[disabled] .btn-link:focus { 2320 | color: #999999; 2321 | text-decoration: none; 2322 | } 2323 | 2324 | .btn-lg { 2325 | padding: 10px 16px; 2326 | font-size: 18px; 2327 | line-height: 1.33; 2328 | border-radius: 6px; 2329 | } 2330 | 2331 | .btn-sm, 2332 | .btn-xs { 2333 | padding: 5px 10px; 2334 | font-size: 12px; 2335 | line-height: 1.5; 2336 | border-radius: 3px; 2337 | } 2338 | 2339 | .btn-xs { 2340 | padding: 1px 5px; 2341 | } 2342 | 2343 | .btn-block { 2344 | display: block; 2345 | width: 100%; 2346 | padding-right: 0; 2347 | padding-left: 0; 2348 | } 2349 | 2350 | .btn-block + .btn-block { 2351 | margin-top: 5px; 2352 | } 2353 | 2354 | input[type="submit"].btn-block, 2355 | input[type="reset"].btn-block, 2356 | input[type="button"].btn-block { 2357 | width: 100%; 2358 | } 2359 | 2360 | .fade { 2361 | opacity: 0; 2362 | -webkit-transition: opacity 0.15s linear; 2363 | transition: opacity 0.15s linear; 2364 | } 2365 | 2366 | .fade.in { 2367 | opacity: 1; 2368 | } 2369 | 2370 | .collapse { 2371 | display: none; 2372 | } 2373 | 2374 | .collapse.in { 2375 | display: block; 2376 | } 2377 | 2378 | .collapsing { 2379 | position: relative; 2380 | height: 0; 2381 | overflow: hidden; 2382 | -webkit-transition: height 0.35s ease; 2383 | transition: height 0.35s ease; 2384 | } 2385 | 2386 | @font-face { 2387 | font-family: 'Glyphicons Halflings'; 2388 | src: url('../fonts/glyphicons-halflings-regular.eot'); 2389 | src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg'); 2390 | } 2391 | 2392 | .glyphicon { 2393 | position: relative; 2394 | top: 1px; 2395 | display: inline-block; 2396 | font-family: 'Glyphicons Halflings'; 2397 | -webkit-font-smoothing: antialiased; 2398 | font-style: normal; 2399 | font-weight: normal; 2400 | line-height: 1; 2401 | } 2402 | 2403 | .glyphicon-asterisk:before { 2404 | content: "\2a"; 2405 | } 2406 | 2407 | .glyphicon-plus:before { 2408 | content: "\2b"; 2409 | } 2410 | 2411 | .glyphicon-euro:before { 2412 | content: "\20ac"; 2413 | } 2414 | 2415 | .glyphicon-minus:before { 2416 | content: "\2212"; 2417 | } 2418 | 2419 | .glyphicon-cloud:before { 2420 | content: "\2601"; 2421 | } 2422 | 2423 | .glyphicon-envelope:before { 2424 | content: "\2709"; 2425 | } 2426 | 2427 | .glyphicon-pencil:before { 2428 | content: "\270f"; 2429 | } 2430 | 2431 | .glyphicon-glass:before { 2432 | content: "\e001"; 2433 | } 2434 | 2435 | .glyphicon-music:before { 2436 | content: "\e002"; 2437 | } 2438 | 2439 | .glyphicon-search:before { 2440 | content: "\e003"; 2441 | } 2442 | 2443 | .glyphicon-heart:before { 2444 | content: "\e005"; 2445 | } 2446 | 2447 | .glyphicon-star:before { 2448 | content: "\e006"; 2449 | } 2450 | 2451 | .glyphicon-star-empty:before { 2452 | content: "\e007"; 2453 | } 2454 | 2455 | .glyphicon-user:before { 2456 | content: "\e008"; 2457 | } 2458 | 2459 | .glyphicon-film:before { 2460 | content: "\e009"; 2461 | } 2462 | 2463 | .glyphicon-th-large:before { 2464 | content: "\e010"; 2465 | } 2466 | 2467 | .glyphicon-th:before { 2468 | content: "\e011"; 2469 | } 2470 | 2471 | .glyphicon-th-list:before { 2472 | content: "\e012"; 2473 | } 2474 | 2475 | .glyphicon-ok:before { 2476 | content: "\e013"; 2477 | } 2478 | 2479 | .glyphicon-remove:before { 2480 | content: "\e014"; 2481 | } 2482 | 2483 | .glyphicon-zoom-in:before { 2484 | content: "\e015"; 2485 | } 2486 | 2487 | .glyphicon-zoom-out:before { 2488 | content: "\e016"; 2489 | } 2490 | 2491 | .glyphicon-off:before { 2492 | content: "\e017"; 2493 | } 2494 | 2495 | .glyphicon-signal:before { 2496 | content: "\e018"; 2497 | } 2498 | 2499 | .glyphicon-cog:before { 2500 | content: "\e019"; 2501 | } 2502 | 2503 | .glyphicon-trash:before { 2504 | content: "\e020"; 2505 | } 2506 | 2507 | .glyphicon-home:before { 2508 | content: "\e021"; 2509 | } 2510 | 2511 | .glyphicon-file:before { 2512 | content: "\e022"; 2513 | } 2514 | 2515 | .glyphicon-time:before { 2516 | content: "\e023"; 2517 | } 2518 | 2519 | .glyphicon-road:before { 2520 | content: "\e024"; 2521 | } 2522 | 2523 | .glyphicon-download-alt:before { 2524 | content: "\e025"; 2525 | } 2526 | 2527 | .glyphicon-download:before { 2528 | content: "\e026"; 2529 | } 2530 | 2531 | .glyphicon-upload:before { 2532 | content: "\e027"; 2533 | } 2534 | 2535 | .glyphicon-inbox:before { 2536 | content: "\e028"; 2537 | } 2538 | 2539 | .glyphicon-play-circle:before { 2540 | content: "\e029"; 2541 | } 2542 | 2543 | .glyphicon-repeat:before { 2544 | content: "\e030"; 2545 | } 2546 | 2547 | .glyphicon-refresh:before { 2548 | content: "\e031"; 2549 | } 2550 | 2551 | .glyphicon-list-alt:before { 2552 | content: "\e032"; 2553 | } 2554 | 2555 | .glyphicon-flag:before { 2556 | content: "\e034"; 2557 | } 2558 | 2559 | .glyphicon-headphones:before { 2560 | content: "\e035"; 2561 | } 2562 | 2563 | .glyphicon-volume-off:before { 2564 | content: "\e036"; 2565 | } 2566 | 2567 | .glyphicon-volume-down:before { 2568 | content: "\e037"; 2569 | } 2570 | 2571 | .glyphicon-volume-up:before { 2572 | content: "\e038"; 2573 | } 2574 | 2575 | .glyphicon-qrcode:before { 2576 | content: "\e039"; 2577 | } 2578 | 2579 | .glyphicon-barcode:before { 2580 | content: "\e040"; 2581 | } 2582 | 2583 | .glyphicon-tag:before { 2584 | content: "\e041"; 2585 | } 2586 | 2587 | .glyphicon-tags:before { 2588 | content: "\e042"; 2589 | } 2590 | 2591 | .glyphicon-book:before { 2592 | content: "\e043"; 2593 | } 2594 | 2595 | .glyphicon-print:before { 2596 | content: "\e045"; 2597 | } 2598 | 2599 | .glyphicon-font:before { 2600 | content: "\e047"; 2601 | } 2602 | 2603 | .glyphicon-bold:before { 2604 | content: "\e048"; 2605 | } 2606 | 2607 | .glyphicon-italic:before { 2608 | content: "\e049"; 2609 | } 2610 | 2611 | .glyphicon-text-height:before { 2612 | content: "\e050"; 2613 | } 2614 | 2615 | .glyphicon-text-width:before { 2616 | content: "\e051"; 2617 | } 2618 | 2619 | .glyphicon-align-left:before { 2620 | content: "\e052"; 2621 | } 2622 | 2623 | .glyphicon-align-center:before { 2624 | content: "\e053"; 2625 | } 2626 | 2627 | .glyphicon-align-right:before { 2628 | content: "\e054"; 2629 | } 2630 | 2631 | .glyphicon-align-justify:before { 2632 | content: "\e055"; 2633 | } 2634 | 2635 | .glyphicon-list:before { 2636 | content: "\e056"; 2637 | } 2638 | 2639 | .glyphicon-indent-left:before { 2640 | content: "\e057"; 2641 | } 2642 | 2643 | .glyphicon-indent-right:before { 2644 | content: "\e058"; 2645 | } 2646 | 2647 | .glyphicon-facetime-video:before { 2648 | content: "\e059"; 2649 | } 2650 | 2651 | .glyphicon-picture:before { 2652 | content: "\e060"; 2653 | } 2654 | 2655 | .glyphicon-map-marker:before { 2656 | content: "\e062"; 2657 | } 2658 | 2659 | .glyphicon-adjust:before { 2660 | content: "\e063"; 2661 | } 2662 | 2663 | .glyphicon-tint:before { 2664 | content: "\e064"; 2665 | } 2666 | 2667 | .glyphicon-edit:before { 2668 | content: "\e065"; 2669 | } 2670 | 2671 | .glyphicon-share:before { 2672 | content: "\e066"; 2673 | } 2674 | 2675 | .glyphicon-check:before { 2676 | content: "\e067"; 2677 | } 2678 | 2679 | .glyphicon-move:before { 2680 | content: "\e068"; 2681 | } 2682 | 2683 | .glyphicon-step-backward:before { 2684 | content: "\e069"; 2685 | } 2686 | 2687 | .glyphicon-fast-backward:before { 2688 | content: "\e070"; 2689 | } 2690 | 2691 | .glyphicon-backward:before { 2692 | content: "\e071"; 2693 | } 2694 | 2695 | .glyphicon-play:before { 2696 | content: "\e072"; 2697 | } 2698 | 2699 | .glyphicon-pause:before { 2700 | content: "\e073"; 2701 | } 2702 | 2703 | .glyphicon-stop:before { 2704 | content: "\e074"; 2705 | } 2706 | 2707 | .glyphicon-forward:before { 2708 | content: "\e075"; 2709 | } 2710 | 2711 | .glyphicon-fast-forward:before { 2712 | content: "\e076"; 2713 | } 2714 | 2715 | .glyphicon-step-forward:before { 2716 | content: "\e077"; 2717 | } 2718 | 2719 | .glyphicon-eject:before { 2720 | content: "\e078"; 2721 | } 2722 | 2723 | .glyphicon-chevron-left:before { 2724 | content: "\e079"; 2725 | } 2726 | 2727 | .glyphicon-chevron-right:before { 2728 | content: "\e080"; 2729 | } 2730 | 2731 | .glyphicon-plus-sign:before { 2732 | content: "\e081"; 2733 | } 2734 | 2735 | .glyphicon-minus-sign:before { 2736 | content: "\e082"; 2737 | } 2738 | 2739 | .glyphicon-remove-sign:before { 2740 | content: "\e083"; 2741 | } 2742 | 2743 | .glyphicon-ok-sign:before { 2744 | content: "\e084"; 2745 | } 2746 | 2747 | .glyphicon-question-sign:before { 2748 | content: "\e085"; 2749 | } 2750 | 2751 | .glyphicon-info-sign:before { 2752 | content: "\e086"; 2753 | } 2754 | 2755 | .glyphicon-screenshot:before { 2756 | content: "\e087"; 2757 | } 2758 | 2759 | .glyphicon-remove-circle:before { 2760 | content: "\e088"; 2761 | } 2762 | 2763 | .glyphicon-ok-circle:before { 2764 | content: "\e089"; 2765 | } 2766 | 2767 | .glyphicon-ban-circle:before { 2768 | content: "\e090"; 2769 | } 2770 | 2771 | .glyphicon-arrow-left:before { 2772 | content: "\e091"; 2773 | } 2774 | 2775 | .glyphicon-arrow-right:before { 2776 | content: "\e092"; 2777 | } 2778 | 2779 | .glyphicon-arrow-up:before { 2780 | content: "\e093"; 2781 | } 2782 | 2783 | .glyphicon-arrow-down:before { 2784 | content: "\e094"; 2785 | } 2786 | 2787 | .glyphicon-share-alt:before { 2788 | content: "\e095"; 2789 | } 2790 | 2791 | .glyphicon-resize-full:before { 2792 | content: "\e096"; 2793 | } 2794 | 2795 | .glyphicon-resize-small:before { 2796 | content: "\e097"; 2797 | } 2798 | 2799 | .glyphicon-exclamation-sign:before { 2800 | content: "\e101"; 2801 | } 2802 | 2803 | .glyphicon-gift:before { 2804 | content: "\e102"; 2805 | } 2806 | 2807 | .glyphicon-leaf:before { 2808 | content: "\e103"; 2809 | } 2810 | 2811 | .glyphicon-eye-open:before { 2812 | content: "\e105"; 2813 | } 2814 | 2815 | .glyphicon-eye-close:before { 2816 | content: "\e106"; 2817 | } 2818 | 2819 | .glyphicon-warning-sign:before { 2820 | content: "\e107"; 2821 | } 2822 | 2823 | .glyphicon-plane:before { 2824 | content: "\e108"; 2825 | } 2826 | 2827 | .glyphicon-random:before { 2828 | content: "\e110"; 2829 | } 2830 | 2831 | .glyphicon-comment:before { 2832 | content: "\e111"; 2833 | } 2834 | 2835 | .glyphicon-magnet:before { 2836 | content: "\e112"; 2837 | } 2838 | 2839 | .glyphicon-chevron-up:before { 2840 | content: "\e113"; 2841 | } 2842 | 2843 | .glyphicon-chevron-down:before { 2844 | content: "\e114"; 2845 | } 2846 | 2847 | .glyphicon-retweet:before { 2848 | content: "\e115"; 2849 | } 2850 | 2851 | .glyphicon-shopping-cart:before { 2852 | content: "\e116"; 2853 | } 2854 | 2855 | .glyphicon-folder-close:before { 2856 | content: "\e117"; 2857 | } 2858 | 2859 | .glyphicon-folder-open:before { 2860 | content: "\e118"; 2861 | } 2862 | 2863 | .glyphicon-resize-vertical:before { 2864 | content: "\e119"; 2865 | } 2866 | 2867 | .glyphicon-resize-horizontal:before { 2868 | content: "\e120"; 2869 | } 2870 | 2871 | .glyphicon-hdd:before { 2872 | content: "\e121"; 2873 | } 2874 | 2875 | .glyphicon-bullhorn:before { 2876 | content: "\e122"; 2877 | } 2878 | 2879 | .glyphicon-certificate:before { 2880 | content: "\e124"; 2881 | } 2882 | 2883 | .glyphicon-thumbs-up:before { 2884 | content: "\e125"; 2885 | } 2886 | 2887 | .glyphicon-thumbs-down:before { 2888 | content: "\e126"; 2889 | } 2890 | 2891 | .glyphicon-hand-right:before { 2892 | content: "\e127"; 2893 | } 2894 | 2895 | .glyphicon-hand-left:before { 2896 | content: "\e128"; 2897 | } 2898 | 2899 | .glyphicon-hand-up:before { 2900 | content: "\e129"; 2901 | } 2902 | 2903 | .glyphicon-hand-down:before { 2904 | content: "\e130"; 2905 | } 2906 | 2907 | .glyphicon-circle-arrow-right:before { 2908 | content: "\e131"; 2909 | } 2910 | 2911 | .glyphicon-circle-arrow-left:before { 2912 | content: "\e132"; 2913 | } 2914 | 2915 | .glyphicon-circle-arrow-up:before { 2916 | content: "\e133"; 2917 | } 2918 | 2919 | .glyphicon-circle-arrow-down:before { 2920 | content: "\e134"; 2921 | } 2922 | 2923 | .glyphicon-globe:before { 2924 | content: "\e135"; 2925 | } 2926 | 2927 | .glyphicon-tasks:before { 2928 | content: "\e137"; 2929 | } 2930 | 2931 | .glyphicon-filter:before { 2932 | content: "\e138"; 2933 | } 2934 | 2935 | .glyphicon-fullscreen:before { 2936 | content: "\e140"; 2937 | } 2938 | 2939 | .glyphicon-dashboard:before { 2940 | content: "\e141"; 2941 | } 2942 | 2943 | .glyphicon-heart-empty:before { 2944 | content: "\e143"; 2945 | } 2946 | 2947 | .glyphicon-link:before { 2948 | content: "\e144"; 2949 | } 2950 | 2951 | .glyphicon-phone:before { 2952 | content: "\e145"; 2953 | } 2954 | 2955 | .glyphicon-usd:before { 2956 | content: "\e148"; 2957 | } 2958 | 2959 | .glyphicon-gbp:before { 2960 | content: "\e149"; 2961 | } 2962 | 2963 | .glyphicon-sort:before { 2964 | content: "\e150"; 2965 | } 2966 | 2967 | .glyphicon-sort-by-alphabet:before { 2968 | content: "\e151"; 2969 | } 2970 | 2971 | .glyphicon-sort-by-alphabet-alt:before { 2972 | content: "\e152"; 2973 | } 2974 | 2975 | .glyphicon-sort-by-order:before { 2976 | content: "\e153"; 2977 | } 2978 | 2979 | .glyphicon-sort-by-order-alt:before { 2980 | content: "\e154"; 2981 | } 2982 | 2983 | .glyphicon-sort-by-attributes:before { 2984 | content: "\e155"; 2985 | } 2986 | 2987 | .glyphicon-sort-by-attributes-alt:before { 2988 | content: "\e156"; 2989 | } 2990 | 2991 | .glyphicon-unchecked:before { 2992 | content: "\e157"; 2993 | } 2994 | 2995 | .glyphicon-expand:before { 2996 | content: "\e158"; 2997 | } 2998 | 2999 | .glyphicon-collapse-down:before { 3000 | content: "\e159"; 3001 | } 3002 | 3003 | .glyphicon-collapse-up:before { 3004 | content: "\e160"; 3005 | } 3006 | 3007 | .glyphicon-log-in:before { 3008 | content: "\e161"; 3009 | } 3010 | 3011 | .glyphicon-flash:before { 3012 | content: "\e162"; 3013 | } 3014 | 3015 | .glyphicon-log-out:before { 3016 | content: "\e163"; 3017 | } 3018 | 3019 | .glyphicon-new-window:before { 3020 | content: "\e164"; 3021 | } 3022 | 3023 | .glyphicon-record:before { 3024 | content: "\e165"; 3025 | } 3026 | 3027 | .glyphicon-save:before { 3028 | content: "\e166"; 3029 | } 3030 | 3031 | .glyphicon-open:before { 3032 | content: "\e167"; 3033 | } 3034 | 3035 | .glyphicon-saved:before { 3036 | content: "\e168"; 3037 | } 3038 | 3039 | .glyphicon-import:before { 3040 | content: "\e169"; 3041 | } 3042 | 3043 | .glyphicon-export:before { 3044 | content: "\e170"; 3045 | } 3046 | 3047 | .glyphicon-send:before { 3048 | content: "\e171"; 3049 | } 3050 | 3051 | .glyphicon-floppy-disk:before { 3052 | content: "\e172"; 3053 | } 3054 | 3055 | .glyphicon-floppy-saved:before { 3056 | content: "\e173"; 3057 | } 3058 | 3059 | .glyphicon-floppy-remove:before { 3060 | content: "\e174"; 3061 | } 3062 | 3063 | .glyphicon-floppy-save:before { 3064 | content: "\e175"; 3065 | } 3066 | 3067 | .glyphicon-floppy-open:before { 3068 | content: "\e176"; 3069 | } 3070 | 3071 | .glyphicon-credit-card:before { 3072 | content: "\e177"; 3073 | } 3074 | 3075 | .glyphicon-transfer:before { 3076 | content: "\e178"; 3077 | } 3078 | 3079 | .glyphicon-cutlery:before { 3080 | content: "\e179"; 3081 | } 3082 | 3083 | .glyphicon-header:before { 3084 | content: "\e180"; 3085 | } 3086 | 3087 | .glyphicon-compressed:before { 3088 | content: "\e181"; 3089 | } 3090 | 3091 | .glyphicon-earphone:before { 3092 | content: "\e182"; 3093 | } 3094 | 3095 | .glyphicon-phone-alt:before { 3096 | content: "\e183"; 3097 | } 3098 | 3099 | .glyphicon-tower:before { 3100 | content: "\e184"; 3101 | } 3102 | 3103 | .glyphicon-stats:before { 3104 | content: "\e185"; 3105 | } 3106 | 3107 | .glyphicon-sd-video:before { 3108 | content: "\e186"; 3109 | } 3110 | 3111 | .glyphicon-hd-video:before { 3112 | content: "\e187"; 3113 | } 3114 | 3115 | .glyphicon-subtitles:before { 3116 | content: "\e188"; 3117 | } 3118 | 3119 | .glyphicon-sound-stereo:before { 3120 | content: "\e189"; 3121 | } 3122 | 3123 | .glyphicon-sound-dolby:before { 3124 | content: "\e190"; 3125 | } 3126 | 3127 | .glyphicon-sound-5-1:before { 3128 | content: "\e191"; 3129 | } 3130 | 3131 | .glyphicon-sound-6-1:before { 3132 | content: "\e192"; 3133 | } 3134 | 3135 | .glyphicon-sound-7-1:before { 3136 | content: "\e193"; 3137 | } 3138 | 3139 | .glyphicon-copyright-mark:before { 3140 | content: "\e194"; 3141 | } 3142 | 3143 | .glyphicon-registration-mark:before { 3144 | content: "\e195"; 3145 | } 3146 | 3147 | .glyphicon-cloud-download:before { 3148 | content: "\e197"; 3149 | } 3150 | 3151 | .glyphicon-cloud-upload:before { 3152 | content: "\e198"; 3153 | } 3154 | 3155 | .glyphicon-tree-conifer:before { 3156 | content: "\e199"; 3157 | } 3158 | 3159 | .glyphicon-tree-deciduous:before { 3160 | content: "\e200"; 3161 | } 3162 | 3163 | .glyphicon-briefcase:before { 3164 | content: "\1f4bc"; 3165 | } 3166 | 3167 | .glyphicon-calendar:before { 3168 | content: "\1f4c5"; 3169 | } 3170 | 3171 | .glyphicon-pushpin:before { 3172 | content: "\1f4cc"; 3173 | } 3174 | 3175 | .glyphicon-paperclip:before { 3176 | content: "\1f4ce"; 3177 | } 3178 | 3179 | .glyphicon-camera:before { 3180 | content: "\1f4f7"; 3181 | } 3182 | 3183 | .glyphicon-lock:before { 3184 | content: "\1f512"; 3185 | } 3186 | 3187 | .glyphicon-bell:before { 3188 | content: "\1f514"; 3189 | } 3190 | 3191 | .glyphicon-bookmark:before { 3192 | content: "\1f516"; 3193 | } 3194 | 3195 | .glyphicon-fire:before { 3196 | content: "\1f525"; 3197 | } 3198 | 3199 | .glyphicon-wrench:before { 3200 | content: "\1f527"; 3201 | } 3202 | 3203 | .caret { 3204 | display: inline-block; 3205 | width: 0; 3206 | height: 0; 3207 | margin-left: 2px; 3208 | vertical-align: middle; 3209 | border-top: 4px solid #000000; 3210 | border-right: 4px solid transparent; 3211 | border-bottom: 0 dotted; 3212 | border-left: 4px solid transparent; 3213 | content: ""; 3214 | } 3215 | 3216 | .dropdown { 3217 | position: relative; 3218 | } 3219 | 3220 | .dropdown-toggle:focus { 3221 | outline: 0; 3222 | } 3223 | 3224 | .dropdown-menu { 3225 | position: absolute; 3226 | top: 100%; 3227 | left: 0; 3228 | z-index: 1000; 3229 | display: none; 3230 | float: left; 3231 | min-width: 160px; 3232 | padding: 5px 0; 3233 | margin: 2px 0 0; 3234 | font-size: 14px; 3235 | list-style: none; 3236 | background-color: #ffffff; 3237 | border: 1px solid #cccccc; 3238 | border: 1px solid rgba(0, 0, 0, 0.15); 3239 | border-radius: 4px; 3240 | -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); 3241 | box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); 3242 | background-clip: padding-box; 3243 | } 3244 | 3245 | .dropdown-menu.pull-right { 3246 | right: 0; 3247 | left: auto; 3248 | } 3249 | 3250 | .dropdown-menu .divider { 3251 | height: 1px; 3252 | margin: 9px 0; 3253 | overflow: hidden; 3254 | background-color: #e5e5e5; 3255 | } 3256 | 3257 | .dropdown-menu > li > a { 3258 | display: block; 3259 | padding: 3px 20px; 3260 | clear: both; 3261 | font-weight: normal; 3262 | line-height: 1.428571429; 3263 | color: #333333; 3264 | white-space: nowrap; 3265 | } 3266 | 3267 | .dropdown-menu > li > a:hover, 3268 | .dropdown-menu > li > a:focus { 3269 | color: #ffffff; 3270 | text-decoration: none; 3271 | background-color: #428bca; 3272 | } 3273 | 3274 | .dropdown-menu > .active > a, 3275 | .dropdown-menu > .active > a:hover, 3276 | .dropdown-menu > .active > a:focus { 3277 | color: #ffffff; 3278 | text-decoration: none; 3279 | background-color: #428bca; 3280 | outline: 0; 3281 | } 3282 | 3283 | .dropdown-menu > .disabled > a, 3284 | .dropdown-menu > .disabled > a:hover, 3285 | .dropdown-menu > .disabled > a:focus { 3286 | color: #999999; 3287 | } 3288 | 3289 | .dropdown-menu > .disabled > a:hover, 3290 | .dropdown-menu > .disabled > a:focus { 3291 | text-decoration: none; 3292 | cursor: not-allowed; 3293 | background-color: transparent; 3294 | background-image: none; 3295 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 3296 | } 3297 | 3298 | .open > .dropdown-menu { 3299 | display: block; 3300 | } 3301 | 3302 | .open > a { 3303 | outline: 0; 3304 | } 3305 | 3306 | .dropdown-header { 3307 | display: block; 3308 | padding: 3px 20px; 3309 | font-size: 12px; 3310 | line-height: 1.428571429; 3311 | color: #999999; 3312 | } 3313 | 3314 | .dropdown-backdrop { 3315 | position: fixed; 3316 | top: 0; 3317 | right: 0; 3318 | bottom: 0; 3319 | left: 0; 3320 | z-index: 990; 3321 | } 3322 | 3323 | .pull-right > .dropdown-menu { 3324 | right: 0; 3325 | left: auto; 3326 | } 3327 | 3328 | .dropup .caret, 3329 | .navbar-fixed-bottom .dropdown .caret { 3330 | border-top: 0 dotted; 3331 | border-bottom: 4px solid #000000; 3332 | content: ""; 3333 | } 3334 | 3335 | .dropup .dropdown-menu, 3336 | .navbar-fixed-bottom .dropdown .dropdown-menu { 3337 | top: auto; 3338 | bottom: 100%; 3339 | margin-bottom: 1px; 3340 | } 3341 | 3342 | @media (min-width: 768px) { 3343 | .navbar-right .dropdown-menu { 3344 | right: 0; 3345 | left: auto; 3346 | } 3347 | } 3348 | 3349 | .btn-default .caret { 3350 | border-top-color: #333333; 3351 | } 3352 | 3353 | .btn-primary .caret, 3354 | .btn-success .caret, 3355 | .btn-warning .caret, 3356 | .btn-danger .caret, 3357 | .btn-info .caret { 3358 | border-top-color: #fff; 3359 | } 3360 | 3361 | .dropup .btn-default .caret { 3362 | border-bottom-color: #333333; 3363 | } 3364 | 3365 | .dropup .btn-primary .caret, 3366 | .dropup .btn-success .caret, 3367 | .dropup .btn-warning .caret, 3368 | .dropup .btn-danger .caret, 3369 | .dropup .btn-info .caret { 3370 | border-bottom-color: #fff; 3371 | } 3372 | 3373 | .btn-group, 3374 | .btn-group-vertical { 3375 | position: relative; 3376 | display: inline-block; 3377 | vertical-align: middle; 3378 | } 3379 | 3380 | .btn-group > .btn, 3381 | .btn-group-vertical > .btn { 3382 | position: relative; 3383 | float: left; 3384 | } 3385 | 3386 | .btn-group > .btn:hover, 3387 | .btn-group-vertical > .btn:hover, 3388 | .btn-group > .btn:focus, 3389 | .btn-group-vertical > .btn:focus, 3390 | .btn-group > .btn:active, 3391 | .btn-group-vertical > .btn:active, 3392 | .btn-group > .btn.active, 3393 | .btn-group-vertical > .btn.active { 3394 | z-index: 2; 3395 | } 3396 | 3397 | .btn-group > .btn:focus, 3398 | .btn-group-vertical > .btn:focus { 3399 | outline: none; 3400 | } 3401 | 3402 | .btn-group .btn + .btn, 3403 | .btn-group .btn + .btn-group, 3404 | .btn-group .btn-group + .btn, 3405 | .btn-group .btn-group + .btn-group { 3406 | margin-left: -1px; 3407 | } 3408 | 3409 | .btn-toolbar:before, 3410 | .btn-toolbar:after { 3411 | display: table; 3412 | content: " "; 3413 | } 3414 | 3415 | .btn-toolbar:after { 3416 | clear: both; 3417 | } 3418 | 3419 | .btn-toolbar:before, 3420 | .btn-toolbar:after { 3421 | display: table; 3422 | content: " "; 3423 | } 3424 | 3425 | .btn-toolbar:after { 3426 | clear: both; 3427 | } 3428 | 3429 | .btn-toolbar .btn-group { 3430 | float: left; 3431 | } 3432 | 3433 | .btn-toolbar > .btn + .btn, 3434 | .btn-toolbar > .btn-group + .btn, 3435 | .btn-toolbar > .btn + .btn-group, 3436 | .btn-toolbar > .btn-group + .btn-group { 3437 | margin-left: 5px; 3438 | } 3439 | 3440 | .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { 3441 | border-radius: 0; 3442 | } 3443 | 3444 | .btn-group > .btn:first-child { 3445 | margin-left: 0; 3446 | } 3447 | 3448 | .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { 3449 | border-top-right-radius: 0; 3450 | border-bottom-right-radius: 0; 3451 | } 3452 | 3453 | .btn-group > .btn:last-child:not(:first-child), 3454 | .btn-group > .dropdown-toggle:not(:first-child) { 3455 | border-bottom-left-radius: 0; 3456 | border-top-left-radius: 0; 3457 | } 3458 | 3459 | .btn-group > .btn-group { 3460 | float: left; 3461 | } 3462 | 3463 | .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { 3464 | border-radius: 0; 3465 | } 3466 | 3467 | .btn-group > .btn-group:first-child > .btn:last-child, 3468 | .btn-group > .btn-group:first-child > .dropdown-toggle { 3469 | border-top-right-radius: 0; 3470 | border-bottom-right-radius: 0; 3471 | } 3472 | 3473 | .btn-group > .btn-group:last-child > .btn:first-child { 3474 | border-bottom-left-radius: 0; 3475 | border-top-left-radius: 0; 3476 | } 3477 | 3478 | .btn-group .dropdown-toggle:active, 3479 | .btn-group.open .dropdown-toggle { 3480 | outline: 0; 3481 | } 3482 | 3483 | .btn-group-xs > .btn { 3484 | padding: 5px 10px; 3485 | padding: 1px 5px; 3486 | font-size: 12px; 3487 | line-height: 1.5; 3488 | border-radius: 3px; 3489 | } 3490 | 3491 | .btn-group-sm > .btn { 3492 | padding: 5px 10px; 3493 | font-size: 12px; 3494 | line-height: 1.5; 3495 | border-radius: 3px; 3496 | } 3497 | 3498 | .btn-group-lg > .btn { 3499 | padding: 10px 16px; 3500 | font-size: 18px; 3501 | line-height: 1.33; 3502 | border-radius: 6px; 3503 | } 3504 | 3505 | .btn-group > .btn + .dropdown-toggle { 3506 | padding-right: 8px; 3507 | padding-left: 8px; 3508 | } 3509 | 3510 | .btn-group > .btn-lg + .dropdown-toggle { 3511 | padding-right: 12px; 3512 | padding-left: 12px; 3513 | } 3514 | 3515 | .btn-group.open .dropdown-toggle { 3516 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); 3517 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); 3518 | } 3519 | 3520 | .btn .caret { 3521 | margin-left: 0; 3522 | } 3523 | 3524 | .btn-lg .caret { 3525 | border-width: 5px 5px 0; 3526 | border-bottom-width: 0; 3527 | } 3528 | 3529 | .dropup .btn-lg .caret { 3530 | border-width: 0 5px 5px; 3531 | } 3532 | 3533 | .btn-group-vertical > .btn, 3534 | .btn-group-vertical > .btn-group { 3535 | display: block; 3536 | float: none; 3537 | width: 100%; 3538 | max-width: 100%; 3539 | } 3540 | 3541 | .btn-group-vertical > .btn-group:before, 3542 | .btn-group-vertical > .btn-group:after { 3543 | display: table; 3544 | content: " "; 3545 | } 3546 | 3547 | .btn-group-vertical > .btn-group:after { 3548 | clear: both; 3549 | } 3550 | 3551 | .btn-group-vertical > .btn-group:before, 3552 | .btn-group-vertical > .btn-group:after { 3553 | display: table; 3554 | content: " "; 3555 | } 3556 | 3557 | .btn-group-vertical > .btn-group:after { 3558 | clear: both; 3559 | } 3560 | 3561 | .btn-group-vertical > .btn-group > .btn { 3562 | float: none; 3563 | } 3564 | 3565 | .btn-group-vertical > .btn + .btn, 3566 | .btn-group-vertical > .btn + .btn-group, 3567 | .btn-group-vertical > .btn-group + .btn, 3568 | .btn-group-vertical > .btn-group + .btn-group { 3569 | margin-top: -1px; 3570 | margin-left: 0; 3571 | } 3572 | 3573 | .btn-group-vertical > .btn:not(:first-child):not(:last-child) { 3574 | border-radius: 0; 3575 | } 3576 | 3577 | .btn-group-vertical > .btn:first-child:not(:last-child) { 3578 | border-top-right-radius: 4px; 3579 | border-bottom-right-radius: 0; 3580 | border-bottom-left-radius: 0; 3581 | } 3582 | 3583 | .btn-group-vertical > .btn:last-child:not(:first-child) { 3584 | border-top-right-radius: 0; 3585 | border-bottom-left-radius: 4px; 3586 | border-top-left-radius: 0; 3587 | } 3588 | 3589 | .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { 3590 | border-radius: 0; 3591 | } 3592 | 3593 | .btn-group-vertical > .btn-group:first-child > .btn:last-child, 3594 | .btn-group-vertical > .btn-group:first-child > .dropdown-toggle { 3595 | border-bottom-right-radius: 0; 3596 | border-bottom-left-radius: 0; 3597 | } 3598 | 3599 | .btn-group-vertical > .btn-group:last-child > .btn:first-child { 3600 | border-top-right-radius: 0; 3601 | border-top-left-radius: 0; 3602 | } 3603 | 3604 | .btn-group-justified { 3605 | display: table; 3606 | width: 100%; 3607 | border-collapse: separate; 3608 | table-layout: fixed; 3609 | } 3610 | 3611 | .btn-group-justified .btn { 3612 | display: table-cell; 3613 | float: none; 3614 | width: 1%; 3615 | } 3616 | 3617 | [data-toggle="buttons"] > .btn > input[type="radio"], 3618 | [data-toggle="buttons"] > .btn > input[type="checkbox"] { 3619 | display: none; 3620 | } 3621 | 3622 | .input-group { 3623 | position: relative; 3624 | display: table; 3625 | border-collapse: separate; 3626 | } 3627 | 3628 | .input-group.col { 3629 | float: none; 3630 | padding-right: 0; 3631 | padding-left: 0; 3632 | } 3633 | 3634 | .input-group .form-control { 3635 | width: 100%; 3636 | margin-bottom: 0; 3637 | } 3638 | 3639 | .input-group-lg > .form-control, 3640 | .input-group-lg > .input-group-addon, 3641 | .input-group-lg > .input-group-btn > .btn { 3642 | height: 45px; 3643 | padding: 10px 16px; 3644 | font-size: 18px; 3645 | line-height: 1.33; 3646 | border-radius: 6px; 3647 | } 3648 | 3649 | select.input-group-lg > .form-control, 3650 | select.input-group-lg > .input-group-addon, 3651 | select.input-group-lg > .input-group-btn > .btn { 3652 | height: 45px; 3653 | line-height: 45px; 3654 | } 3655 | 3656 | textarea.input-group-lg > .form-control, 3657 | textarea.input-group-lg > .input-group-addon, 3658 | textarea.input-group-lg > .input-group-btn > .btn { 3659 | height: auto; 3660 | } 3661 | 3662 | .input-group-sm > .form-control, 3663 | .input-group-sm > .input-group-addon, 3664 | .input-group-sm > .input-group-btn > .btn { 3665 | height: 30px; 3666 | padding: 5px 10px; 3667 | font-size: 12px; 3668 | line-height: 1.5; 3669 | border-radius: 3px; 3670 | } 3671 | 3672 | select.input-group-sm > .form-control, 3673 | select.input-group-sm > .input-group-addon, 3674 | select.input-group-sm > .input-group-btn > .btn { 3675 | height: 30px; 3676 | line-height: 30px; 3677 | } 3678 | 3679 | textarea.input-group-sm > .form-control, 3680 | textarea.input-group-sm > .input-group-addon, 3681 | textarea.input-group-sm > .input-group-btn > .btn { 3682 | height: auto; 3683 | } 3684 | 3685 | .input-group-addon, 3686 | .input-group-btn, 3687 | .input-group .form-control { 3688 | display: table-cell; 3689 | } 3690 | 3691 | .input-group-addon:not(:first-child):not(:last-child), 3692 | .input-group-btn:not(:first-child):not(:last-child), 3693 | .input-group .form-control:not(:first-child):not(:last-child) { 3694 | border-radius: 0; 3695 | } 3696 | 3697 | .input-group-addon, 3698 | .input-group-btn { 3699 | width: 1%; 3700 | white-space: nowrap; 3701 | vertical-align: middle; 3702 | } 3703 | 3704 | .input-group-addon { 3705 | padding: 6px 12px; 3706 | font-size: 14px; 3707 | font-weight: normal; 3708 | line-height: 1; 3709 | text-align: center; 3710 | background-color: #eeeeee; 3711 | border: 1px solid #cccccc; 3712 | border-radius: 4px; 3713 | } 3714 | 3715 | .input-group-addon.input-sm { 3716 | padding: 5px 10px; 3717 | font-size: 12px; 3718 | border-radius: 3px; 3719 | } 3720 | 3721 | .input-group-addon.input-lg { 3722 | padding: 10px 16px; 3723 | font-size: 18px; 3724 | border-radius: 6px; 3725 | } 3726 | 3727 | .input-group-addon input[type="radio"], 3728 | .input-group-addon input[type="checkbox"] { 3729 | margin-top: 0; 3730 | } 3731 | 3732 | .input-group .form-control:first-child, 3733 | .input-group-addon:first-child, 3734 | .input-group-btn:first-child > .btn, 3735 | .input-group-btn:first-child > .dropdown-toggle, 3736 | .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { 3737 | border-top-right-radius: 0; 3738 | border-bottom-right-radius: 0; 3739 | } 3740 | 3741 | .input-group-addon:first-child { 3742 | border-right: 0; 3743 | } 3744 | 3745 | .input-group .form-control:last-child, 3746 | .input-group-addon:last-child, 3747 | .input-group-btn:last-child > .btn, 3748 | .input-group-btn:last-child > .dropdown-toggle, 3749 | .input-group-btn:first-child > .btn:not(:first-child) { 3750 | border-bottom-left-radius: 0; 3751 | border-top-left-radius: 0; 3752 | } 3753 | 3754 | .input-group-addon:last-child { 3755 | border-left: 0; 3756 | } 3757 | 3758 | .input-group-btn { 3759 | position: relative; 3760 | white-space: nowrap; 3761 | } 3762 | 3763 | .input-group-btn > .btn { 3764 | position: relative; 3765 | } 3766 | 3767 | .input-group-btn > .btn + .btn { 3768 | margin-left: -4px; 3769 | } 3770 | 3771 | .input-group-btn > .btn:hover, 3772 | .input-group-btn > .btn:active { 3773 | z-index: 2; 3774 | } 3775 | 3776 | .nav { 3777 | padding-left: 0; 3778 | margin-bottom: 0; 3779 | list-style: none; 3780 | } 3781 | 3782 | .nav:before, 3783 | .nav:after { 3784 | display: table; 3785 | content: " "; 3786 | } 3787 | 3788 | .nav:after { 3789 | clear: both; 3790 | } 3791 | 3792 | .nav:before, 3793 | .nav:after { 3794 | display: table; 3795 | content: " "; 3796 | } 3797 | 3798 | .nav:after { 3799 | clear: both; 3800 | } 3801 | 3802 | .nav > li { 3803 | position: relative; 3804 | display: block; 3805 | } 3806 | 3807 | .nav > li > a { 3808 | position: relative; 3809 | display: block; 3810 | padding: 10px 15px; 3811 | } 3812 | 3813 | .nav > li > a:hover, 3814 | .nav > li > a:focus { 3815 | text-decoration: none; 3816 | background-color: #eeeeee; 3817 | } 3818 | 3819 | .nav > li.disabled > a { 3820 | color: #999999; 3821 | } 3822 | 3823 | .nav > li.disabled > a:hover, 3824 | .nav > li.disabled > a:focus { 3825 | color: #999999; 3826 | text-decoration: none; 3827 | cursor: not-allowed; 3828 | background-color: transparent; 3829 | } 3830 | 3831 | .nav .open > a, 3832 | .nav .open > a:hover, 3833 | .nav .open > a:focus { 3834 | background-color: #eeeeee; 3835 | border-color: #428bca; 3836 | } 3837 | 3838 | .nav .nav-divider { 3839 | height: 1px; 3840 | margin: 9px 0; 3841 | overflow: hidden; 3842 | background-color: #e5e5e5; 3843 | } 3844 | 3845 | .nav > li > a > img { 3846 | max-width: none; 3847 | } 3848 | 3849 | .nav-tabs { 3850 | border-bottom: 1px solid #dddddd; 3851 | } 3852 | 3853 | .nav-tabs > li { 3854 | float: left; 3855 | margin-bottom: -1px; 3856 | } 3857 | 3858 | .nav-tabs > li > a { 3859 | margin-right: 2px; 3860 | line-height: 1.428571429; 3861 | border: 1px solid transparent; 3862 | border-radius: 4px 4px 0 0; 3863 | } 3864 | 3865 | .nav-tabs > li > a:hover { 3866 | border-color: #eeeeee #eeeeee #dddddd; 3867 | } 3868 | 3869 | .nav-tabs > li.active > a, 3870 | .nav-tabs > li.active > a:hover, 3871 | .nav-tabs > li.active > a:focus { 3872 | color: #555555; 3873 | cursor: default; 3874 | background-color: #ffffff; 3875 | border: 1px solid #dddddd; 3876 | border-bottom-color: transparent; 3877 | } 3878 | 3879 | .nav-tabs.nav-justified { 3880 | width: 100%; 3881 | border-bottom: 0; 3882 | } 3883 | 3884 | .nav-tabs.nav-justified > li { 3885 | float: none; 3886 | } 3887 | 3888 | .nav-tabs.nav-justified > li > a { 3889 | text-align: center; 3890 | } 3891 | 3892 | @media (min-width: 768px) { 3893 | .nav-tabs.nav-justified > li { 3894 | display: table-cell; 3895 | width: 1%; 3896 | } 3897 | } 3898 | 3899 | .nav-tabs.nav-justified > li > a { 3900 | margin-right: 0; 3901 | border-bottom: 1px solid #dddddd; 3902 | } 3903 | 3904 | .nav-tabs.nav-justified > .active > a { 3905 | border-bottom-color: #ffffff; 3906 | } 3907 | 3908 | .nav-pills > li { 3909 | float: left; 3910 | } 3911 | 3912 | .nav-pills > li > a { 3913 | border-radius: 5px; 3914 | } 3915 | 3916 | .nav-pills > li + li { 3917 | margin-left: 2px; 3918 | } 3919 | 3920 | .nav-pills > li.active > a, 3921 | .nav-pills > li.active > a:hover, 3922 | .nav-pills > li.active > a:focus { 3923 | color: #ffffff; 3924 | background-color: #428bca; 3925 | } 3926 | 3927 | .nav-stacked > li { 3928 | float: none; 3929 | } 3930 | 3931 | .nav-stacked > li + li { 3932 | margin-top: 2px; 3933 | margin-left: 0; 3934 | } 3935 | 3936 | .nav-justified { 3937 | width: 100%; 3938 | } 3939 | 3940 | .nav-justified > li { 3941 | float: none; 3942 | } 3943 | 3944 | .nav-justified > li > a { 3945 | text-align: center; 3946 | } 3947 | 3948 | @media (min-width: 768px) { 3949 | .nav-justified > li { 3950 | display: table-cell; 3951 | width: 1%; 3952 | } 3953 | } 3954 | 3955 | .nav-tabs-justified { 3956 | border-bottom: 0; 3957 | } 3958 | 3959 | .nav-tabs-justified > li > a { 3960 | margin-right: 0; 3961 | border-bottom: 1px solid #dddddd; 3962 | } 3963 | 3964 | .nav-tabs-justified > .active > a { 3965 | border-bottom-color: #ffffff; 3966 | } 3967 | 3968 | .tabbable:before, 3969 | .tabbable:after { 3970 | display: table; 3971 | content: " "; 3972 | } 3973 | 3974 | .tabbable:after { 3975 | clear: both; 3976 | } 3977 | 3978 | .tabbable:before, 3979 | .tabbable:after { 3980 | display: table; 3981 | content: " "; 3982 | } 3983 | 3984 | .tabbable:after { 3985 | clear: both; 3986 | } 3987 | 3988 | .tab-content > .tab-pane, 3989 | .pill-content > .pill-pane { 3990 | display: none; 3991 | } 3992 | 3993 | .tab-content > .active, 3994 | .pill-content > .active { 3995 | display: block; 3996 | } 3997 | 3998 | .nav .caret { 3999 | border-top-color: #428bca; 4000 | border-bottom-color: #428bca; 4001 | } 4002 | 4003 | .nav a:hover .caret { 4004 | border-top-color: #2a6496; 4005 | border-bottom-color: #2a6496; 4006 | } 4007 | 4008 | .nav-tabs .dropdown-menu { 4009 | margin-top: -1px; 4010 | border-top-right-radius: 0; 4011 | border-top-left-radius: 0; 4012 | } 4013 | 4014 | .navbar { 4015 | position: relative; 4016 | z-index: 1000; 4017 | min-height: 50px; 4018 | margin-bottom: 20px; 4019 | border: 1px solid transparent; 4020 | } 4021 | 4022 | .navbar:before, 4023 | .navbar:after { 4024 | display: table; 4025 | content: " "; 4026 | } 4027 | 4028 | .navbar:after { 4029 | clear: both; 4030 | } 4031 | 4032 | .navbar:before, 4033 | .navbar:after { 4034 | display: table; 4035 | content: " "; 4036 | } 4037 | 4038 | .navbar:after { 4039 | clear: both; 4040 | } 4041 | 4042 | @media (min-width: 768px) { 4043 | .navbar { 4044 | border-radius: 4px; 4045 | } 4046 | } 4047 | 4048 | .navbar-header:before, 4049 | .navbar-header:after { 4050 | display: table; 4051 | content: " "; 4052 | } 4053 | 4054 | .navbar-header:after { 4055 | clear: both; 4056 | } 4057 | 4058 | .navbar-header:before, 4059 | .navbar-header:after { 4060 | display: table; 4061 | content: " "; 4062 | } 4063 | 4064 | .navbar-header:after { 4065 | clear: both; 4066 | } 4067 | 4068 | @media (min-width: 768px) { 4069 | .navbar-header { 4070 | float: left; 4071 | } 4072 | } 4073 | 4074 | .navbar-collapse { 4075 | max-height: 340px; 4076 | padding-right: 15px; 4077 | padding-left: 15px; 4078 | overflow-x: visible; 4079 | border-top: 1px solid transparent; 4080 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); 4081 | -webkit-overflow-scrolling: touch; 4082 | } 4083 | 4084 | .navbar-collapse:before, 4085 | .navbar-collapse:after { 4086 | display: table; 4087 | content: " "; 4088 | } 4089 | 4090 | .navbar-collapse:after { 4091 | clear: both; 4092 | } 4093 | 4094 | .navbar-collapse:before, 4095 | .navbar-collapse:after { 4096 | display: table; 4097 | content: " "; 4098 | } 4099 | 4100 | .navbar-collapse:after { 4101 | clear: both; 4102 | } 4103 | 4104 | .navbar-collapse.in { 4105 | overflow-y: auto; 4106 | } 4107 | 4108 | @media (min-width: 768px) { 4109 | .navbar-collapse { 4110 | width: auto; 4111 | border-top: 0; 4112 | box-shadow: none; 4113 | } 4114 | .navbar-collapse.collapse { 4115 | display: block !important; 4116 | height: auto !important; 4117 | padding-bottom: 0; 4118 | overflow: visible !important; 4119 | } 4120 | .navbar-collapse.in { 4121 | overflow-y: visible; 4122 | } 4123 | .navbar-collapse .navbar-nav.navbar-left:first-child { 4124 | margin-left: -15px; 4125 | } 4126 | .navbar-collapse .navbar-nav.navbar-right:last-child { 4127 | margin-right: -15px; 4128 | } 4129 | .navbar-collapse .navbar-text:last-child { 4130 | margin-right: 0; 4131 | } 4132 | } 4133 | 4134 | .container > .navbar-header, 4135 | .container > .navbar-collapse { 4136 | margin-right: -15px; 4137 | margin-left: -15px; 4138 | } 4139 | 4140 | @media (min-width: 768px) { 4141 | .container > .navbar-header, 4142 | .container > .navbar-collapse { 4143 | margin-right: 0; 4144 | margin-left: 0; 4145 | } 4146 | } 4147 | 4148 | .navbar-static-top { 4149 | border-width: 0 0 1px; 4150 | } 4151 | 4152 | @media (min-width: 768px) { 4153 | .navbar-static-top { 4154 | border-radius: 0; 4155 | } 4156 | } 4157 | 4158 | .navbar-fixed-top, 4159 | .navbar-fixed-bottom { 4160 | position: fixed; 4161 | right: 0; 4162 | left: 0; 4163 | border-width: 0 0 1px; 4164 | } 4165 | 4166 | @media (min-width: 768px) { 4167 | .navbar-fixed-top, 4168 | .navbar-fixed-bottom { 4169 | border-radius: 0; 4170 | } 4171 | } 4172 | 4173 | .navbar-fixed-top { 4174 | top: 0; 4175 | z-index: 1030; 4176 | } 4177 | 4178 | .navbar-fixed-bottom { 4179 | bottom: 0; 4180 | margin-bottom: 0; 4181 | } 4182 | 4183 | .navbar-brand { 4184 | float: left; 4185 | padding: 15px 15px; 4186 | font-size: 18px; 4187 | line-height: 20px; 4188 | } 4189 | 4190 | .navbar-brand:hover, 4191 | .navbar-brand:focus { 4192 | text-decoration: none; 4193 | } 4194 | 4195 | @media (min-width: 768px) { 4196 | .navbar > .container .navbar-brand { 4197 | margin-left: -15px; 4198 | } 4199 | } 4200 | 4201 | .navbar-toggle { 4202 | position: relative; 4203 | float: right; 4204 | padding: 9px 10px; 4205 | margin-top: 8px; 4206 | margin-right: 15px; 4207 | margin-bottom: 8px; 4208 | background-color: transparent; 4209 | border: 1px solid transparent; 4210 | border-radius: 4px; 4211 | } 4212 | 4213 | .navbar-toggle .icon-bar { 4214 | display: block; 4215 | width: 22px; 4216 | height: 2px; 4217 | border-radius: 1px; 4218 | } 4219 | 4220 | .navbar-toggle .icon-bar + .icon-bar { 4221 | margin-top: 4px; 4222 | } 4223 | 4224 | @media (min-width: 768px) { 4225 | .navbar-toggle { 4226 | display: none; 4227 | } 4228 | } 4229 | 4230 | .navbar-nav { 4231 | margin: 7.5px -15px; 4232 | } 4233 | 4234 | .navbar-nav > li > a { 4235 | padding-top: 10px; 4236 | padding-bottom: 10px; 4237 | line-height: 20px; 4238 | } 4239 | 4240 | @media (max-width: 767px) { 4241 | .navbar-nav .open .dropdown-menu { 4242 | position: static; 4243 | float: none; 4244 | width: auto; 4245 | margin-top: 0; 4246 | background-color: transparent; 4247 | border: 0; 4248 | box-shadow: none; 4249 | } 4250 | .navbar-nav .open .dropdown-menu > li > a, 4251 | .navbar-nav .open .dropdown-menu .dropdown-header { 4252 | padding: 5px 15px 5px 25px; 4253 | } 4254 | .navbar-nav .open .dropdown-menu > li > a { 4255 | line-height: 20px; 4256 | } 4257 | .navbar-nav .open .dropdown-menu > li > a:hover, 4258 | .navbar-nav .open .dropdown-menu > li > a:focus { 4259 | background-image: none; 4260 | } 4261 | } 4262 | 4263 | @media (min-width: 768px) { 4264 | .navbar-nav { 4265 | float: left; 4266 | margin: 0; 4267 | } 4268 | .navbar-nav > li { 4269 | float: left; 4270 | } 4271 | .navbar-nav > li > a { 4272 | padding-top: 15px; 4273 | padding-bottom: 15px; 4274 | } 4275 | } 4276 | 4277 | @media (min-width: 768px) { 4278 | .navbar-left { 4279 | float: left !important; 4280 | } 4281 | .navbar-right { 4282 | float: right !important; 4283 | } 4284 | } 4285 | 4286 | .navbar-form { 4287 | padding: 10px 15px; 4288 | margin-top: 8px; 4289 | margin-right: -15px; 4290 | margin-bottom: 8px; 4291 | margin-left: -15px; 4292 | border-top: 1px solid transparent; 4293 | border-bottom: 1px solid transparent; 4294 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); 4295 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); 4296 | } 4297 | 4298 | @media (min-width: 768px) { 4299 | .navbar-form .form-group { 4300 | display: inline-block; 4301 | margin-bottom: 0; 4302 | vertical-align: middle; 4303 | } 4304 | .navbar-form .form-control { 4305 | display: inline-block; 4306 | } 4307 | .navbar-form .radio, 4308 | .navbar-form .checkbox { 4309 | display: inline-block; 4310 | padding-left: 0; 4311 | margin-top: 0; 4312 | margin-bottom: 0; 4313 | } 4314 | .navbar-form .radio input[type="radio"], 4315 | .navbar-form .checkbox input[type="checkbox"] { 4316 | float: none; 4317 | margin-left: 0; 4318 | } 4319 | } 4320 | 4321 | @media (max-width: 767px) { 4322 | .navbar-form .form-group { 4323 | margin-bottom: 5px; 4324 | } 4325 | } 4326 | 4327 | @media (min-width: 768px) { 4328 | .navbar-form { 4329 | width: auto; 4330 | padding-top: 0; 4331 | padding-bottom: 0; 4332 | margin-right: 0; 4333 | margin-left: 0; 4334 | border: 0; 4335 | -webkit-box-shadow: none; 4336 | box-shadow: none; 4337 | } 4338 | } 4339 | 4340 | .navbar-nav > li > .dropdown-menu { 4341 | margin-top: 0; 4342 | border-top-right-radius: 0; 4343 | border-top-left-radius: 0; 4344 | } 4345 | 4346 | .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { 4347 | border-bottom-right-radius: 0; 4348 | border-bottom-left-radius: 0; 4349 | } 4350 | 4351 | .navbar-nav.pull-right > li > .dropdown-menu, 4352 | .navbar-nav > li > .dropdown-menu.pull-right { 4353 | right: 0; 4354 | left: auto; 4355 | } 4356 | 4357 | .navbar-btn { 4358 | margin-top: 8px; 4359 | margin-bottom: 8px; 4360 | } 4361 | 4362 | .navbar-text { 4363 | float: left; 4364 | margin-top: 15px; 4365 | margin-bottom: 15px; 4366 | } 4367 | 4368 | @media (min-width: 768px) { 4369 | .navbar-text { 4370 | margin-right: 15px; 4371 | margin-left: 15px; 4372 | } 4373 | } 4374 | 4375 | .navbar-default { 4376 | background-color: #f8f8f8; 4377 | border-color: #e7e7e7; 4378 | } 4379 | 4380 | .navbar-default .navbar-brand { 4381 | color: #777777; 4382 | } 4383 | 4384 | .navbar-default .navbar-brand:hover, 4385 | .navbar-default .navbar-brand:focus { 4386 | color: #5e5e5e; 4387 | background-color: transparent; 4388 | } 4389 | 4390 | .navbar-default .navbar-text { 4391 | color: #777777; 4392 | } 4393 | 4394 | .navbar-default .navbar-nav > li > a { 4395 | color: #777777; 4396 | } 4397 | 4398 | .navbar-default .navbar-nav > li > a:hover, 4399 | .navbar-default .navbar-nav > li > a:focus { 4400 | color: #333333; 4401 | background-color: transparent; 4402 | } 4403 | 4404 | .navbar-default .navbar-nav > .active > a, 4405 | .navbar-default .navbar-nav > .active > a:hover, 4406 | .navbar-default .navbar-nav > .active > a:focus { 4407 | color: #555555; 4408 | background-color: #e7e7e7; 4409 | } 4410 | 4411 | .navbar-default .navbar-nav > .disabled > a, 4412 | .navbar-default .navbar-nav > .disabled > a:hover, 4413 | .navbar-default .navbar-nav > .disabled > a:focus { 4414 | color: #cccccc; 4415 | background-color: transparent; 4416 | } 4417 | 4418 | .navbar-default .navbar-toggle { 4419 | border-color: #dddddd; 4420 | } 4421 | 4422 | .navbar-default .navbar-toggle:hover, 4423 | .navbar-default .navbar-toggle:focus { 4424 | background-color: #dddddd; 4425 | } 4426 | 4427 | .navbar-default .navbar-toggle .icon-bar { 4428 | background-color: #cccccc; 4429 | } 4430 | 4431 | .navbar-default .navbar-collapse, 4432 | .navbar-default .navbar-form { 4433 | border-color: #e6e6e6; 4434 | } 4435 | 4436 | .navbar-default .navbar-nav > .dropdown > a:hover .caret, 4437 | .navbar-default .navbar-nav > .dropdown > a:focus .caret { 4438 | border-top-color: #333333; 4439 | border-bottom-color: #333333; 4440 | } 4441 | 4442 | .navbar-default .navbar-nav > .open > a, 4443 | .navbar-default .navbar-nav > .open > a:hover, 4444 | .navbar-default .navbar-nav > .open > a:focus { 4445 | color: #555555; 4446 | background-color: #e7e7e7; 4447 | } 4448 | 4449 | .navbar-default .navbar-nav > .open > a .caret, 4450 | .navbar-default .navbar-nav > .open > a:hover .caret, 4451 | .navbar-default .navbar-nav > .open > a:focus .caret { 4452 | border-top-color: #555555; 4453 | border-bottom-color: #555555; 4454 | } 4455 | 4456 | .navbar-default .navbar-nav > .dropdown > a .caret { 4457 | border-top-color: #777777; 4458 | border-bottom-color: #777777; 4459 | } 4460 | 4461 | @media (max-width: 767px) { 4462 | .navbar-default .navbar-nav .open .dropdown-menu > li > a { 4463 | color: #777777; 4464 | } 4465 | .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, 4466 | .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { 4467 | color: #333333; 4468 | background-color: transparent; 4469 | } 4470 | .navbar-default .navbar-nav .open .dropdown-menu > .active > a, 4471 | .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, 4472 | .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { 4473 | color: #555555; 4474 | background-color: #e7e7e7; 4475 | } 4476 | .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, 4477 | .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, 4478 | .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { 4479 | color: #cccccc; 4480 | background-color: transparent; 4481 | } 4482 | } 4483 | 4484 | .navbar-default .navbar-link { 4485 | color: #777777; 4486 | } 4487 | 4488 | .navbar-default .navbar-link:hover { 4489 | color: #333333; 4490 | } 4491 | 4492 | .navbar-inverse { 4493 | background-color: #222222; 4494 | border-color: #080808; 4495 | } 4496 | 4497 | .navbar-inverse .navbar-brand { 4498 | color: #999999; 4499 | } 4500 | 4501 | .navbar-inverse .navbar-brand:hover, 4502 | .navbar-inverse .navbar-brand:focus { 4503 | color: #ffffff; 4504 | background-color: transparent; 4505 | } 4506 | 4507 | .navbar-inverse .navbar-text { 4508 | color: #999999; 4509 | } 4510 | 4511 | .navbar-inverse .navbar-nav > li > a { 4512 | color: #999999; 4513 | } 4514 | 4515 | .navbar-inverse .navbar-nav > li > a:hover, 4516 | .navbar-inverse .navbar-nav > li > a:focus { 4517 | color: #ffffff; 4518 | background-color: transparent; 4519 | } 4520 | 4521 | .navbar-inverse .navbar-nav > .active > a, 4522 | .navbar-inverse .navbar-nav > .active > a:hover, 4523 | .navbar-inverse .navbar-nav > .active > a:focus { 4524 | color: #ffffff; 4525 | background-color: #080808; 4526 | } 4527 | 4528 | .navbar-inverse .navbar-nav > .disabled > a, 4529 | .navbar-inverse .navbar-nav > .disabled > a:hover, 4530 | .navbar-inverse .navbar-nav > .disabled > a:focus { 4531 | color: #444444; 4532 | background-color: transparent; 4533 | } 4534 | 4535 | .navbar-inverse .navbar-toggle { 4536 | border-color: #333333; 4537 | } 4538 | 4539 | .navbar-inverse .navbar-toggle:hover, 4540 | .navbar-inverse .navbar-toggle:focus { 4541 | background-color: #333333; 4542 | } 4543 | 4544 | .navbar-inverse .navbar-toggle .icon-bar { 4545 | background-color: #ffffff; 4546 | } 4547 | 4548 | .navbar-inverse .navbar-collapse, 4549 | .navbar-inverse .navbar-form { 4550 | border-color: #101010; 4551 | } 4552 | 4553 | .navbar-inverse .navbar-nav > .open > a, 4554 | .navbar-inverse .navbar-nav > .open > a:hover, 4555 | .navbar-inverse .navbar-nav > .open > a:focus { 4556 | color: #ffffff; 4557 | background-color: #080808; 4558 | } 4559 | 4560 | .navbar-inverse .navbar-nav > .dropdown > a:hover .caret { 4561 | border-top-color: #ffffff; 4562 | border-bottom-color: #ffffff; 4563 | } 4564 | 4565 | .navbar-inverse .navbar-nav > .dropdown > a .caret { 4566 | border-top-color: #999999; 4567 | border-bottom-color: #999999; 4568 | } 4569 | 4570 | .navbar-inverse .navbar-nav > .open > a .caret, 4571 | .navbar-inverse .navbar-nav > .open > a:hover .caret, 4572 | .navbar-inverse .navbar-nav > .open > a:focus .caret { 4573 | border-top-color: #ffffff; 4574 | border-bottom-color: #ffffff; 4575 | } 4576 | 4577 | @media (max-width: 767px) { 4578 | .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { 4579 | border-color: #080808; 4580 | } 4581 | .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { 4582 | color: #999999; 4583 | } 4584 | .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, 4585 | .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { 4586 | color: #ffffff; 4587 | background-color: transparent; 4588 | } 4589 | .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, 4590 | .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, 4591 | .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { 4592 | color: #ffffff; 4593 | background-color: #080808; 4594 | } 4595 | .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, 4596 | .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, 4597 | .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { 4598 | color: #444444; 4599 | background-color: transparent; 4600 | } 4601 | } 4602 | 4603 | .navbar-inverse .navbar-link { 4604 | color: #999999; 4605 | } 4606 | 4607 | .navbar-inverse .navbar-link:hover { 4608 | color: #ffffff; 4609 | } 4610 | 4611 | .breadcrumb { 4612 | padding: 8px 15px; 4613 | margin-bottom: 20px; 4614 | list-style: none; 4615 | background-color: #f5f5f5; 4616 | border-radius: 4px; 4617 | } 4618 | 4619 | .breadcrumb > li { 4620 | display: inline-block; 4621 | } 4622 | 4623 | .breadcrumb > li + li:before { 4624 | padding: 0 5px; 4625 | color: #cccccc; 4626 | content: "/\00a0"; 4627 | } 4628 | 4629 | .breadcrumb > .active { 4630 | color: #999999; 4631 | } 4632 | 4633 | .pagination { 4634 | display: inline-block; 4635 | padding-left: 0; 4636 | margin: 20px 0; 4637 | border-radius: 4px; 4638 | } 4639 | 4640 | .pagination > li { 4641 | display: inline; 4642 | } 4643 | 4644 | .pagination > li > a, 4645 | .pagination > li > span { 4646 | position: relative; 4647 | float: left; 4648 | padding: 6px 12px; 4649 | margin-left: -1px; 4650 | line-height: 1.428571429; 4651 | text-decoration: none; 4652 | background-color: #ffffff; 4653 | border: 1px solid #dddddd; 4654 | } 4655 | 4656 | .pagination > li:first-child > a, 4657 | .pagination > li:first-child > span { 4658 | margin-left: 0; 4659 | border-bottom-left-radius: 4px; 4660 | border-top-left-radius: 4px; 4661 | } 4662 | 4663 | .pagination > li:last-child > a, 4664 | .pagination > li:last-child > span { 4665 | border-top-right-radius: 4px; 4666 | border-bottom-right-radius: 4px; 4667 | } 4668 | 4669 | .pagination > li > a:hover, 4670 | .pagination > li > span:hover, 4671 | .pagination > li > a:focus, 4672 | .pagination > li > span:focus { 4673 | background-color: #eeeeee; 4674 | } 4675 | 4676 | .pagination > .active > a, 4677 | .pagination > .active > span, 4678 | .pagination > .active > a:hover, 4679 | .pagination > .active > span:hover, 4680 | .pagination > .active > a:focus, 4681 | .pagination > .active > span:focus { 4682 | z-index: 2; 4683 | color: #ffffff; 4684 | cursor: default; 4685 | background-color: #428bca; 4686 | border-color: #428bca; 4687 | } 4688 | 4689 | .pagination > .disabled > span, 4690 | .pagination > .disabled > a, 4691 | .pagination > .disabled > a:hover, 4692 | .pagination > .disabled > a:focus { 4693 | color: #999999; 4694 | cursor: not-allowed; 4695 | background-color: #ffffff; 4696 | border-color: #dddddd; 4697 | } 4698 | 4699 | .pagination-lg > li > a, 4700 | .pagination-lg > li > span { 4701 | padding: 10px 16px; 4702 | font-size: 18px; 4703 | } 4704 | 4705 | .pagination-lg > li:first-child > a, 4706 | .pagination-lg > li:first-child > span { 4707 | border-bottom-left-radius: 6px; 4708 | border-top-left-radius: 6px; 4709 | } 4710 | 4711 | .pagination-lg > li:last-child > a, 4712 | .pagination-lg > li:last-child > span { 4713 | border-top-right-radius: 6px; 4714 | border-bottom-right-radius: 6px; 4715 | } 4716 | 4717 | .pagination-sm > li > a, 4718 | .pagination-sm > li > span { 4719 | padding: 5px 10px; 4720 | font-size: 12px; 4721 | } 4722 | 4723 | .pagination-sm > li:first-child > a, 4724 | .pagination-sm > li:first-child > span { 4725 | border-bottom-left-radius: 3px; 4726 | border-top-left-radius: 3px; 4727 | } 4728 | 4729 | .pagination-sm > li:last-child > a, 4730 | .pagination-sm > li:last-child > span { 4731 | border-top-right-radius: 3px; 4732 | border-bottom-right-radius: 3px; 4733 | } 4734 | 4735 | .pager { 4736 | padding-left: 0; 4737 | margin: 20px 0; 4738 | text-align: center; 4739 | list-style: none; 4740 | } 4741 | 4742 | .pager:before, 4743 | .pager:after { 4744 | display: table; 4745 | content: " "; 4746 | } 4747 | 4748 | .pager:after { 4749 | clear: both; 4750 | } 4751 | 4752 | .pager:before, 4753 | .pager:after { 4754 | display: table; 4755 | content: " "; 4756 | } 4757 | 4758 | .pager:after { 4759 | clear: both; 4760 | } 4761 | 4762 | .pager li { 4763 | display: inline; 4764 | } 4765 | 4766 | .pager li > a, 4767 | .pager li > span { 4768 | display: inline-block; 4769 | padding: 5px 14px; 4770 | background-color: #ffffff; 4771 | border: 1px solid #dddddd; 4772 | border-radius: 15px; 4773 | } 4774 | 4775 | .pager li > a:hover, 4776 | .pager li > a:focus { 4777 | text-decoration: none; 4778 | background-color: #eeeeee; 4779 | } 4780 | 4781 | .pager .next > a, 4782 | .pager .next > span { 4783 | float: right; 4784 | } 4785 | 4786 | .pager .previous > a, 4787 | .pager .previous > span { 4788 | float: left; 4789 | } 4790 | 4791 | .pager .disabled > a, 4792 | .pager .disabled > a:hover, 4793 | .pager .disabled > a:focus, 4794 | .pager .disabled > span { 4795 | color: #999999; 4796 | cursor: not-allowed; 4797 | background-color: #ffffff; 4798 | } 4799 | 4800 | .label { 4801 | display: inline; 4802 | padding: .2em .6em .3em; 4803 | font-size: 75%; 4804 | font-weight: bold; 4805 | line-height: 1; 4806 | color: #ffffff; 4807 | text-align: center; 4808 | white-space: nowrap; 4809 | vertical-align: baseline; 4810 | border-radius: .25em; 4811 | } 4812 | 4813 | .label[href]:hover, 4814 | .label[href]:focus { 4815 | color: #ffffff; 4816 | text-decoration: none; 4817 | cursor: pointer; 4818 | } 4819 | 4820 | .label:empty { 4821 | display: none; 4822 | } 4823 | 4824 | .label-default { 4825 | background-color: #999999; 4826 | } 4827 | 4828 | .label-default[href]:hover, 4829 | .label-default[href]:focus { 4830 | background-color: #808080; 4831 | } 4832 | 4833 | .label-primary { 4834 | background-color: #428bca; 4835 | } 4836 | 4837 | .label-primary[href]:hover, 4838 | .label-primary[href]:focus { 4839 | background-color: #3071a9; 4840 | } 4841 | 4842 | .label-success { 4843 | background-color: #5cb85c; 4844 | } 4845 | 4846 | .label-success[href]:hover, 4847 | .label-success[href]:focus { 4848 | background-color: #449d44; 4849 | } 4850 | 4851 | .label-info { 4852 | background-color: #5bc0de; 4853 | } 4854 | 4855 | .label-info[href]:hover, 4856 | .label-info[href]:focus { 4857 | background-color: #31b0d5; 4858 | } 4859 | 4860 | .label-warning { 4861 | background-color: #f0ad4e; 4862 | } 4863 | 4864 | .label-warning[href]:hover, 4865 | .label-warning[href]:focus { 4866 | background-color: #ec971f; 4867 | } 4868 | 4869 | .label-danger { 4870 | background-color: #d9534f; 4871 | } 4872 | 4873 | .label-danger[href]:hover, 4874 | .label-danger[href]:focus { 4875 | background-color: #c9302c; 4876 | } 4877 | 4878 | .badge { 4879 | display: inline-block; 4880 | min-width: 10px; 4881 | padding: 3px 7px; 4882 | font-size: 12px; 4883 | font-weight: bold; 4884 | line-height: 1; 4885 | color: #ffffff; 4886 | text-align: center; 4887 | white-space: nowrap; 4888 | vertical-align: baseline; 4889 | background-color: #999999; 4890 | border-radius: 10px; 4891 | } 4892 | 4893 | .badge:empty { 4894 | display: none; 4895 | } 4896 | 4897 | a.badge:hover, 4898 | a.badge:focus { 4899 | color: #ffffff; 4900 | text-decoration: none; 4901 | cursor: pointer; 4902 | } 4903 | 4904 | .btn .badge { 4905 | position: relative; 4906 | top: -1px; 4907 | } 4908 | 4909 | a.list-group-item.active > .badge, 4910 | .nav-pills > .active > a > .badge { 4911 | color: #428bca; 4912 | background-color: #ffffff; 4913 | } 4914 | 4915 | .nav-pills > li > a > .badge { 4916 | margin-left: 3px; 4917 | } 4918 | 4919 | .jumbotron { 4920 | padding: 30px; 4921 | margin-bottom: 30px; 4922 | font-size: 21px; 4923 | font-weight: 200; 4924 | line-height: 2.1428571435; 4925 | color: inherit; 4926 | background-color: #eeeeee; 4927 | } 4928 | 4929 | .jumbotron h1 { 4930 | line-height: 1; 4931 | color: inherit; 4932 | } 4933 | 4934 | .jumbotron p { 4935 | line-height: 1.4; 4936 | } 4937 | 4938 | .container .jumbotron { 4939 | border-radius: 6px; 4940 | } 4941 | 4942 | @media screen and (min-width: 768px) { 4943 | .jumbotron { 4944 | padding-top: 48px; 4945 | padding-bottom: 48px; 4946 | } 4947 | .container .jumbotron { 4948 | padding-right: 60px; 4949 | padding-left: 60px; 4950 | } 4951 | .jumbotron h1 { 4952 | font-size: 63px; 4953 | } 4954 | } 4955 | 4956 | .thumbnail { 4957 | display: inline-block; 4958 | display: block; 4959 | height: auto; 4960 | max-width: 100%; 4961 | padding: 4px; 4962 | line-height: 1.428571429; 4963 | background-color: #ffffff; 4964 | border: 1px solid #dddddd; 4965 | border-radius: 4px; 4966 | -webkit-transition: all 0.2s ease-in-out; 4967 | transition: all 0.2s ease-in-out; 4968 | } 4969 | 4970 | .thumbnail > img { 4971 | display: block; 4972 | height: auto; 4973 | max-width: 100%; 4974 | } 4975 | 4976 | a.thumbnail:hover, 4977 | a.thumbnail:focus { 4978 | border-color: #428bca; 4979 | } 4980 | 4981 | .thumbnail > img { 4982 | margin-right: auto; 4983 | margin-left: auto; 4984 | } 4985 | 4986 | .thumbnail .caption { 4987 | padding: 9px; 4988 | color: #333333; 4989 | } 4990 | 4991 | .alert { 4992 | padding: 15px; 4993 | margin-bottom: 20px; 4994 | border: 1px solid transparent; 4995 | border-radius: 4px; 4996 | } 4997 | 4998 | .alert h4 { 4999 | margin-top: 0; 5000 | color: inherit; 5001 | } 5002 | 5003 | .alert .alert-link { 5004 | font-weight: bold; 5005 | } 5006 | 5007 | .alert > p, 5008 | .alert > ul { 5009 | margin-bottom: 0; 5010 | } 5011 | 5012 | .alert > p + p { 5013 | margin-top: 5px; 5014 | } 5015 | 5016 | .alert-dismissable { 5017 | padding-right: 35px; 5018 | } 5019 | 5020 | .alert-dismissable .close { 5021 | position: relative; 5022 | top: -2px; 5023 | right: -21px; 5024 | color: inherit; 5025 | } 5026 | 5027 | .alert-success { 5028 | color: #468847; 5029 | background-color: #dff0d8; 5030 | border-color: #d6e9c6; 5031 | } 5032 | 5033 | .alert-success hr { 5034 | border-top-color: #c9e2b3; 5035 | } 5036 | 5037 | .alert-success .alert-link { 5038 | color: #356635; 5039 | } 5040 | 5041 | .alert-info { 5042 | color: #3a87ad; 5043 | background-color: #d9edf7; 5044 | border-color: #bce8f1; 5045 | } 5046 | 5047 | .alert-info hr { 5048 | border-top-color: #a6e1ec; 5049 | } 5050 | 5051 | .alert-info .alert-link { 5052 | color: #2d6987; 5053 | } 5054 | 5055 | .alert-warning { 5056 | color: #c09853; 5057 | background-color: #fcf8e3; 5058 | border-color: #fbeed5; 5059 | } 5060 | 5061 | .alert-warning hr { 5062 | border-top-color: #f8e5be; 5063 | } 5064 | 5065 | .alert-warning .alert-link { 5066 | color: #a47e3c; 5067 | } 5068 | 5069 | .alert-danger { 5070 | color: #b94a48; 5071 | background-color: #f2dede; 5072 | border-color: #eed3d7; 5073 | } 5074 | 5075 | .alert-danger hr { 5076 | border-top-color: #e6c1c7; 5077 | } 5078 | 5079 | .alert-danger .alert-link { 5080 | color: #953b39; 5081 | } 5082 | 5083 | @-webkit-keyframes progress-bar-stripes { 5084 | from { 5085 | background-position: 40px 0; 5086 | } 5087 | to { 5088 | background-position: 0 0; 5089 | } 5090 | } 5091 | 5092 | @-moz-keyframes progress-bar-stripes { 5093 | from { 5094 | background-position: 40px 0; 5095 | } 5096 | to { 5097 | background-position: 0 0; 5098 | } 5099 | } 5100 | 5101 | @-o-keyframes progress-bar-stripes { 5102 | from { 5103 | background-position: 0 0; 5104 | } 5105 | to { 5106 | background-position: 40px 0; 5107 | } 5108 | } 5109 | 5110 | @keyframes progress-bar-stripes { 5111 | from { 5112 | background-position: 40px 0; 5113 | } 5114 | to { 5115 | background-position: 0 0; 5116 | } 5117 | } 5118 | 5119 | .progress { 5120 | height: 20px; 5121 | margin-bottom: 20px; 5122 | overflow: hidden; 5123 | background-color: #f5f5f5; 5124 | border-radius: 4px; 5125 | -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); 5126 | box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); 5127 | } 5128 | 5129 | .progress-bar { 5130 | float: left; 5131 | width: 0; 5132 | height: 100%; 5133 | font-size: 12px; 5134 | color: #ffffff; 5135 | text-align: center; 5136 | background-color: #428bca; 5137 | -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); 5138 | box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); 5139 | -webkit-transition: width 0.6s ease; 5140 | transition: width 0.6s ease; 5141 | } 5142 | 5143 | .progress-striped .progress-bar { 5144 | 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)); 5145 | 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); 5146 | 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); 5147 | 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); 5148 | background-size: 40px 40px; 5149 | } 5150 | 5151 | .progress.active .progress-bar { 5152 | -webkit-animation: progress-bar-stripes 2s linear infinite; 5153 | -moz-animation: progress-bar-stripes 2s linear infinite; 5154 | -ms-animation: progress-bar-stripes 2s linear infinite; 5155 | -o-animation: progress-bar-stripes 2s linear infinite; 5156 | animation: progress-bar-stripes 2s linear infinite; 5157 | } 5158 | 5159 | .progress-bar-success { 5160 | background-color: #5cb85c; 5161 | } 5162 | 5163 | .progress-striped .progress-bar-success { 5164 | 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)); 5165 | 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); 5166 | 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); 5167 | 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); 5168 | } 5169 | 5170 | .progress-bar-info { 5171 | background-color: #5bc0de; 5172 | } 5173 | 5174 | .progress-striped .progress-bar-info { 5175 | 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)); 5176 | 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); 5177 | 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); 5178 | 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); 5179 | } 5180 | 5181 | .progress-bar-warning { 5182 | background-color: #f0ad4e; 5183 | } 5184 | 5185 | .progress-striped .progress-bar-warning { 5186 | 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)); 5187 | 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); 5188 | 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); 5189 | 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); 5190 | } 5191 | 5192 | .progress-bar-danger { 5193 | background-color: #d9534f; 5194 | } 5195 | 5196 | .progress-striped .progress-bar-danger { 5197 | 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)); 5198 | 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); 5199 | 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); 5200 | 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); 5201 | } 5202 | 5203 | .media, 5204 | .media-body { 5205 | overflow: hidden; 5206 | zoom: 1; 5207 | } 5208 | 5209 | .media, 5210 | .media .media { 5211 | margin-top: 15px; 5212 | } 5213 | 5214 | .media:first-child { 5215 | margin-top: 0; 5216 | } 5217 | 5218 | .media-object { 5219 | display: block; 5220 | } 5221 | 5222 | .media-heading { 5223 | margin: 0 0 5px; 5224 | } 5225 | 5226 | .media > .pull-left { 5227 | margin-right: 10px; 5228 | } 5229 | 5230 | .media > .pull-right { 5231 | margin-left: 10px; 5232 | } 5233 | 5234 | .media-list { 5235 | padding-left: 0; 5236 | list-style: none; 5237 | } 5238 | 5239 | .list-group { 5240 | padding-left: 0; 5241 | margin-bottom: 20px; 5242 | } 5243 | 5244 | .list-group-item { 5245 | position: relative; 5246 | display: block; 5247 | padding: 10px 15px; 5248 | margin-bottom: -1px; 5249 | background-color: #ffffff; 5250 | border: 1px solid #dddddd; 5251 | } 5252 | 5253 | .list-group-item:first-child { 5254 | border-top-right-radius: 4px; 5255 | border-top-left-radius: 4px; 5256 | } 5257 | 5258 | .list-group-item:last-child { 5259 | margin-bottom: 0; 5260 | border-bottom-right-radius: 4px; 5261 | border-bottom-left-radius: 4px; 5262 | } 5263 | 5264 | .list-group-item > .badge { 5265 | float: right; 5266 | } 5267 | 5268 | .list-group-item > .badge + .badge { 5269 | margin-right: 5px; 5270 | } 5271 | 5272 | a.list-group-item { 5273 | color: #555555; 5274 | } 5275 | 5276 | a.list-group-item .list-group-item-heading { 5277 | color: #333333; 5278 | } 5279 | 5280 | a.list-group-item:hover, 5281 | a.list-group-item:focus { 5282 | text-decoration: none; 5283 | background-color: #f5f5f5; 5284 | } 5285 | 5286 | .list-group-item.active, 5287 | .list-group-item.active:hover, 5288 | .list-group-item.active:focus { 5289 | z-index: 2; 5290 | color: #ffffff; 5291 | background-color: #428bca; 5292 | border-color: #428bca; 5293 | } 5294 | 5295 | .list-group-item.active .list-group-item-heading, 5296 | .list-group-item.active:hover .list-group-item-heading, 5297 | .list-group-item.active:focus .list-group-item-heading { 5298 | color: inherit; 5299 | } 5300 | 5301 | .list-group-item.active .list-group-item-text, 5302 | .list-group-item.active:hover .list-group-item-text, 5303 | .list-group-item.active:focus .list-group-item-text { 5304 | color: #e1edf7; 5305 | } 5306 | 5307 | .list-group-item-heading { 5308 | margin-top: 0; 5309 | margin-bottom: 5px; 5310 | } 5311 | 5312 | .list-group-item-text { 5313 | margin-bottom: 0; 5314 | line-height: 1.3; 5315 | } 5316 | 5317 | .panel { 5318 | margin-bottom: 20px; 5319 | background-color: #ffffff; 5320 | border: 1px solid transparent; 5321 | border-radius: 4px; 5322 | -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); 5323 | box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); 5324 | } 5325 | 5326 | .panel-body { 5327 | padding: 15px; 5328 | } 5329 | 5330 | .panel-body:before, 5331 | .panel-body:after { 5332 | display: table; 5333 | content: " "; 5334 | } 5335 | 5336 | .panel-body:after { 5337 | clear: both; 5338 | } 5339 | 5340 | .panel-body:before, 5341 | .panel-body:after { 5342 | display: table; 5343 | content: " "; 5344 | } 5345 | 5346 | .panel-body:after { 5347 | clear: both; 5348 | } 5349 | 5350 | .panel > .list-group { 5351 | margin-bottom: 0; 5352 | } 5353 | 5354 | .panel > .list-group .list-group-item { 5355 | border-width: 1px 0; 5356 | } 5357 | 5358 | .panel > .list-group .list-group-item:first-child { 5359 | border-top-right-radius: 0; 5360 | border-top-left-radius: 0; 5361 | } 5362 | 5363 | .panel > .list-group .list-group-item:last-child { 5364 | border-bottom: 0; 5365 | } 5366 | 5367 | .panel-heading + .list-group .list-group-item:first-child { 5368 | border-top-width: 0; 5369 | } 5370 | 5371 | .panel > .table { 5372 | margin-bottom: 0; 5373 | } 5374 | 5375 | .panel > .panel-body + .table { 5376 | border-top: 1px solid #dddddd; 5377 | } 5378 | 5379 | .panel-heading { 5380 | padding: 10px 15px; 5381 | border-bottom: 1px solid transparent; 5382 | border-top-right-radius: 3px; 5383 | border-top-left-radius: 3px; 5384 | } 5385 | 5386 | .panel-title { 5387 | margin-top: 0; 5388 | margin-bottom: 0; 5389 | font-size: 16px; 5390 | } 5391 | 5392 | .panel-title > a { 5393 | color: inherit; 5394 | } 5395 | 5396 | .panel-footer { 5397 | padding: 10px 15px; 5398 | background-color: #f5f5f5; 5399 | border-top: 1px solid #dddddd; 5400 | border-bottom-right-radius: 3px; 5401 | border-bottom-left-radius: 3px; 5402 | } 5403 | 5404 | .panel-group .panel { 5405 | margin-bottom: 0; 5406 | overflow: hidden; 5407 | border-radius: 4px; 5408 | } 5409 | 5410 | .panel-group .panel + .panel { 5411 | margin-top: 5px; 5412 | } 5413 | 5414 | .panel-group .panel-heading { 5415 | border-bottom: 0; 5416 | } 5417 | 5418 | .panel-group .panel-heading + .panel-collapse .panel-body { 5419 | border-top: 1px solid #dddddd; 5420 | } 5421 | 5422 | .panel-group .panel-footer { 5423 | border-top: 0; 5424 | } 5425 | 5426 | .panel-group .panel-footer + .panel-collapse .panel-body { 5427 | border-bottom: 1px solid #dddddd; 5428 | } 5429 | 5430 | .panel-default { 5431 | border-color: #dddddd; 5432 | } 5433 | 5434 | .panel-default > .panel-heading { 5435 | color: #333333; 5436 | background-color: #f5f5f5; 5437 | border-color: #dddddd; 5438 | } 5439 | 5440 | .panel-default > .panel-heading + .panel-collapse .panel-body { 5441 | border-top-color: #dddddd; 5442 | } 5443 | 5444 | .panel-default > .panel-footer + .panel-collapse .panel-body { 5445 | border-bottom-color: #dddddd; 5446 | } 5447 | 5448 | .panel-primary { 5449 | border-color: #428bca; 5450 | } 5451 | 5452 | .panel-primary > .panel-heading { 5453 | color: #ffffff; 5454 | background-color: #428bca; 5455 | border-color: #428bca; 5456 | } 5457 | 5458 | .panel-primary > .panel-heading + .panel-collapse .panel-body { 5459 | border-top-color: #428bca; 5460 | } 5461 | 5462 | .panel-primary > .panel-footer + .panel-collapse .panel-body { 5463 | border-bottom-color: #428bca; 5464 | } 5465 | 5466 | .panel-success { 5467 | border-color: #d6e9c6; 5468 | } 5469 | 5470 | .panel-success > .panel-heading { 5471 | color: #468847; 5472 | background-color: #dff0d8; 5473 | border-color: #d6e9c6; 5474 | } 5475 | 5476 | .panel-success > .panel-heading + .panel-collapse .panel-body { 5477 | border-top-color: #d6e9c6; 5478 | } 5479 | 5480 | .panel-success > .panel-footer + .panel-collapse .panel-body { 5481 | border-bottom-color: #d6e9c6; 5482 | } 5483 | 5484 | .panel-warning { 5485 | border-color: #fbeed5; 5486 | } 5487 | 5488 | .panel-warning > .panel-heading { 5489 | color: #c09853; 5490 | background-color: #fcf8e3; 5491 | border-color: #fbeed5; 5492 | } 5493 | 5494 | .panel-warning > .panel-heading + .panel-collapse .panel-body { 5495 | border-top-color: #fbeed5; 5496 | } 5497 | 5498 | .panel-warning > .panel-footer + .panel-collapse .panel-body { 5499 | border-bottom-color: #fbeed5; 5500 | } 5501 | 5502 | .panel-danger { 5503 | border-color: #eed3d7; 5504 | } 5505 | 5506 | .panel-danger > .panel-heading { 5507 | color: #b94a48; 5508 | background-color: #f2dede; 5509 | border-color: #eed3d7; 5510 | } 5511 | 5512 | .panel-danger > .panel-heading + .panel-collapse .panel-body { 5513 | border-top-color: #eed3d7; 5514 | } 5515 | 5516 | .panel-danger > .panel-footer + .panel-collapse .panel-body { 5517 | border-bottom-color: #eed3d7; 5518 | } 5519 | 5520 | .panel-info { 5521 | border-color: #bce8f1; 5522 | } 5523 | 5524 | .panel-info > .panel-heading { 5525 | color: #3a87ad; 5526 | background-color: #d9edf7; 5527 | border-color: #bce8f1; 5528 | } 5529 | 5530 | .panel-info > .panel-heading + .panel-collapse .panel-body { 5531 | border-top-color: #bce8f1; 5532 | } 5533 | 5534 | .panel-info > .panel-footer + .panel-collapse .panel-body { 5535 | border-bottom-color: #bce8f1; 5536 | } 5537 | 5538 | .well { 5539 | min-height: 20px; 5540 | padding: 19px; 5541 | margin-bottom: 20px; 5542 | background-color: #f5f5f5; 5543 | border: 1px solid #e3e3e3; 5544 | border-radius: 4px; 5545 | -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); 5546 | box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); 5547 | } 5548 | 5549 | .well blockquote { 5550 | border-color: #ddd; 5551 | border-color: rgba(0, 0, 0, 0.15); 5552 | } 5553 | 5554 | .well-lg { 5555 | padding: 24px; 5556 | border-radius: 6px; 5557 | } 5558 | 5559 | .well-sm { 5560 | padding: 9px; 5561 | border-radius: 3px; 5562 | } 5563 | 5564 | .close { 5565 | float: right; 5566 | font-size: 21px; 5567 | font-weight: bold; 5568 | line-height: 1; 5569 | color: #000000; 5570 | text-shadow: 0 1px 0 #ffffff; 5571 | opacity: 0.2; 5572 | filter: alpha(opacity=20); 5573 | } 5574 | 5575 | .close:hover, 5576 | .close:focus { 5577 | color: #000000; 5578 | text-decoration: none; 5579 | cursor: pointer; 5580 | opacity: 0.5; 5581 | filter: alpha(opacity=50); 5582 | } 5583 | 5584 | button.close { 5585 | padding: 0; 5586 | cursor: pointer; 5587 | background: transparent; 5588 | border: 0; 5589 | -webkit-appearance: none; 5590 | } 5591 | 5592 | .modal-open { 5593 | overflow: hidden; 5594 | } 5595 | 5596 | body.modal-open, 5597 | .modal-open .navbar-fixed-top, 5598 | .modal-open .navbar-fixed-bottom { 5599 | margin-right: 15px; 5600 | } 5601 | 5602 | .modal { 5603 | position: fixed; 5604 | top: 0; 5605 | right: 0; 5606 | bottom: 0; 5607 | left: 0; 5608 | z-index: 1040; 5609 | display: none; 5610 | overflow: auto; 5611 | overflow-y: scroll; 5612 | } 5613 | 5614 | .modal.fade .modal-dialog { 5615 | -webkit-transform: translate(0, -25%); 5616 | -ms-transform: translate(0, -25%); 5617 | transform: translate(0, -25%); 5618 | -webkit-transition: -webkit-transform 0.3s ease-out; 5619 | -moz-transition: -moz-transform 0.3s ease-out; 5620 | -o-transition: -o-transform 0.3s ease-out; 5621 | transition: transform 0.3s ease-out; 5622 | } 5623 | 5624 | .modal.in .modal-dialog { 5625 | -webkit-transform: translate(0, 0); 5626 | -ms-transform: translate(0, 0); 5627 | transform: translate(0, 0); 5628 | } 5629 | 5630 | .modal-dialog { 5631 | z-index: 1050; 5632 | width: auto; 5633 | padding: 10px; 5634 | margin-right: auto; 5635 | margin-left: auto; 5636 | } 5637 | 5638 | .modal-content { 5639 | position: relative; 5640 | background-color: #ffffff; 5641 | border: 1px solid #999999; 5642 | border: 1px solid rgba(0, 0, 0, 0.2); 5643 | border-radius: 6px; 5644 | outline: none; 5645 | -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); 5646 | box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); 5647 | background-clip: padding-box; 5648 | } 5649 | 5650 | .modal-backdrop { 5651 | position: fixed; 5652 | top: 0; 5653 | right: 0; 5654 | bottom: 0; 5655 | left: 0; 5656 | z-index: 1030; 5657 | background-color: #000000; 5658 | } 5659 | 5660 | .modal-backdrop.fade { 5661 | opacity: 0; 5662 | filter: alpha(opacity=0); 5663 | } 5664 | 5665 | .modal-backdrop.in { 5666 | opacity: 0.5; 5667 | filter: alpha(opacity=50); 5668 | } 5669 | 5670 | .modal-header { 5671 | min-height: 16.428571429px; 5672 | padding: 15px; 5673 | border-bottom: 1px solid #e5e5e5; 5674 | } 5675 | 5676 | .modal-header .close { 5677 | margin-top: -2px; 5678 | } 5679 | 5680 | .modal-title { 5681 | margin: 0; 5682 | line-height: 1.428571429; 5683 | } 5684 | 5685 | .modal-body { 5686 | position: relative; 5687 | padding: 20px; 5688 | } 5689 | 5690 | .modal-footer { 5691 | padding: 19px 20px 20px; 5692 | margin-top: 15px; 5693 | text-align: right; 5694 | border-top: 1px solid #e5e5e5; 5695 | } 5696 | 5697 | .modal-footer:before, 5698 | .modal-footer:after { 5699 | display: table; 5700 | content: " "; 5701 | } 5702 | 5703 | .modal-footer:after { 5704 | clear: both; 5705 | } 5706 | 5707 | .modal-footer:before, 5708 | .modal-footer:after { 5709 | display: table; 5710 | content: " "; 5711 | } 5712 | 5713 | .modal-footer:after { 5714 | clear: both; 5715 | } 5716 | 5717 | .modal-footer .btn + .btn { 5718 | margin-bottom: 0; 5719 | margin-left: 5px; 5720 | } 5721 | 5722 | .modal-footer .btn-group .btn + .btn { 5723 | margin-left: -1px; 5724 | } 5725 | 5726 | .modal-footer .btn-block + .btn-block { 5727 | margin-left: 0; 5728 | } 5729 | 5730 | @media screen and (min-width: 768px) { 5731 | .modal-dialog { 5732 | right: auto; 5733 | left: 50%; 5734 | width: 600px; 5735 | padding-top: 30px; 5736 | padding-bottom: 30px; 5737 | } 5738 | .modal-content { 5739 | -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); 5740 | box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); 5741 | } 5742 | } 5743 | 5744 | .tooltip { 5745 | position: absolute; 5746 | z-index: 1030; 5747 | display: block; 5748 | font-size: 12px; 5749 | line-height: 1.4; 5750 | opacity: 0; 5751 | filter: alpha(opacity=0); 5752 | visibility: visible; 5753 | } 5754 | 5755 | .tooltip.in { 5756 | opacity: 0.9; 5757 | filter: alpha(opacity=90); 5758 | } 5759 | 5760 | .tooltip.top { 5761 | padding: 5px 0; 5762 | margin-top: -3px; 5763 | } 5764 | 5765 | .tooltip.right { 5766 | padding: 0 5px; 5767 | margin-left: 3px; 5768 | } 5769 | 5770 | .tooltip.bottom { 5771 | padding: 5px 0; 5772 | margin-top: 3px; 5773 | } 5774 | 5775 | .tooltip.left { 5776 | padding: 0 5px; 5777 | margin-left: -3px; 5778 | } 5779 | 5780 | .tooltip-inner { 5781 | max-width: 200px; 5782 | padding: 3px 8px; 5783 | color: #ffffff; 5784 | text-align: center; 5785 | text-decoration: none; 5786 | background-color: #000000; 5787 | border-radius: 4px; 5788 | } 5789 | 5790 | .tooltip-arrow { 5791 | position: absolute; 5792 | width: 0; 5793 | height: 0; 5794 | border-color: transparent; 5795 | border-style: solid; 5796 | } 5797 | 5798 | .tooltip.top .tooltip-arrow { 5799 | bottom: 0; 5800 | left: 50%; 5801 | margin-left: -5px; 5802 | border-top-color: #000000; 5803 | border-width: 5px 5px 0; 5804 | } 5805 | 5806 | .tooltip.top-left .tooltip-arrow { 5807 | bottom: 0; 5808 | left: 5px; 5809 | border-top-color: #000000; 5810 | border-width: 5px 5px 0; 5811 | } 5812 | 5813 | .tooltip.top-right .tooltip-arrow { 5814 | right: 5px; 5815 | bottom: 0; 5816 | border-top-color: #000000; 5817 | border-width: 5px 5px 0; 5818 | } 5819 | 5820 | .tooltip.right .tooltip-arrow { 5821 | top: 50%; 5822 | left: 0; 5823 | margin-top: -5px; 5824 | border-right-color: #000000; 5825 | border-width: 5px 5px 5px 0; 5826 | } 5827 | 5828 | .tooltip.left .tooltip-arrow { 5829 | top: 50%; 5830 | right: 0; 5831 | margin-top: -5px; 5832 | border-left-color: #000000; 5833 | border-width: 5px 0 5px 5px; 5834 | } 5835 | 5836 | .tooltip.bottom .tooltip-arrow { 5837 | top: 0; 5838 | left: 50%; 5839 | margin-left: -5px; 5840 | border-bottom-color: #000000; 5841 | border-width: 0 5px 5px; 5842 | } 5843 | 5844 | .tooltip.bottom-left .tooltip-arrow { 5845 | top: 0; 5846 | left: 5px; 5847 | border-bottom-color: #000000; 5848 | border-width: 0 5px 5px; 5849 | } 5850 | 5851 | .tooltip.bottom-right .tooltip-arrow { 5852 | top: 0; 5853 | right: 5px; 5854 | border-bottom-color: #000000; 5855 | border-width: 0 5px 5px; 5856 | } 5857 | 5858 | .popover { 5859 | position: absolute; 5860 | top: 0; 5861 | left: 0; 5862 | z-index: 1010; 5863 | display: none; 5864 | max-width: 276px; 5865 | padding: 1px; 5866 | text-align: left; 5867 | white-space: normal; 5868 | background-color: #ffffff; 5869 | border: 1px solid #cccccc; 5870 | border: 1px solid rgba(0, 0, 0, 0.2); 5871 | border-radius: 6px; 5872 | -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); 5873 | box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); 5874 | background-clip: padding-box; 5875 | } 5876 | 5877 | .popover.top { 5878 | margin-top: -10px; 5879 | } 5880 | 5881 | .popover.right { 5882 | margin-left: 10px; 5883 | } 5884 | 5885 | .popover.bottom { 5886 | margin-top: 10px; 5887 | } 5888 | 5889 | .popover.left { 5890 | margin-left: -10px; 5891 | } 5892 | 5893 | .popover-title { 5894 | padding: 8px 14px; 5895 | margin: 0; 5896 | font-size: 14px; 5897 | font-weight: normal; 5898 | line-height: 18px; 5899 | background-color: #f7f7f7; 5900 | border-bottom: 1px solid #ebebeb; 5901 | border-radius: 5px 5px 0 0; 5902 | } 5903 | 5904 | .popover-content { 5905 | padding: 9px 14px; 5906 | } 5907 | 5908 | .popover .arrow, 5909 | .popover .arrow:after { 5910 | position: absolute; 5911 | display: block; 5912 | width: 0; 5913 | height: 0; 5914 | border-color: transparent; 5915 | border-style: solid; 5916 | } 5917 | 5918 | .popover .arrow { 5919 | border-width: 11px; 5920 | } 5921 | 5922 | .popover .arrow:after { 5923 | border-width: 10px; 5924 | content: ""; 5925 | } 5926 | 5927 | .popover.top .arrow { 5928 | bottom: -11px; 5929 | left: 50%; 5930 | margin-left: -11px; 5931 | border-top-color: #999999; 5932 | border-top-color: rgba(0, 0, 0, 0.25); 5933 | border-bottom-width: 0; 5934 | } 5935 | 5936 | .popover.top .arrow:after { 5937 | bottom: 1px; 5938 | margin-left: -10px; 5939 | border-top-color: #ffffff; 5940 | border-bottom-width: 0; 5941 | content: " "; 5942 | } 5943 | 5944 | .popover.right .arrow { 5945 | top: 50%; 5946 | left: -11px; 5947 | margin-top: -11px; 5948 | border-right-color: #999999; 5949 | border-right-color: rgba(0, 0, 0, 0.25); 5950 | border-left-width: 0; 5951 | } 5952 | 5953 | .popover.right .arrow:after { 5954 | bottom: -10px; 5955 | left: 1px; 5956 | border-right-color: #ffffff; 5957 | border-left-width: 0; 5958 | content: " "; 5959 | } 5960 | 5961 | .popover.bottom .arrow { 5962 | top: -11px; 5963 | left: 50%; 5964 | margin-left: -11px; 5965 | border-bottom-color: #999999; 5966 | border-bottom-color: rgba(0, 0, 0, 0.25); 5967 | border-top-width: 0; 5968 | } 5969 | 5970 | .popover.bottom .arrow:after { 5971 | top: 1px; 5972 | margin-left: -10px; 5973 | border-bottom-color: #ffffff; 5974 | border-top-width: 0; 5975 | content: " "; 5976 | } 5977 | 5978 | .popover.left .arrow { 5979 | top: 50%; 5980 | right: -11px; 5981 | margin-top: -11px; 5982 | border-left-color: #999999; 5983 | border-left-color: rgba(0, 0, 0, 0.25); 5984 | border-right-width: 0; 5985 | } 5986 | 5987 | .popover.left .arrow:after { 5988 | right: 1px; 5989 | bottom: -10px; 5990 | border-left-color: #ffffff; 5991 | border-right-width: 0; 5992 | content: " "; 5993 | } 5994 | 5995 | .carousel { 5996 | position: relative; 5997 | } 5998 | 5999 | .carousel-inner { 6000 | position: relative; 6001 | width: 100%; 6002 | overflow: hidden; 6003 | } 6004 | 6005 | .carousel-inner > .item { 6006 | position: relative; 6007 | display: none; 6008 | -webkit-transition: 0.6s ease-in-out left; 6009 | transition: 0.6s ease-in-out left; 6010 | } 6011 | 6012 | .carousel-inner > .item > img, 6013 | .carousel-inner > .item > a > img { 6014 | display: block; 6015 | height: auto; 6016 | max-width: 100%; 6017 | line-height: 1; 6018 | } 6019 | 6020 | .carousel-inner > .active, 6021 | .carousel-inner > .next, 6022 | .carousel-inner > .prev { 6023 | display: block; 6024 | } 6025 | 6026 | .carousel-inner > .active { 6027 | left: 0; 6028 | } 6029 | 6030 | .carousel-inner > .next, 6031 | .carousel-inner > .prev { 6032 | position: absolute; 6033 | top: 0; 6034 | width: 100%; 6035 | } 6036 | 6037 | .carousel-inner > .next { 6038 | left: 100%; 6039 | } 6040 | 6041 | .carousel-inner > .prev { 6042 | left: -100%; 6043 | } 6044 | 6045 | .carousel-inner > .next.left, 6046 | .carousel-inner > .prev.right { 6047 | left: 0; 6048 | } 6049 | 6050 | .carousel-inner > .active.left { 6051 | left: -100%; 6052 | } 6053 | 6054 | .carousel-inner > .active.right { 6055 | left: 100%; 6056 | } 6057 | 6058 | .carousel-control { 6059 | position: absolute; 6060 | top: 0; 6061 | bottom: 0; 6062 | left: 0; 6063 | width: 15%; 6064 | font-size: 20px; 6065 | color: #ffffff; 6066 | text-align: center; 6067 | text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); 6068 | opacity: 0.5; 6069 | filter: alpha(opacity=50); 6070 | } 6071 | 6072 | .carousel-control.left { 6073 | background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); 6074 | background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0), color-stop(rgba(0, 0, 0, 0.0001) 100%)); 6075 | background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); 6076 | background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); 6077 | background-repeat: repeat-x; 6078 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); 6079 | } 6080 | 6081 | .carousel-control.right { 6082 | right: 0; 6083 | left: auto; 6084 | background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); 6085 | background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0), color-stop(rgba(0, 0, 0, 0.5) 100%)); 6086 | background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); 6087 | background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); 6088 | background-repeat: repeat-x; 6089 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); 6090 | } 6091 | 6092 | .carousel-control:hover, 6093 | .carousel-control:focus { 6094 | color: #ffffff; 6095 | text-decoration: none; 6096 | opacity: 0.9; 6097 | filter: alpha(opacity=90); 6098 | } 6099 | 6100 | .carousel-control .icon-prev, 6101 | .carousel-control .icon-next, 6102 | .carousel-control .glyphicon-chevron-left, 6103 | .carousel-control .glyphicon-chevron-right { 6104 | position: absolute; 6105 | top: 50%; 6106 | left: 50%; 6107 | z-index: 5; 6108 | display: inline-block; 6109 | } 6110 | 6111 | .carousel-control .icon-prev, 6112 | .carousel-control .icon-next { 6113 | width: 20px; 6114 | height: 20px; 6115 | margin-top: -10px; 6116 | margin-left: -10px; 6117 | font-family: serif; 6118 | } 6119 | 6120 | .carousel-control .icon-prev:before { 6121 | content: '\2039'; 6122 | } 6123 | 6124 | .carousel-control .icon-next:before { 6125 | content: '\203a'; 6126 | } 6127 | 6128 | .carousel-indicators { 6129 | position: absolute; 6130 | bottom: 10px; 6131 | left: 50%; 6132 | z-index: 15; 6133 | width: 60%; 6134 | padding-left: 0; 6135 | margin-left: -30%; 6136 | text-align: center; 6137 | list-style: none; 6138 | } 6139 | 6140 | .carousel-indicators li { 6141 | display: inline-block; 6142 | width: 10px; 6143 | height: 10px; 6144 | margin: 1px; 6145 | text-indent: -999px; 6146 | cursor: pointer; 6147 | border: 1px solid #ffffff; 6148 | border-radius: 10px; 6149 | } 6150 | 6151 | .carousel-indicators .active { 6152 | width: 12px; 6153 | height: 12px; 6154 | margin: 0; 6155 | background-color: #ffffff; 6156 | } 6157 | 6158 | .carousel-caption { 6159 | position: absolute; 6160 | right: 15%; 6161 | bottom: 20px; 6162 | left: 15%; 6163 | z-index: 10; 6164 | padding-top: 20px; 6165 | padding-bottom: 20px; 6166 | color: #ffffff; 6167 | text-align: center; 6168 | text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); 6169 | } 6170 | 6171 | .carousel-caption .btn { 6172 | text-shadow: none; 6173 | } 6174 | 6175 | @media screen and (min-width: 768px) { 6176 | .carousel-control .icon-prev, 6177 | .carousel-control .icon-next { 6178 | width: 30px; 6179 | height: 30px; 6180 | margin-top: -15px; 6181 | margin-left: -15px; 6182 | font-size: 30px; 6183 | } 6184 | .carousel-caption { 6185 | right: 20%; 6186 | left: 20%; 6187 | padding-bottom: 30px; 6188 | } 6189 | .carousel-indicators { 6190 | bottom: 20px; 6191 | } 6192 | } 6193 | 6194 | .clearfix:before, 6195 | .clearfix:after { 6196 | display: table; 6197 | content: " "; 6198 | } 6199 | 6200 | .clearfix:after { 6201 | clear: both; 6202 | } 6203 | 6204 | .pull-right { 6205 | float: right !important; 6206 | } 6207 | 6208 | .pull-left { 6209 | float: left !important; 6210 | } 6211 | 6212 | .hide { 6213 | display: none !important; 6214 | } 6215 | 6216 | .show { 6217 | display: block !important; 6218 | } 6219 | 6220 | .invisible { 6221 | visibility: hidden; 6222 | } 6223 | 6224 | .text-hide { 6225 | font: 0/0 a; 6226 | color: transparent; 6227 | text-shadow: none; 6228 | background-color: transparent; 6229 | border: 0; 6230 | } 6231 | 6232 | .affix { 6233 | position: fixed; 6234 | } 6235 | 6236 | @-ms-viewport { 6237 | width: device-width; 6238 | } 6239 | 6240 | @media screen and (max-width: 400px) { 6241 | @-ms-viewport { 6242 | width: 320px; 6243 | } 6244 | } 6245 | 6246 | .hidden { 6247 | display: none !important; 6248 | visibility: hidden !important; 6249 | } 6250 | 6251 | .visible-xs { 6252 | display: none !important; 6253 | } 6254 | 6255 | tr.visible-xs { 6256 | display: none !important; 6257 | } 6258 | 6259 | th.visible-xs, 6260 | td.visible-xs { 6261 | display: none !important; 6262 | } 6263 | 6264 | @media (max-width: 767px) { 6265 | .visible-xs { 6266 | display: block !important; 6267 | } 6268 | tr.visible-xs { 6269 | display: table-row !important; 6270 | } 6271 | th.visible-xs, 6272 | td.visible-xs { 6273 | display: table-cell !important; 6274 | } 6275 | } 6276 | 6277 | @media (min-width: 768px) and (max-width: 991px) { 6278 | .visible-xs.visible-sm { 6279 | display: block !important; 6280 | } 6281 | tr.visible-xs.visible-sm { 6282 | display: table-row !important; 6283 | } 6284 | th.visible-xs.visible-sm, 6285 | td.visible-xs.visible-sm { 6286 | display: table-cell !important; 6287 | } 6288 | } 6289 | 6290 | @media (min-width: 992px) and (max-width: 1199px) { 6291 | .visible-xs.visible-md { 6292 | display: block !important; 6293 | } 6294 | tr.visible-xs.visible-md { 6295 | display: table-row !important; 6296 | } 6297 | th.visible-xs.visible-md, 6298 | td.visible-xs.visible-md { 6299 | display: table-cell !important; 6300 | } 6301 | } 6302 | 6303 | @media (min-width: 1200px) { 6304 | .visible-xs.visible-lg { 6305 | display: block !important; 6306 | } 6307 | tr.visible-xs.visible-lg { 6308 | display: table-row !important; 6309 | } 6310 | th.visible-xs.visible-lg, 6311 | td.visible-xs.visible-lg { 6312 | display: table-cell !important; 6313 | } 6314 | } 6315 | 6316 | .visible-sm { 6317 | display: none !important; 6318 | } 6319 | 6320 | tr.visible-sm { 6321 | display: none !important; 6322 | } 6323 | 6324 | th.visible-sm, 6325 | td.visible-sm { 6326 | display: none !important; 6327 | } 6328 | 6329 | @media (max-width: 767px) { 6330 | .visible-sm.visible-xs { 6331 | display: block !important; 6332 | } 6333 | tr.visible-sm.visible-xs { 6334 | display: table-row !important; 6335 | } 6336 | th.visible-sm.visible-xs, 6337 | td.visible-sm.visible-xs { 6338 | display: table-cell !important; 6339 | } 6340 | } 6341 | 6342 | @media (min-width: 768px) and (max-width: 991px) { 6343 | .visible-sm { 6344 | display: block !important; 6345 | } 6346 | tr.visible-sm { 6347 | display: table-row !important; 6348 | } 6349 | th.visible-sm, 6350 | td.visible-sm { 6351 | display: table-cell !important; 6352 | } 6353 | } 6354 | 6355 | @media (min-width: 992px) and (max-width: 1199px) { 6356 | .visible-sm.visible-md { 6357 | display: block !important; 6358 | } 6359 | tr.visible-sm.visible-md { 6360 | display: table-row !important; 6361 | } 6362 | th.visible-sm.visible-md, 6363 | td.visible-sm.visible-md { 6364 | display: table-cell !important; 6365 | } 6366 | } 6367 | 6368 | @media (min-width: 1200px) { 6369 | .visible-sm.visible-lg { 6370 | display: block !important; 6371 | } 6372 | tr.visible-sm.visible-lg { 6373 | display: table-row !important; 6374 | } 6375 | th.visible-sm.visible-lg, 6376 | td.visible-sm.visible-lg { 6377 | display: table-cell !important; 6378 | } 6379 | } 6380 | 6381 | .visible-md { 6382 | display: none !important; 6383 | } 6384 | 6385 | tr.visible-md { 6386 | display: none !important; 6387 | } 6388 | 6389 | th.visible-md, 6390 | td.visible-md { 6391 | display: none !important; 6392 | } 6393 | 6394 | @media (max-width: 767px) { 6395 | .visible-md.visible-xs { 6396 | display: block !important; 6397 | } 6398 | tr.visible-md.visible-xs { 6399 | display: table-row !important; 6400 | } 6401 | th.visible-md.visible-xs, 6402 | td.visible-md.visible-xs { 6403 | display: table-cell !important; 6404 | } 6405 | } 6406 | 6407 | @media (min-width: 768px) and (max-width: 991px) { 6408 | .visible-md.visible-sm { 6409 | display: block !important; 6410 | } 6411 | tr.visible-md.visible-sm { 6412 | display: table-row !important; 6413 | } 6414 | th.visible-md.visible-sm, 6415 | td.visible-md.visible-sm { 6416 | display: table-cell !important; 6417 | } 6418 | } 6419 | 6420 | @media (min-width: 992px) and (max-width: 1199px) { 6421 | .visible-md { 6422 | display: block !important; 6423 | } 6424 | tr.visible-md { 6425 | display: table-row !important; 6426 | } 6427 | th.visible-md, 6428 | td.visible-md { 6429 | display: table-cell !important; 6430 | } 6431 | } 6432 | 6433 | @media (min-width: 1200px) { 6434 | .visible-md.visible-lg { 6435 | display: block !important; 6436 | } 6437 | tr.visible-md.visible-lg { 6438 | display: table-row !important; 6439 | } 6440 | th.visible-md.visible-lg, 6441 | td.visible-md.visible-lg { 6442 | display: table-cell !important; 6443 | } 6444 | } 6445 | 6446 | .visible-lg { 6447 | display: none !important; 6448 | } 6449 | 6450 | tr.visible-lg { 6451 | display: none !important; 6452 | } 6453 | 6454 | th.visible-lg, 6455 | td.visible-lg { 6456 | display: none !important; 6457 | } 6458 | 6459 | @media (max-width: 767px) { 6460 | .visible-lg.visible-xs { 6461 | display: block !important; 6462 | } 6463 | tr.visible-lg.visible-xs { 6464 | display: table-row !important; 6465 | } 6466 | th.visible-lg.visible-xs, 6467 | td.visible-lg.visible-xs { 6468 | display: table-cell !important; 6469 | } 6470 | } 6471 | 6472 | @media (min-width: 768px) and (max-width: 991px) { 6473 | .visible-lg.visible-sm { 6474 | display: block !important; 6475 | } 6476 | tr.visible-lg.visible-sm { 6477 | display: table-row !important; 6478 | } 6479 | th.visible-lg.visible-sm, 6480 | td.visible-lg.visible-sm { 6481 | display: table-cell !important; 6482 | } 6483 | } 6484 | 6485 | @media (min-width: 992px) and (max-width: 1199px) { 6486 | .visible-lg.visible-md { 6487 | display: block !important; 6488 | } 6489 | tr.visible-lg.visible-md { 6490 | display: table-row !important; 6491 | } 6492 | th.visible-lg.visible-md, 6493 | td.visible-lg.visible-md { 6494 | display: table-cell !important; 6495 | } 6496 | } 6497 | 6498 | @media (min-width: 1200px) { 6499 | .visible-lg { 6500 | display: block !important; 6501 | } 6502 | tr.visible-lg { 6503 | display: table-row !important; 6504 | } 6505 | th.visible-lg, 6506 | td.visible-lg { 6507 | display: table-cell !important; 6508 | } 6509 | } 6510 | 6511 | .hidden-xs { 6512 | display: block !important; 6513 | } 6514 | 6515 | tr.hidden-xs { 6516 | display: table-row !important; 6517 | } 6518 | 6519 | th.hidden-xs, 6520 | td.hidden-xs { 6521 | display: table-cell !important; 6522 | } 6523 | 6524 | @media (max-width: 767px) { 6525 | .hidden-xs { 6526 | display: none !important; 6527 | } 6528 | tr.hidden-xs { 6529 | display: none !important; 6530 | } 6531 | th.hidden-xs, 6532 | td.hidden-xs { 6533 | display: none !important; 6534 | } 6535 | } 6536 | 6537 | @media (min-width: 768px) and (max-width: 991px) { 6538 | .hidden-xs.hidden-sm { 6539 | display: none !important; 6540 | } 6541 | tr.hidden-xs.hidden-sm { 6542 | display: none !important; 6543 | } 6544 | th.hidden-xs.hidden-sm, 6545 | td.hidden-xs.hidden-sm { 6546 | display: none !important; 6547 | } 6548 | } 6549 | 6550 | @media (min-width: 992px) and (max-width: 1199px) { 6551 | .hidden-xs.hidden-md { 6552 | display: none !important; 6553 | } 6554 | tr.hidden-xs.hidden-md { 6555 | display: none !important; 6556 | } 6557 | th.hidden-xs.hidden-md, 6558 | td.hidden-xs.hidden-md { 6559 | display: none !important; 6560 | } 6561 | } 6562 | 6563 | @media (min-width: 1200px) { 6564 | .hidden-xs.hidden-lg { 6565 | display: none !important; 6566 | } 6567 | tr.hidden-xs.hidden-lg { 6568 | display: none !important; 6569 | } 6570 | th.hidden-xs.hidden-lg, 6571 | td.hidden-xs.hidden-lg { 6572 | display: none !important; 6573 | } 6574 | } 6575 | 6576 | .hidden-sm { 6577 | display: block !important; 6578 | } 6579 | 6580 | tr.hidden-sm { 6581 | display: table-row !important; 6582 | } 6583 | 6584 | th.hidden-sm, 6585 | td.hidden-sm { 6586 | display: table-cell !important; 6587 | } 6588 | 6589 | @media (max-width: 767px) { 6590 | .hidden-sm.hidden-xs { 6591 | display: none !important; 6592 | } 6593 | tr.hidden-sm.hidden-xs { 6594 | display: none !important; 6595 | } 6596 | th.hidden-sm.hidden-xs, 6597 | td.hidden-sm.hidden-xs { 6598 | display: none !important; 6599 | } 6600 | } 6601 | 6602 | @media (min-width: 768px) and (max-width: 991px) { 6603 | .hidden-sm { 6604 | display: none !important; 6605 | } 6606 | tr.hidden-sm { 6607 | display: none !important; 6608 | } 6609 | th.hidden-sm, 6610 | td.hidden-sm { 6611 | display: none !important; 6612 | } 6613 | } 6614 | 6615 | @media (min-width: 992px) and (max-width: 1199px) { 6616 | .hidden-sm.hidden-md { 6617 | display: none !important; 6618 | } 6619 | tr.hidden-sm.hidden-md { 6620 | display: none !important; 6621 | } 6622 | th.hidden-sm.hidden-md, 6623 | td.hidden-sm.hidden-md { 6624 | display: none !important; 6625 | } 6626 | } 6627 | 6628 | @media (min-width: 1200px) { 6629 | .hidden-sm.hidden-lg { 6630 | display: none !important; 6631 | } 6632 | tr.hidden-sm.hidden-lg { 6633 | display: none !important; 6634 | } 6635 | th.hidden-sm.hidden-lg, 6636 | td.hidden-sm.hidden-lg { 6637 | display: none !important; 6638 | } 6639 | } 6640 | 6641 | .hidden-md { 6642 | display: block !important; 6643 | } 6644 | 6645 | tr.hidden-md { 6646 | display: table-row !important; 6647 | } 6648 | 6649 | th.hidden-md, 6650 | td.hidden-md { 6651 | display: table-cell !important; 6652 | } 6653 | 6654 | @media (max-width: 767px) { 6655 | .hidden-md.hidden-xs { 6656 | display: none !important; 6657 | } 6658 | tr.hidden-md.hidden-xs { 6659 | display: none !important; 6660 | } 6661 | th.hidden-md.hidden-xs, 6662 | td.hidden-md.hidden-xs { 6663 | display: none !important; 6664 | } 6665 | } 6666 | 6667 | @media (min-width: 768px) and (max-width: 991px) { 6668 | .hidden-md.hidden-sm { 6669 | display: none !important; 6670 | } 6671 | tr.hidden-md.hidden-sm { 6672 | display: none !important; 6673 | } 6674 | th.hidden-md.hidden-sm, 6675 | td.hidden-md.hidden-sm { 6676 | display: none !important; 6677 | } 6678 | } 6679 | 6680 | @media (min-width: 992px) and (max-width: 1199px) { 6681 | .hidden-md { 6682 | display: none !important; 6683 | } 6684 | tr.hidden-md { 6685 | display: none !important; 6686 | } 6687 | th.hidden-md, 6688 | td.hidden-md { 6689 | display: none !important; 6690 | } 6691 | } 6692 | 6693 | @media (min-width: 1200px) { 6694 | .hidden-md.hidden-lg { 6695 | display: none !important; 6696 | } 6697 | tr.hidden-md.hidden-lg { 6698 | display: none !important; 6699 | } 6700 | th.hidden-md.hidden-lg, 6701 | td.hidden-md.hidden-lg { 6702 | display: none !important; 6703 | } 6704 | } 6705 | 6706 | .hidden-lg { 6707 | display: block !important; 6708 | } 6709 | 6710 | tr.hidden-lg { 6711 | display: table-row !important; 6712 | } 6713 | 6714 | th.hidden-lg, 6715 | td.hidden-lg { 6716 | display: table-cell !important; 6717 | } 6718 | 6719 | @media (max-width: 767px) { 6720 | .hidden-lg.hidden-xs { 6721 | display: none !important; 6722 | } 6723 | tr.hidden-lg.hidden-xs { 6724 | display: none !important; 6725 | } 6726 | th.hidden-lg.hidden-xs, 6727 | td.hidden-lg.hidden-xs { 6728 | display: none !important; 6729 | } 6730 | } 6731 | 6732 | @media (min-width: 768px) and (max-width: 991px) { 6733 | .hidden-lg.hidden-sm { 6734 | display: none !important; 6735 | } 6736 | tr.hidden-lg.hidden-sm { 6737 | display: none !important; 6738 | } 6739 | th.hidden-lg.hidden-sm, 6740 | td.hidden-lg.hidden-sm { 6741 | display: none !important; 6742 | } 6743 | } 6744 | 6745 | @media (min-width: 992px) and (max-width: 1199px) { 6746 | .hidden-lg.hidden-md { 6747 | display: none !important; 6748 | } 6749 | tr.hidden-lg.hidden-md { 6750 | display: none !important; 6751 | } 6752 | th.hidden-lg.hidden-md, 6753 | td.hidden-lg.hidden-md { 6754 | display: none !important; 6755 | } 6756 | } 6757 | 6758 | @media (min-width: 1200px) { 6759 | .hidden-lg { 6760 | display: none !important; 6761 | } 6762 | tr.hidden-lg { 6763 | display: none !important; 6764 | } 6765 | th.hidden-lg, 6766 | td.hidden-lg { 6767 | display: none !important; 6768 | } 6769 | } 6770 | 6771 | .visible-print { 6772 | display: none !important; 6773 | } 6774 | 6775 | tr.visible-print { 6776 | display: none !important; 6777 | } 6778 | 6779 | th.visible-print, 6780 | td.visible-print { 6781 | display: none !important; 6782 | } 6783 | 6784 | @media print { 6785 | .visible-print { 6786 | display: block !important; 6787 | } 6788 | tr.visible-print { 6789 | display: table-row !important; 6790 | } 6791 | th.visible-print, 6792 | td.visible-print { 6793 | display: table-cell !important; 6794 | } 6795 | .hidden-print { 6796 | display: none !important; 6797 | } 6798 | tr.hidden-print { 6799 | display: none !important; 6800 | } 6801 | th.hidden-print, 6802 | td.hidden-print { 6803 | display: none !important; 6804 | } 6805 | } 6806 | -------------------------------------------------------------------------------- /bench/bench.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |An overview of Bootstrap, how to download and use, basic templates and examples, and more.
92 |There are a few easy ways to quickly get started with Bootstrap, each one appealing to a different skill level and use case. Read through to see what suits your particular needs.
171 | 172 |The fastest way to get Bootstrap is to download the compiled and minified versions of our CSS and JavaScript, along with the included fonts. No documentation or original source files are included.
174 | 175 | 176 |The folks over at NetDNA have graciously provided CDN support for Bootstrap's CSS and JavaScript. To use, swap your local instances for the Bootstrap CDN links listed below.
196 |<!-- Latest compiled and minified CSS -->
197 | <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css">
198 |
199 | <!-- Optional theme -->
200 | <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-theme.min.css">
201 |
202 | <!-- Latest compiled and minified JavaScript -->
203 | <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
204 |
Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations.
221 |Once downloaded, unzip the compressed folder to see the structure of (the compiled) Bootstrap. You'll see something like this:
222 | 223 |bootstrap/
224 | ├── css/
225 | │ ├── bootstrap.css
226 | │ ├── bootstrap.min.css
227 | │ ├── bootstrap-theme.css
228 | │ ├── bootstrap-theme.min.css
229 | ├── js/
230 | │ ├── bootstrap.js
231 | │ ├── bootstrap.min.js
232 | └── fonts/
233 | ├── glyphicons-halflings-regular.eot
234 | ├── glyphicons-halflings-regular.svg
235 | ├── glyphicons-halflings-regular.ttf
236 | └── glyphicons-halflings-regular.woff
237 |
This is the most basic form of Bootstrap: compiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (bootstrap.*
), as well as compiled and minified CSS and JS (bootstrap.min.*
). Fonts from Glyphicons are included, as is the optional Bootstrap theme.
Please note that all JavaScript plugins require jQuery to be included, as shown in the starter template.
243 |Make use of a super basic HTML template, or dive into a few examples we've started for you. We encourage folks to iterate on these examples and not simply use them as an end result.
255 | 256 |Copy and paste the HTML from below to get started with a bare bones Bootstrap document.
257 |<!DOCTYPE html>
258 | <html>
259 | <head>
260 | <title>Bootstrap 101 Template</title>
261 | <meta name="viewport" content="width=device-width, initial-scale=1.0">
262 | <!-- Bootstrap -->
263 | <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
264 |
265 | <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
266 | <!--[if lt IE 9]>
267 | <script src="../../assets/js/html5shiv.js"></script>
268 | <script src="../../assets/js/respond.min.js"></script>
269 | <![endif]-->
270 | </head>
271 | <body>
272 | <h1>Hello, world!</h1>
273 |
274 | <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
275 | <script src="//code.jquery.com/jquery.js"></script>
276 | <!-- Include all compiled plugins (below), or include individual files as needed -->
277 | <script src="js/bootstrap.min.js"></script>
278 | </body>
279 | </html>
280 |
Build on the basic template above with Bootstrap's many components. Check out some of the more advanced tips for how to customize and build on top of them.
292 | 293 |Nothing but the basics: compiled CSS and JavaScript along with a container.
300 |Multiple examples of grid layouts with all four tiers, nesting, and more.
307 |Build around the jumbotron with a navbar and some basic grid columns.
316 |Build a more custom page by narrowing the default container and jumbotron.
323 |Super basic template that includes the navbar along with some additional content.
332 |Super basic template with a static top navbar along with some additional content.
339 |Super basic template with a fixed top navbar along with some additional content.
348 |Custom form layout and design for a simple sign in form.
355 |Attach a footer to the bottom of the viewport when the content is shorter than it.
364 |Attach a footer to the bottom of the viewport with a fixed navbar at the top.
371 |Expand on the default navbar and more to create justified navigation links.
380 |Build a toggleable off-canvas navigation menu for use with Bootstrap.
387 |Customize the navbar and carousel, then add some new components.
396 |Easily disable the responsiveness of Bootstrap per our docs.
403 |Load the optional Bootstrap theme for a visually enhanced experience.
412 |Don't want your site or application to be scaled on different devices? With a little bit of work, you can disable the responsive features of Bootstrap so that mobile users see your full desktop-version site. Read below or check out the non-responsive example.
426 | 427 |To disable responsive features, follow these steps. See it in action in the modified template below.
429 |<meta>
mentioned in the CSS docsmax-width
on the .container
for all grid tiers with max-width: none !important;
and set a regular width like width: 970px;
. Be sure that this comes after the default Bootstrap CSS. You can optionally avoid the !important
with media queries or some selector-fu..col-xs-*
classes in addition to or in place of the medium/large ones. Don't worry, the extra-small device grid scales up to all resolutions, so you're set there.You'll still need Respond.js for IE8 (since our media queries are still there and need to be picked up). This just disables the "mobile site" of Bootstrap.
436 | 437 |We've taken the above steps and applied them to an example. Read it's source code to see the specific changes called out.
439 |440 | View non-responsive example 441 |
442 |Folks looking to upgrade to v3 should use this section as a general upgrade guide. We've outlined some of the major changes and provided tables that highlight key changes. For an overview, read the announcement blog post.
453 | 454 | 455 |Reference table for classes that have changed between v2.x and v3.0.
457 |Bootstrap 2.x | 462 |Bootstrap 3.0 | 463 |
---|---|
.container-fluid |
468 | .container |
469 |
.row-fluid |
472 | .row |
473 |
.span* |
476 | .col-md-* |
477 |
.offset* |
480 | .col-md-offset-* |
481 |
.brand |
484 | .navbar-brand |
485 |
.nav-collapse |
488 | .navbar-collapse |
489 |
.nav-toggle |
492 | .navbar-toggle |
493 |
.btn-navbar |
496 | .navbar-btn |
497 |
.hero-unit |
500 | .jumbotron |
501 |
.icon-* |
504 | .glyphicon .glyphicon-* |
505 |
.btn |
508 | .btn .btn-default |
509 |
.btn-mini |
512 | .btn-xs |
513 |
.btn-small |
516 | .btn-sm |
517 |
.btn-large |
520 | .btn-lg |
521 |
.visible-phone |
524 | .visible-sm |
525 |
.visible-tablet |
528 | .visible-md |
529 |
.visible-desktop |
532 | .visible-lg |
533 |
.hidden-phone |
536 | .hidden-sm |
537 |
.hidden-tablet |
540 | .hidden-md |
541 |
.hidden-desktop |
544 | .hidden-lg |
545 |
.input-small |
548 | .input-sm |
549 |
.input-large |
552 | .input-lg |
553 |
.checkbox.inline .radio.inline |
556 | .checkbox-inline .radio-inline |
557 |
.input-prepend .input-append |
560 | .input-group |
561 |
.add-on |
564 | .input-group-addon |
565 |
.thumbnail |
568 | .img-thumbnail |
569 |
ul.unstyled |
572 | .list-unstyled |
573 |
ul.inline |
576 | .list-inline |
577 |
We've added a few new elements and changed some existing ones. Here's their new or updated classes.
585 |Element | 590 |Description | 591 |
---|---|
Panels | 596 |.panel .panel-default .panel-body .panel-title .panel-heading .panel-footer .panel-collapse |
597 |
List groups | 600 |.list-group .list-group-item .list-group-item-text .list-group-item-heading |
601 |
Glyphicons | 604 |.glyphicon |
605 |
Jumbotron | 608 |.jumbotron |
609 |
Tiny grid (<768 px) | 612 |.col-xs-* |
613 |
Small grid (>768 px) | 616 |.col-sm-* |
617 |
Medium grid (>992 px) | 620 |.col-md-* |
621 |
Large grid (>1200 px) | 624 |.col-lg-* |
625 |
Offsets | 628 |.col-sm-offset-* .col-md-offset-* .col-lg-offset-* |
629 |
Push | 632 |.col-sm-push-* .col-md-push-* .col-lg-push-* |
633 |
Pull | 636 |.col-sm-pull-* .col-md-pull-* .col-lg-pull-* |
637 |
Input groups | 640 |.input-group .input-group-addon .input-group-btn |
641 |
Form controls | 644 |.form-control .form-group |
645 |
Button group sizes | 648 |.btn-group-xs .btn-group-sm .btn-group-lg |
649 |
Navbar text | 652 |.navbar-text |
653 |
Navbar header | 656 |.navbar-header |
657 |
Justified tabs / pills | 660 |.nav-justified |
661 |
Responsive images | 664 |.img-responsive |
665 |
Contextual table rows | 668 |.success .danger .warning .active |
669 |
Contextual panels | 672 |.panel-success .panel-danger .panel-warning .panel-info |
673 |
Modal | 676 |.modal-dialog .modal-content |
677 |
Thumbnail image | 680 |.img-thumbnail |
681 |
Well sizes | 684 |.well-sm .well-lg |
685 |
Alert links | 688 |.alert-link |
689 |
The following elements have been dropped or changed in v3.
697 |Element | 702 |Removed from 2.x | 703 |3.0 Equivalent | 704 |
---|---|---|
Form actions | 709 |.form-actions |
710 | N/A | 711 |
Search form | 714 |.form-search |
715 | N/A | 716 |
Fluid container | 719 |.container-fluid |
720 | .container (no more fixed grid) |
721 |
Fluid row | 724 |.row-fluid |
725 | .row (no more fixed grid) |
726 |
Navbar inner | 729 |.navbar-inner |
730 | N/A | 731 |
Dropdown submenu | 734 |.dropdown-submenu |
735 | N/A | 736 |
Tab alignments | 739 |.tabs-left .tabs-right .tabs-below |
740 | N/A | 741 |
We've made many underlying changes in v3 that are not immediately apparent. Base classes, key styles, and behaviors have been adjusted for flexibility and our mobile first approach.
749 |<div class="col-*"></div>
to control input widths..badge
no longer has contextual (-success,-primary,etc..) classes..btn
must also use .btn-default
to get the "default" button..container
and .row
are now fluid (percentage-based)..img-responsive
for fluid <img>
size..glyphicon
, are now font based. They also require a base and icon class (e.g. .glyphicon .glyphicon-asterisk
)..modal-header
, .modal-body
, and .modal-footer
sections now get wrapped in .modal-content
and .modal-dialog
for improved mobile styling and behavior.'show.bs.modal'
. For tabs "shown" use 'shown.bs.tab'
, etc..For more information on upgrades and code snippets from the community check out Bootply.
761 |Bootstrap is built to work best in the latest desktop and mobile browsers, meaning older and less advanced browsers might receive a less stylized, though fully functional, version of certain components.
772 | 773 |Specifically, we support the latest versions of the following:
775 |Unofficially, Bootstrap should look and behave well enough in Chromium for Linux and Internet Explorer 7, though they are not officially supported.
783 | 784 |Internet Explorer 8 and 9 are also supported, however, please be aware that many CSS3 properties—e.g., rounded corners and shadows—are not supported by IE8. The placeholder
attribute is also not supported in either of these versions.
In addition, Internet Explorer 8 requires the use of respond.js to enable media query support.
787 | 788 |Bootstrap is not supported in the old Internet Explorer compatibility modes. To be sure you're using the latest rendering mode for IE, consider including the appropriate <meta>
tag in your pages:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
791 |
See this StackOverflow question for more information.
793 | 794 |Internet Explorer 10 doesn't differentiate device width from viewport width, and thus doesn't properly apply the media queries in Bootstrap's CSS. To address this, you can optionally include the following CSS and JavaScript to work around this problem until Microsoft issues a fix.
796 |@-webkit-viewport { width: device-width; }
797 | @-moz-viewport { width: device-width; }
798 | @-ms-viewport { width: device-width; }
799 | @-o-viewport { width: device-width; }
800 | @viewport { width: device-width; }
801 |
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
804 | var msViewportStyle = document.createElement("style")
805 | msViewportStyle.appendChild(
806 | document.createTextNode(
807 | "@-ms-viewport{width:auto!important}"
808 | )
809 | )
810 | document.getElementsByTagName("head")[0].appendChild(msViewportStyle)
811 | }
812 |
For more information and usage guidelines, read Windows Phone 8 and Device-Width.
814 | 815 |In the latest Safari for Mac, its rendering engine has a little trouble with the long decimal places of our .col-*-1
grid classes, meaning if you have 12 individual columns you'll notice they come up short compared to other rows of columns. There's not much we can do here (see #9282) but you do have some options:
.pull-right
to your last grid column to get the hard-right alignmentWe'll keep an eye on this though and update our code if we have an easy solution.
822 | 823 |Support for overflow: hidden
on the <body>
element is quite limited in iOS and Android. To that end, when you scroll past the top or bottom of a modal in either of those devices' browsers, the <body>
content will begin to scroll.
Also, note that if you're using inputs in your modal – iOS has a rendering bug which doesn't update the position of fixed elements when the virtual keyboard is triggered. There are a few work arounds for this, including transforming your elements to position: absolute
or invoking a timer on focus to try to correct the positioning manually. This is not handled by Bootstrap, so it is up to you to decide which solution is best for your application.
Page zooming inevitably presents rendering artifacts in some components, both in Bootstrap and the rest of the web. Depending on the issue, we may be able to fix it (search first and then open an issue if need be). However, we tend to ignore these as they often have no direct solution other than hacky workarounds.
831 |While we don't officially support any third party plugins or add-ons, we do offer some useful advice to help avoid potential issues in your projects.
842 | 843 |If you're using Google Maps on a Bootstrapped project, you might run into some display problems due to our use of * { box-sizing: border-box; }
. Previously, you may have also ran into issues with the use of max-width
on images. The following snippet should avoid all those problems.
/* Fix Google Maps canvas
846 | *
847 | * Wrap your Google Maps embed in a `.google-map-canvas` to reset Bootstrap's
848 | * global `box-sizing` changes. You may optionally need to reset the `max-width`
849 | * on images in case you've applied that anywhere else. (That shouldn't be as
850 | * necessary with Bootstrap 3 though as that behavior is relegated to the
851 | * `.img-responsive` class.)
852 | */
853 |
854 | .google-map-canvas,
855 | .google-map-canvas * { .box-sizing(content-box); }
856 |
857 | /* Optional responsive image override */
858 | img { max-width: none; }
859 |
Bootstrap follows common web standards, and with minimal extra effort, can be used to create sites that are accessibile to those using AT.
871 | 872 |If your navigation contains many links and comes before the main content in the DOM, add a Skip to content
link immediately after your opening <body>
tag. (read why)
<body>
875 | <a href="#content" class="sr-only">Skip to content</a>
876 | <div class="container" id="content">
877 | The main page content.
878 | </div>
879 | </body>
880 |
Another "gotcha" has to do with how you nest your <header>
elements. Section 508 states that your largest header must be an h1
, and the next header must be an <h2>
, etc. This is hard to achieve in practice, but if the largest header on your site is smaller than Bootstrap's default 38px, you should consider modifying your stylesheets before using a smaller header element.
Bootstrap is released under the Apache 2 license and is copyright 2013 Twitter. Boiled down to smaller chunks, it can be described with the following conditions.
902 | 903 |The full Bootstrap license is located in the project repository for more information.
937 |Customizing Bootstrap is best accomplished when you treat it as another dependency in your development stack. Doing so ensures future upgrades are as easy as possible while also familiarizing yourself to the intricacies of the framework.
947 | 948 |Once you've downloaded and included Bootstrap's CSS into your templates, you can move on to customizing the included components. To do so, create a new stylesheet (LESS, if you like, or just plain CSS) to house your customizations.
949 | 950 |Unless you plan on reading a good chunk of the compiled CSS, go with the minified. It's the same code, just compacted. Less bandwidth is good, especially in production environments.
953 |From there, include whatever Bootstrap components and HTML content you need to get your template setup. It's best to have a rough idea in mind of modifications to make and content to include, so be sure to spend a brief amount of time on that before moving on.
956 | 957 |There are varying degrees to customizing components, but most fall into two camps: light customizations and complete visual overhauls. Luckily, there are plenty of examples of both.
959 |We define light customizations as mostly surface layer changes, things like a color and font changes to existing Bootstrap components. A great example of this is the the Twitter Translation Center (coded by @mdo). Let's look at how to implement the custom button we wrote for this site, .btn-ttc
.
Instead of using the provided Bootstrap buttons, which only require just one class to start, .btn
, we'll add our own modifier class, .btn-ttc
. This will give us a slightly custom look with minimal effort.
<button type="button" class="btn btn-ttc">Save changes</button>
962 |
In the custom stylesheet, add the following CSS:
965 | 966 |/* Custom button
967 | -------------------------------------------------- */
968 |
969 | /* Override base .btn styles */
970 | /* Apply text and background changes to three key states: default, hover, and active (click). */
971 | .btn-ttc,
972 | .btn-ttc:hover,
973 | .btn-ttc:active {
974 | color: white;
975 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
976 | background-color: #007da7;
977 | }
978 |
979 | /* Apply the custom-colored gradients */
980 | /* Note: you'll need to include all the appropriate gradients for various browsers and standards. */
981 | .btn-ttc {
982 | background-repeat: repeat-x;
983 | background-image: linear-gradient(top, #009ED2 0%, #007DA7 100%);
984 | ...
985 | }
986 |
987 | /* Set the hover state */
988 | /* An easy hover state is just to move the gradient up a small amount. Add other embellishments as you see fit. */
989 | .btn-ttc:hover {
990 | background-position: 0 -15px;
991 | }
992 |
Customizing Bootstrap components takes time, but should be straightforward. Look to the source code often and duplicate the selectors you need for your modifications. Placing them after the Bootstrap source makes for easy overriding without complication. To recap, here's the basic workflow:
995 |.navbar
.!important
here.Going beyond light customizations and into visual overhauls is just as straightforward as the above custom button. For a site like Karma, which uses Bootstrap as a CSS reset with heavy modifications, more extensive work is involved, but well worth it in the end.
1001 | 1002 |While not recommended for folks new to Bootstrap, you may use one of two alternate methods for customization. The first is modifying the source .less files (making upgrades super difficult), and the second is mapping source LESS code to your own classes via mixins. For the time being, neither of those options are documented here.
1005 |Not all sites and applications need to make use of everything Bootstrap has to offer, especially in production environments where bandwidth literally becomes a financial issue. We encourage folks to remove whatever is unused with our Customizer.
1009 |Using the Customizer, simply uncheck any component, feature, or asset you don't need. Hit download and swap out the default Bootstrap files with these newly customized ones. You'll get vanilla Bootstrap, but without the features *you* deem unnecessary. All custom builds include compiled and minified versions, so use whichever works for you.
1010 | 1011 |Hello World
"; 8 | var eliminate = eliminator(html); 9 | 10 | var ast = eliminate(parse(css)) 11 | console.log(stringify(ast)); 12 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | // jshint node:true 2 | "use strict"; 3 | 4 | var htmlparser = require("htmlparser2"), 5 | select = require("CSSselect").selectOne; 6 | 7 | module.exports = function(html, options) { 8 | // Create an eliminate function that will alter an AST rule node to 9 | // eliminate dead code 10 | var eliminate = eliminator(html, options); 11 | 12 | return function(style) { 13 | walkRules(style.stylesheet, eliminate); 14 | return style; 15 | }; 16 | }; 17 | 18 | // Create a function that will eliminate dead code from rules 19 | function eliminator(html, options) { 20 | var dom = parseDOM(html); 21 | 22 | return function(rule) { 23 | // Remove any selectors that don't appear in the document 24 | rule.selectors = rule.selectors.filter(function(selector) { 25 | return filter(selector) || isInDocument(selector); 26 | }); 27 | 28 | // Remove declarations if there are no selectors 29 | if (rule.selectors.length === 0) { 30 | rule.declarations = []; 31 | } 32 | }; 33 | 34 | function filter(selector) { 35 | return options && options.filter && options.filter(selector); 36 | } 37 | 38 | function isInDocument(selector) { 39 | selector = stripPseudos(selector); 40 | try { 41 | // Return true if this selector matched 42 | return select(selector, dom); 43 | } 44 | catch (e) { 45 | // If the selector was not valid or there was another error 46 | // assume the selector is not dead 47 | } 48 | } 49 | } 50 | 51 | // Sync htmlparser parser 52 | function parseDOM(html) { 53 | // Since we already have html string and are going to call parser.done() 54 | // in a sync manner, we can just turn the parsing into a sync call. 55 | var dom, err; 56 | var parser = new htmlparser.Parser( 57 | new htmlparser.DomHandler(function(err2, dom2) { 58 | // This function will be called on 59 | err = err2; 60 | dom = dom2; 61 | }) 62 | ); 63 | parser.write(html); 64 | parser.done(); 65 | if (err) throw err; 66 | return dom; 67 | } 68 | 69 | // Remove any pseudo classes or elements from the selector 70 | // @TODO We may want to keep some pseudo classes (e.g., :nth-child()) 71 | var stripPseudos = (function() { 72 | var parseCSS = require("slick").parse, 73 | forEach = Array.prototype.forEach; 74 | 75 | return function(selector) { 76 | var expressions = parseCSS(selector); 77 | forEach.call(expressions, function(expression) { 78 | forEach.call(expression, function(part) { 79 | part.pseudos = null; 80 | }); 81 | }); 82 | return expressions.toString(); 83 | }; 84 | })(); 85 | 86 | // ## Walk Rules 87 | // Walk all rule nodes in the given css ast, calling a function for each rule 88 | // node 89 | 90 | var walk = require("rework-walk"); 91 | 92 | function walkRules(node, fn) { 93 | walk(node, function(node) { 94 | if (isRealRule(node)) { 95 | fn(node); 96 | } 97 | }); 98 | } 99 | 100 | // Make sure the node is a rule and not a media query 101 | function isRealRule(node) { 102 | return node.type === "rule" && 103 | ! (node.selectors.length === 1 && node.selectors[0][0] === "@"); 104 | } 105 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "css-eliminator", 3 | "version": "1.0.1", 4 | "description": "CSS dead code elimination", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "node test.js", 8 | "bench": "node bench" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git@github.com:parshap/css-eliminator.git" 13 | }, 14 | "keywords": [ 15 | "css", 16 | "rework", 17 | "dead code" 18 | ], 19 | "author": "Parsha Pourkhomami", 20 | "license": "Public Domain", 21 | "bugs": { 22 | "url": "https://github.com/parshap/css-eliminator/issues" 23 | }, 24 | "dependencies": { 25 | "slick": "~1.10.3", 26 | "htmlparser2": "~3.4.0", 27 | "CSSselect": "~0.4.0", 28 | "rework-walk": "~1.0.0" 29 | }, 30 | "devDependencies": { 31 | "css": "^2.1.0", 32 | "tape": "^3.0.3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | // jshint node:true 2 | "use strict"; 3 | 4 | var test = require("tape"); 5 | var parse = require("css").parse; 6 | var stringify = require("css").stringify; 7 | var eliminator = require("./"); 8 | 9 | function e(css, html, options) { 10 | var eliminate = eliminator(html, options); 11 | return stringify(eliminate(parse(css)), { compress: true }); 12 | } 13 | 14 | test("empty dom", function(t) { 15 | t.equal(e("a { color: red }", ""), ""); 16 | t.end(); 17 | }); 18 | 19 | test("simple", function(t) { 20 | t.equal(e("a { color: red; } b { color: red; } a { color: blue; }", 21 | ""), 22 | "a{color:red;}a{color:blue;}"); 23 | t.end(); 24 | }); 25 | 26 | test("media query", function(t) { 27 | var CSS = "@media (min-width: 40px){a{color:red;}}", 28 | HTML = ""; 29 | t.equal(e(CSS, HTML), CSS); 30 | t.end(); 31 | }); 32 | 33 | test("media query dead", function(t) { 34 | var CSS = "@media (min-width: 40px){b{color:red;}}", 35 | HTML = "", 36 | CSS_EXPECTED = "@media (min-width: 40px){}"; 37 | t.equal(e(CSS, HTML), CSS_EXPECTED); 38 | t.end(); 39 | }); 40 | 41 | test("pseudo element", function(t) { 42 | var CSS = "a::after{color:red;}", 43 | HTML = ""; 44 | t.equal(e(CSS, HTML), CSS); 45 | t.end(); 46 | }); 47 | 48 | test("pseudo selector", function(t) { 49 | var CSS = "a:hover{color:red;}", 50 | HTML = ""; 51 | t.equal(e(CSS, HTML), CSS); 52 | t.end(); 53 | }); 54 | 55 | test("multiline", function(t) { 56 | var HTML = ""; 57 | 58 | var CSS = 59 | "a { color: red; }\n" + 60 | "a:hover {\n" + 61 | " font-weight: bolder;\n" + 62 | "}\n" + 63 | "b { color: blue; }\n" + 64 | "a.foo { color: pink; }\n"; 65 | 66 | var EXPECTED_CSS = 67 | "a{color:red;}" + 68 | "a:hover{" + 69 | "font-weight:bolder;}"; 70 | 71 | t.equal(e(CSS, HTML), EXPECTED_CSS); 72 | t.end(); 73 | }); 74 | 75 | test("filter function", function(t) { 76 | var CSS = "a{color:red;} b{color: green;} c{color: blue;}", 77 | HTML = "", 78 | CSS_EXPECTED = "a{color:red;}b{color:green;}"; 79 | var options = { filter: filter }; 80 | t.equal(e(CSS, HTML, options), CSS_EXPECTED); 81 | t.end(); 82 | 83 | function filter(selector) { 84 | return selector === "b"; 85 | } 86 | }); 87 | --------------------------------------------------------------------------------