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