40 |
41 | ## To-Do
42 |
43 | This theme is still unfinished. If you'd like to be added as a contributor, [please fork](http://github.com/plusjade/jekyll-bootstrap)!
44 | We need to clean up the themes, make theme usage guides with theme-specific markup examples.
45 |
46 |
47 |
--------------------------------------------------------------------------------
/_includes/JB/liquid_raw:
--------------------------------------------------------------------------------
1 | {% comment%}{% endcomment%}
26 |
27 | {% if site.JB.liquid_raw.provider == "custom" %}
28 | {% include custom/liquid_raw %}
29 | {% else %}
30 |
50 | {% endif %}
51 | {% endif %}
52 | {% endif %}
53 | {% endfor %}
54 | {% endif %}
55 | {% assign posts_collate = nil %}
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Jekyll-Bootstrap
2 |
3 | The quickest way to start and publish your Jekyll powered blog. 100% compatible with GitHub pages
4 |
5 | ## Usage
6 |
7 | For all usage and documentation please see:
8 |
9 | ## Version
10 |
11 | 0.2.9 - stable and versioned using [semantic versioning](http://semver.org/).
12 |
13 | ## Contributing
14 |
15 | This repository tracks 2 projects:
16 |
17 | - **Jekyll-Bootstrap Framework.**
18 | The framework for which users should clone and build their blog on top of is available in the master branch.
19 |
20 | To contribute to the framework please make sure to checkout your branch based on `jb-development`!!
21 | This is very important as it allows me to accept your pull request without having to publish a public version release.
22 |
23 | Small, atomic Features, bugs, etc.
24 | Use the `jb-development` branch but note it will likely change fast as pull requests are accepted.
25 | Please rebase as often as possible when working.
26 | Work on small, atomic features/bugs to avoid upstream commits affecting/breaking your development work.
27 |
28 | For Big Features or major API extensions/edits:
29 | This is the one case where I'll accept pull-requests based off the master branch.
30 | This allows you to work in isolation but it means I'll have to manually merge your work into the next public release.
31 | Translation : it might take a bit longer so please be patient! (but sincerely thank you).
32 |
33 | - **Jekyll-Bootstrap Documentation Website.**
34 | The documentation website at is maintained in the gh-pages branch.
35 | Please fork and contribute documentation additions to this branch only.
36 |
37 | The master and gh-pages branch do not share the same ancestry. Please treat them as completely separate git repositories!
38 |
39 |
40 | ## License
41 |
42 | [Creative Commons](http://creativecommons.org/licenses/by-nc-sa/3.0/)
43 |
--------------------------------------------------------------------------------
/_includes/themes/twitter/default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ page.title }}
6 | {% if page.description %}{% endif %}
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
25 |
26 |
27 |
28 |
29 |
56 |
57 | {% include JB/analytics %}
58 |
59 |
60 |
--------------------------------------------------------------------------------
/changelog.md:
--------------------------------------------------------------------------------
1 | ## Changelog
2 |
3 | Public releases are all root nodes.
4 | Incremental version bumps that were not released publicly are nested where appropriate.
5 |
6 | P.S. If there is a standard (popular) changelog format, please let me know.
7 |
8 | - **0.2.9 : 2012.03.01**
9 | - **Bug Fixes**
10 | - 0.2.9 : @alishutc Fixes the error on post creation if date was not specified.
11 |
12 | - **0.2.8 : 2012.03.01**
13 | - **Features**
14 | - 0.2.8 : @metalelf0 Added option to specify a custom date when creating post.
15 | - 0.2.7 : @daz Updates twitter theme framework to use 2.x while still maintaining core layout. #50
16 | @philips and @treggats add support for page.tagline metadata. #31 & #48
17 | - 0.2.6 : @koomar Adds Mixpanel analytics provider. #49
18 | - 0.2.5 : @nolith Adds ability to load custom rake scripts. #33
19 | - 0.2.4 : @tommyblue Updated disqus comments provider to be compatible with posts imported from Wordpress. #47
20 |
21 | - **Bug Fixes**
22 | - 0.2.3 : @3martini Adds Windows MSYS Support and error checks for git system calls. #40
23 | - 0.2.2 : @sstar Resolved an issue preventing disabling comments for individual pages #44
24 | - 0.2.1 : Resolve incorrect HOME\_PATH/BASE\_PATH settings
25 |
26 | - **0.2.0 : 2012.02.01**
27 | Features
28 | - Add Theme Packages v 0.1.0
29 | All themes should be tracked and maintained outside of JB core.
30 | Themes get "installed" via the Theme Installer.
31 | Theme Packages versioning is done separately from JB core with
32 | the main intent being to make sure theme versions are compatible with the given installer.
33 |
34 | - 0.1.2 : @jamesFleeting adds facebook comments support
35 | - 0.1.1 : @SegFaultAX adds tagline as site-wide configuration
36 |
37 | - **0.1.0 : 2012.01.24**
38 | First major versioned release.
39 | Features
40 | - Standardize Public API
41 | - Use name-spacing and modulation where possible.
42 | - Ability to override public methods with custom code.
43 | - Publish the theme API.
44 | - Ship with comments, analytics integration.
45 |
46 | - **0.0.1 : 2011.12.30**
47 | First public release, lots of updates =p
48 | Thank you everybody for dealing with the fast changes and helping
49 | me work out the API to a manageable state.
50 |
51 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | # This is the default format.
2 | # For more see: https://github.com/mojombo/jekyll/wiki/Permalinks
3 | permalink: /:categories/:year/:month/:day/:title
4 |
5 | exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md"]
6 | auto: true
7 | pygments: true
8 |
9 | # Themes are encouraged to use these universal variables
10 | # so be sure to set them if your theme uses them.
11 | #
12 | title : Jekyll Bootstrap
13 | tagline: Site Tagline
14 | author :
15 | name : Name Lastname
16 | email : blah@email.test
17 | github : username
18 | twitter : username
19 | feedburner : feedname
20 |
21 | # The production_url is only used when full-domain names are needed
22 | # such as sitemap.txt
23 | # Most places will/should use BASE_PATH to make the urls
24 | #
25 | # If you have set a CNAME (pages.github.com) set your custom domain here.
26 | # Else if you are pushing to username.github.com, replace with your username.
27 | # Finally if you are pushing to a GitHub project page, include the project name at the end.
28 | #
29 | production_url : http://username.github.com
30 |
31 | # All Jekyll-Bootstrap specific configurations are namespaced into this hash
32 | #
33 | JB :
34 | version : 0.2.9
35 |
36 | # All links will be namespaced by BASE_PATH if defined.
37 | # Links in your website should always be prefixed with {{BASE_PATH}}
38 | # however this value will be dynamically changed depending on your deployment situation.
39 | #
40 | # CNAME (http://yourcustomdomain.com)
41 | # DO NOT SET BASE_PATH
42 | # (urls will be prefixed with "/" and work relatively)
43 | #
44 | # GitHub Pages (http://username.github.com)
45 | # DO NOT SET BASE_PATH
46 | # (urls will be prefixed with "/" and work relatively)
47 | #
48 | # GitHub Project Pages (http://username.github.com/project-name)
49 | #
50 | # A GitHub Project site exists in the `gh-pages` branch of one of your repositories.
51 | # REQUIRED! Set BASE_PATH to: http://username.github.com/project-name
52 | #
53 | # CAUTION:
54 | # - When in Localhost, your site will run from root "/" regardless of BASE_PATH
55 | # - Only the following values are falsy: ["", null, false]
56 | # - When setting BASE_PATH it must be a valid url.
57 | # This means always setting the protocol (http|https) or prefixing with "/"
58 | BASE_PATH : false
59 |
60 | # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
61 | # ex: [BASE_PATH]/assets/themes/[THEME-NAME]
62 | #
63 | # Override this by defining an absolute path to assets here.
64 | # ex:
65 | # http://s3.amazonaws.com/yoursite/themes/watermelon
66 | # /assets
67 | #
68 | ASSET_PATH : false
69 |
70 | # These paths are to the main pages Jekyll-Bootstrap ships with.
71 | # Some JB helpers refer to these paths; change theme here if needed.
72 | #
73 | archive_path: /archive.html
74 | categories_path : /categories.html
75 | tags_path : /tags.html
76 |
77 | # Settings for comments helper
78 | # Set 'provider' to the comment provider you want to use.
79 | # Set 'provider' to false to turn commenting off globally.
80 | #
81 | comments :
82 | provider : false
83 | disqus :
84 | short_name : jekyllbootstrap
85 | livefyre :
86 | site_id : 123
87 | intensedebate :
88 | account : 123abc
89 | facebook :
90 | appid : 123
91 | num_posts: 5
92 | width: 580
93 | colorscheme: light
94 |
95 | # Settings for analytics helper
96 | # Set 'provider' to the analytics provider you want to use.
97 | # Set 'provider' to false to turn analytics off globally.
98 | #
99 | analytics :
100 | provider : false
101 | google :
102 | tracking_id : 'UA-123-12'
103 | getclicky :
104 | site_id :
105 | mixpanel :
106 | token : '_MIXPANEL_TOKEN_'
107 |
108 | # Settings for sharing helper.
109 | # Sharing is for things like tweet, plusone, like, reddit buttons etc.
110 | # Set 'provider' to the sharing provider you want to use.
111 | # Set 'provider' to false to turn sharing off globally.
112 | #
113 | sharing :
114 | provider : false
115 |
116 | # Settings for all other include helpers can be defined by creating
117 | # a hash with key named for the given helper. ex:
118 | #
119 | # pages_list :
120 | # provider : "custom"
121 | #
122 | # Setting any helper's provider to 'custom' will bypass the helper code
123 | # and include your custom code. Your custom file must be defined at:
124 | # ./_includes/custom/[HELPER]
125 | # where [HELPER] is the name of the helper you are overriding.
126 |
127 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | require "rubygems"
2 | require 'rake'
3 | require 'yaml'
4 | require 'time'
5 |
6 | SOURCE = "."
7 | CONFIG = {
8 | 'version' => "0.2.9",
9 | 'themes' => File.join(SOURCE, "_includes", "themes"),
10 | 'layouts' => File.join(SOURCE, "_layouts"),
11 | 'posts' => File.join(SOURCE, "_posts"),
12 | 'post_ext' => "md",
13 | 'theme_package_version' => "0.1.0"
14 | }
15 |
16 | # Path configuration helper
17 | module JB
18 | class Path
19 | SOURCE = "."
20 | Paths = {
21 | :layouts => "_layouts",
22 | :themes => "_includes/themes",
23 | :theme_assets => "assets/themes",
24 | :theme_packages => "_theme_packages",
25 | :posts => "_posts"
26 | }
27 |
28 | def self.base
29 | SOURCE
30 | end
31 |
32 | # build a path relative to configured path settings.
33 | def self.build(path, opts = {})
34 | opts[:root] ||= SOURCE
35 | path = "#{opts[:root]}/#{Paths[path.to_sym]}/#{opts[:node]}".split("/")
36 | path.compact!
37 | File.__send__ :join, path
38 | end
39 |
40 | end #Path
41 | end #JB
42 |
43 | # Usage: rake post title="A Title" [date="2012-02-09"]
44 | desc "Begin a new post in #{CONFIG['posts']}"
45 | task :post do
46 | abort("rake aborted: '#{CONFIG['posts']}' directory not found.") unless FileTest.directory?(CONFIG['posts'])
47 | title = ENV["title"] || "new-post"
48 | slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
49 | begin
50 | date = (ENV['date'] ? Time.parse(ENV['date']) : Time.now).strftime('%Y-%m-%d')
51 | rescue Exception => e
52 | puts "Error - date format must be YYYY-MM-DD, please check you typed it correctly!"
53 | exit -1
54 | end
55 | filename = File.join(CONFIG['posts'], "#{date}-#{slug}.#{CONFIG['post_ext']}")
56 | if File.exist?(filename)
57 | abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
58 | end
59 |
60 | puts "Creating new post: #{filename}"
61 | open(filename, 'w') do |post|
62 | post.puts "---"
63 | post.puts "layout: post"
64 | post.puts "title: \"#{title.gsub(/-/,' ')}\""
65 | post.puts "category: "
66 | post.puts "tags: []"
67 | post.puts "---"
68 | post.puts "{% include JB/setup %}"
69 | end
70 | end # task :post
71 |
72 | # Usage: rake page name="about.html"
73 | # You can also specify a sub-directory path.
74 | # If you don't specify a file extention we create an index.html at the path specified
75 | desc "Create a new page."
76 | task :page do
77 | name = ENV["name"] || "new-page.md"
78 | filename = File.join(SOURCE, "#{name}")
79 | filename = File.join(filename, "index.html") if File.extname(filename) == ""
80 | title = File.basename(filename, File.extname(filename)).gsub(/[\W\_]/, " ").gsub(/\b\w/){$&.upcase}
81 | if File.exist?(filename)
82 | abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
83 | end
84 |
85 | mkdir_p File.dirname(filename)
86 | puts "Creating new page: #{filename}"
87 | open(filename, 'w') do |post|
88 | post.puts "---"
89 | post.puts "layout: page"
90 | post.puts "title: \"#{title}\""
91 | post.puts "---"
92 | post.puts "{% include JB/setup %}"
93 | end
94 | end # task :page
95 |
96 | desc "Launch preview environment"
97 | task :preview do
98 | system "jekyll --auto --server"
99 | end # task :preview
100 |
101 | # Public: Alias - Maintains backwards compatability for theme switching.
102 | task :switch_theme => "theme:switch"
103 |
104 | namespace :theme do
105 |
106 | # Public: Switch from one theme to another for your blog.
107 | #
108 | # name - String, Required. name of the theme you want to switch to.
109 | # The the theme must be installed into your JB framework.
110 | #
111 | # Examples
112 | #
113 | # rake theme:switch name="the-program"
114 | #
115 | # Returns Success/failure messages.
116 | desc "Switch between Jekyll-bootstrap themes."
117 | task :switch do
118 | theme_name = ENV["name"].to_s
119 | theme_path = File.join(CONFIG['themes'], theme_name)
120 | settings_file = File.join(theme_path, "settings.yml")
121 | non_layout_files = ["settings.yml"]
122 |
123 | abort("rake aborted: name cannot be blank") if theme_name.empty?
124 | abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path)
125 | abort("rake aborted: '#{CONFIG['layouts']}' directory not found.") unless FileTest.directory?(CONFIG['layouts'])
126 |
127 | Dir.glob("#{theme_path}/*") do |filename|
128 | next if non_layout_files.include?(File.basename(filename).downcase)
129 | puts "Generating '#{theme_name}' layout: #{File.basename(filename)}"
130 |
131 | open(File.join(CONFIG['layouts'], File.basename(filename)), 'w') do |page|
132 | if File.basename(filename, ".html").downcase == "default"
133 | page.puts "---"
134 | page.puts File.read(settings_file) if File.exist?(settings_file)
135 | page.puts "---"
136 | else
137 | page.puts "---"
138 | page.puts "layout: default"
139 | page.puts "---"
140 | end
141 | page.puts "{% include JB/setup %}"
142 | page.puts "{% include themes/#{theme_name}/#{File.basename(filename)} %}"
143 | end
144 | end
145 |
146 | puts "=> Theme successfully switched!"
147 | puts "=> Reload your web-page to check it out =)"
148 | end # task :switch
149 |
150 | # Public: Install a theme using the theme packager.
151 | # Version 0.1.0 simple 1:1 file matching.
152 | #
153 | # git - String, Optional path to the git repository of the theme to be installed.
154 | # name - String, Optional name of the theme you want to install.
155 | # Passing name requires that the theme package already exist.
156 | #
157 | # Examples
158 | #
159 | # rake theme:install git="https://github.com/jekyllbootstrap/theme-twitter.git"
160 | # rake theme:install name="cool-theme"
161 | #
162 | # Returns Success/failure messages.
163 | desc "Install theme"
164 | task :install do
165 | if ENV["git"]
166 | manifest = theme_from_git_url(ENV["git"])
167 | name = manifest["name"]
168 | else
169 | name = ENV["name"].to_s.downcase
170 | end
171 |
172 | packaged_theme_path = JB::Path.build(:theme_packages, :node => name)
173 |
174 | abort("rake aborted!
175 | => ERROR: 'name' cannot be blank") if name.empty?
176 | abort("rake aborted!
177 | => ERROR: '#{packaged_theme_path}' directory not found.
178 | => Installable themes can be added via git. You can find some here: http://github.com/jekyllbootstrap
179 | => To download+install run: `rake theme:install git='[PUBLIC-CLONE-URL]'`
180 | => example : rake theme:install git='git@github.com:jekyllbootstrap/theme-the-program.git'
181 | ") unless FileTest.directory?(packaged_theme_path)
182 |
183 | manifest = verify_manifest(packaged_theme_path)
184 |
185 | # Get relative paths to packaged theme files
186 | # Exclude directories as they'll be recursively created. Exclude meta-data files.
187 | packaged_theme_files = []
188 | FileUtils.cd(packaged_theme_path) {
189 | Dir.glob("**/*.*") { |f|
190 | next if ( FileTest.directory?(f) || f =~ /^(manifest|readme|packager)/i )
191 | packaged_theme_files << f
192 | }
193 | }
194 |
195 | # Mirror each file into the framework making sure to prompt if already exists.
196 | packaged_theme_files.each do |filename|
197 | file_install_path = File.join(JB::Path.base, filename)
198 | if File.exist? file_install_path
199 | next if ask("#{file_install_path} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
200 | else
201 | mkdir_p File.dirname(file_install_path)
202 | cp_r File.join(packaged_theme_path, filename), file_install_path
203 | end
204 | end
205 |
206 | puts "=> #{name} theme has been installed!"
207 | puts "=> ---"
208 | if ask("=> Want to switch themes now?", ['y', 'n']) == 'y'
209 | system("rake switch_theme name='#{name}'")
210 | end
211 | end
212 |
213 | # Public: Package a theme using the theme packager.
214 | # The theme must be structured using valid JB API.
215 | # In other words packaging is essentially the reverse of installing.
216 | #
217 | # name - String, Required name of the theme you want to package.
218 | #
219 | # Examples
220 | #
221 | # rake theme:package name="twitter"
222 | #
223 | # Returns Success/failure messages.
224 | desc "Package theme"
225 | task :package do
226 | name = ENV["name"].to_s.downcase
227 | theme_path = JB::Path.build(:themes, :node => name)
228 | asset_path = JB::Path.build(:theme_assets, :node => name)
229 |
230 | abort("rake aborted: name cannot be blank") if name.empty?
231 | abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path)
232 | abort("rake aborted: '#{asset_path}' directory not found.") unless FileTest.directory?(asset_path)
233 |
234 | ## Mirror theme's template directory (_includes)
235 | packaged_theme_path = JB::Path.build(:themes, :root => JB::Path.build(:theme_packages, :node => name))
236 | mkdir_p packaged_theme_path
237 | cp_r theme_path, packaged_theme_path
238 |
239 | ## Mirror theme's asset directory
240 | packaged_theme_assets_path = JB::Path.build(:theme_assets, :root => JB::Path.build(:theme_packages, :node => name))
241 | mkdir_p packaged_theme_assets_path
242 | cp_r asset_path, packaged_theme_assets_path
243 |
244 | ## Log packager version
245 | packager = {"packager" => {"version" => CONFIG["theme_package_version"].to_s } }
246 | open(JB::Path.build(:theme_packages, :node => "#{name}/packager.yml"), "w") do |page|
247 | page.puts packager.to_yaml
248 | end
249 |
250 | puts "=> '#{name}' theme is packaged and available at: #{JB::Path.build(:theme_packages, :node => name)}"
251 | end
252 |
253 | end # end namespace :theme
254 |
255 | # Internal: Download and process a theme from a git url.
256 | # Notice we don't know the name of the theme until we look it up in the manifest.
257 | # So we'll have to change the folder name once we get the name.
258 | #
259 | # url - String, Required url to git repository.
260 | #
261 | # Returns theme manifest hash
262 | def theme_from_git_url(url)
263 | tmp_path = JB::Path.build(:theme_packages, :node => "_tmp")
264 | abort("rake aborted: system call to git clone failed") if !system("git clone #{url} #{tmp_path}")
265 | manifest = verify_manifest(tmp_path)
266 | new_path = JB::Path.build(:theme_packages, :node => manifest["name"])
267 | if File.exist?(new_path) && ask("=> #{new_path} theme package already exists. Override?", ['y', 'n']) == 'n'
268 | remove_dir(tmp_path)
269 | abort("rake aborted: '#{manifest["name"]}' already exists as theme package.")
270 | end
271 |
272 | remove_dir(new_path) if File.exist?(new_path)
273 | mv(tmp_path, new_path)
274 | manifest
275 | end
276 |
277 | # Internal: Process theme package manifest file.
278 | #
279 | # theme_path - String, Required. File path to theme package.
280 | #
281 | # Returns theme manifest hash
282 | def verify_manifest(theme_path)
283 | manifest_path = File.join(theme_path, "manifest.yml")
284 | manifest_file = File.open( manifest_path )
285 | abort("rake aborted: repo must contain valid manifest.yml") unless File.exist? manifest_file
286 | manifest = YAML.load( manifest_file )
287 | manifest_file.close
288 | manifest
289 | end
290 |
291 | def ask(message, valid_options)
292 | if valid_options
293 | answer = get_stdin("#{message} #{valid_options.to_s.gsub(/"/, '').gsub(/, /,'/')} ") while !valid_options.include?(answer)
294 | else
295 | answer = get_stdin(message)
296 | end
297 | answer
298 | end
299 |
300 | def get_stdin(message)
301 | print message
302 | STDIN.gets.chomp
303 | end
304 |
305 | #Load custom rake scripts
306 | Dir['_rake/*.rake'].each { |r| load r }
307 |
--------------------------------------------------------------------------------
/_posts/core-samples/2011-12-29-jekyll-introduction.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 | category : lessons
4 | tags : [intro, beginner, jekyll, tutorial]
5 | ---
6 | {% include JB/setup %}
7 |
8 | This Jekyll introduction will outline specifically what Jekyll is and why you would want to use it.
9 | Directly following the intro we'll learn exactly _how_ Jekyll does what it does.
10 |
11 | ## Overview
12 |
13 | ### What is Jekyll?
14 |
15 | Jekyll is a parsing engine bundled as a ruby gem used to build static websites from
16 | dynamic components such as templates, partials, liquid code, markdown, etc. Jekyll is known as "a simple, blog aware, static site generator".
17 |
18 | ### Examples
19 |
20 | This website is created with Jekyll. [Other Jekyll websites](https://github.com/mojombo/jekyll/wiki/Sites).
21 |
22 |
23 |
24 | ### What does Jekyll Do?
25 |
26 | Jekyll is a ruby gem you install on your local system.
27 | Once there you can call `jekyll --server` on a directory and provided that directory
28 | is setup in a way jekyll expects, it will do magic stuff like parse markdown/textile files,
29 | compute categories, tags, permalinks, and construct your pages from layout templates and partials.
30 |
31 | Once parsed, Jekyll stores the result in a self-contained static `_site` folder.
32 | The intention here is that you can serve all contents in this folder statically from a plain static web-server.
33 |
34 | You can think of Jekyll as a normalish dynamic blog but rather than parsing content, templates, and tags
35 | on each request, Jekyll does this once _beforehand_ and caches the _entire website_ in a folder for serving statically.
36 |
37 | ### Jekyll is Not Blogging Software
38 |
39 | **Jekyll is a parsing engine.**
40 |
41 | Jekyll does not come with any content nor does it have any templates or design elements.
42 | This is a common source of confusion when getting started.
43 | Jekyll does not come with anything you actually use or see on your website - you have to make it.
44 |
45 | ### Why Should I Care?
46 |
47 | Jekyll is very minimalistic and very efficient.
48 | The most important thing to realize about Jekyll is that it creates a static representation of your website requiring only a static web-server.
49 | Traditional dynamic blogs like Wordpress require a database and server-side code.
50 | Heavily trafficked dynamic blogs must employ a caching layer that ultimately performs the same job Jekyll sets out to do; serve static content.
51 |
52 | Therefore if you like to keep things simple and you prefer the command-line over an admin panel UI then give Jekyll a try.
53 |
54 | **Developers like Jekyll because we can write content like we write code:**
55 |
56 | - Ability to write content in markdown or textile in your favorite text-editor.
57 | - Ability to write and preview your content via localhost.
58 | - No internet connection required.
59 | - Ability to publish via git.
60 | - Ability to host your blog on a static web-server.
61 | - Ability to host freely on GitHub Pages.
62 | - No database required.
63 |
64 | # How Jekyll Works
65 |
66 | The following is a complete but concise outline of exactly how Jekyll works.
67 |
68 | Be aware that core concepts are introduced in rapid succession without code examples.
69 | This information is not intended to specifically teach you how to do anything, rather it
70 | is intended to give you the _full picture_ relative to what is going on in Jekyll-world.
71 |
72 | Learning these core concepts should help you avoid common frustrations and ultimately
73 | help you better understand the code examples contained throughout Jekyll-Bootstrap.
74 |
75 |
76 | ## Initial Setup
77 |
78 | After [installing jekyll](/index.html#start-now) you'll need to format your website directory in a way jekyll expects.
79 | Jekyll-bootstrap conveniently provides the base directory format.
80 |
81 | ### The Jekyll Application Base Format
82 |
83 | Jekyll expects your website directory to be laid out like so:
84 |
85 | .
86 | |-- _config.yml
87 | |-- _includes
88 | |-- _layouts
89 | | |-- default.html
90 | | |-- post.html
91 | |-- _posts
92 | | |-- 20011-10-25-open-source-is-good.markdown
93 | | |-- 20011-04-26-hello-world.markdown
94 | |-- _site
95 | |-- index.html
96 | |-- assets
97 | |-- css
98 | |-- style.css
99 | |-- javascripts
100 |
101 |
102 | - **\_config.yml**
103 | Stores configuration data.
104 |
105 | - **\_includes**
106 | This folder is for partial views.
107 |
108 | - **\_layouts**
109 | This folder is for the main templates your content will be inserted into.
110 | You can have different layouts for different pages or page sections.
111 |
112 | - **\_posts**
113 | This folder contains your dynamic content/posts.
114 | the naming format is required to be `@YEAR-MONTH-DATE-title.MARKUP@`.
115 |
116 | - **\_site**
117 | This is where the generated site will be placed once Jekyll is done transforming it.
118 |
119 | - **assets**
120 | This folder is not part of the standard jekyll structure.
121 | The assets folder represents _any generic_ folder you happen to create in your root directory.
122 | Directories and files not properly formatted for jekyll will be left untouched for you to serve normally.
123 |
124 | (read more: )
125 |
126 |
127 | ### Jekyll Configuration
128 |
129 | Jekyll supports various configuration options that are fully outlined here:
130 |
131 |
132 |
133 |
134 |
135 | ## Content in Jekyll
136 |
137 | Content in Jekyll is either a post or a page.
138 | These content "objects" get inserted into one or more templates to build the final output for its respective static-page.
139 |
140 | ### Posts and Pages
141 |
142 | Both posts and pages should be written in markdown, textile, or HTML and may also contain Liquid templating syntax.
143 | Both posts and pages can have meta-data assigned on a per-page basis such as title, url path, as well as arbitrary custom meta-data.
144 |
145 | ### Working With Posts
146 |
147 | **Creating a Post**
148 | Posts are created by properly formatting a file and placing it the `_posts` folder.
149 |
150 | **Formatting**
151 | A post must have a valid filename in the form `YEAR-MONTH-DATE-title.MARKUP` and be placed in the `_posts` directory.
152 | If the data format is invalid Jekyll will not recognize the file as a post. The date and title are automatically parsed from the filename of the post file.
153 | Additionally, each file must have [YAML Front-Matter](https://github.com/mojombo/jekyll/wiki/YAML-Front-Matter) prepended to its content.
154 | YAML Front-Matter is a valid YAML syntax specifying meta-data for the given file.
155 |
156 | **Order**
157 | Ordering is an important part of Jekyll but it is hard to specify a custom ordering strategy.
158 | Only reverse chronological and chronological ordering is supported in Jekyll.
159 |
160 | Since the date is hard-coded into the filename format, to change the order, you must change the dates in the filenames.
161 |
162 | **Tags**
163 | Posts can have tags associated with them as part of their meta-data.
164 | Tags may be placed on posts by providing them in the post's YAML front matter.
165 | You have access to the post-specific tags in the templates. These tags also get added to the sitewide collection.
166 |
167 | **Categories**
168 | Posts may be categorized by providing one or more categories in the YAML front matter.
169 | Categories offer more significance over tags in that they can be reflected in the URL path to the given post.
170 | Note categories in Jekyll work in a specific way.
171 | If you define more than one category you are defining a category hierarchy "set".
172 | Example:
173 |
174 | ---
175 | title : Hello World
176 | categories : [lessons, beginner]
177 | ---
178 |
179 | This defines the category hierarchy "lessons/beginner". Note this is _one category_ node in Jekyll.
180 | You won't find "lessons" and "beginner" as two separate categories unless you define them elsewhere as singular categories.
181 |
182 | ### Working With Pages
183 |
184 | **Creating a Page**
185 | Pages are created by properly formatting a file and placing it anywhere in the root directory or subdirectories that do _not_ start with an underscore.
186 |
187 | **Formatting**
188 | In order to register as a Jekyll page the file must contain [YAML Front-Matter](https://github.com/mojombo/jekyll/wiki/YAML-Front-Matter).
189 | Registering a page means 1) that Jekyll will process the page and 2) that the page object will be available in the `site.pages` array for inclusion into your templates.
190 |
191 | **Categories and Tags**
192 | Pages do not compute categories nor tags so defining them will have no effect.
193 |
194 | **Sub-Directories**
195 | If pages are defined in sub-directories, the path to the page will be reflected in the url.
196 | Example:
197 |
198 | .
199 | |-- people
200 | |-- bob
201 | |-- essay.html
202 |
203 | This page will be available at `http://yourdomain.com/people/bob/essay.html`
204 |
205 |
206 | **Recommended Pages**
207 |
208 | - **index.html**
209 | You will always want to define the root index.html page as this will display on your root URL.
210 | - **404.html**
211 | Create a root 404.html page and GitHub Pages will serve it as your 404 response.
212 | - **sitemap.html**
213 | Generating a sitemap is good practice for SEO.
214 | - **about.html**
215 | A nice about page is easy to do and gives the human perspective to your website.
216 |
217 |
218 | ## Templates in Jekyll
219 |
220 | Templates are used to contain a page's or post's content.
221 | All templates have access to a global site object variable: `site` as well as a page object variable: `page`.
222 | The site variable holds all accessible content and metadata relative to the site.
223 | The page variable holds accessible data for the given page or post being rendered at that point.
224 |
225 | **Create a Template**
226 | Templates are created by properly formatting a file and placing it in the `_layouts` directory.
227 |
228 | **Formatting**
229 | Templates should be coded in HTML and contain YAML Front Matter.
230 | All templates can contain Liquid code to work with your site's data.
231 |
232 | **Rending Page/Post Content in a Template**
233 | There is a special variable in all templates named : `content`.
234 | The `content` variable holds the page/post content including any sub-template content previously defined.
235 | Render the content variable wherever you want your main content to be injected into your template:
236 |
237 | {% capture text %}...
238 |
239 |
...
240 |
241 | |.{content}.|
242 |
243 |
244 | ...{% endcapture %}
245 | {% include JB/liquid_raw %}
246 |
247 | ### Sub-Templates
248 |
249 | Sub-templates are exactly templates with the only difference being they
250 | define another "root" layout/template within their YAML Front Matter.
251 | This essentially means a template will render inside of another template.
252 |
253 | ### Includes
254 | In Jekyll you can define include files by placing them in the `_includes` folder.
255 | Includes are NOT templates, rather they are just code snippets that get included into templates.
256 | In this way, you can treat the code inside includes as if it was native to the parent template.
257 |
258 | Any valid template code may be used in includes.
259 |
260 |
261 | ## Using Liquid for Templating
262 |
263 | Templating is perhaps the most confusing and frustrating part of Jekyll.
264 | This is mainly due to the fact that Jekyll templates must use the Liquid Templating Language.
265 |
266 | ### What is Liquid?
267 |
268 | [Liquid](https://github.com/Shopify/liquid) is a secure templating language developed by [Shopify](http://shopify.com).
269 | Liquid is designed for end-users to be able to execute logic within template files
270 | without imposing any security risk on the hosting server.
271 |
272 | Jekyll uses Liquid to generate the post content within the final page layout structure and as the primary interface for working with
273 | your site and post/page data.
274 |
275 | ### Why Do We Have to Use Liquid?
276 |
277 | GitHub uses Jekyll to power [GitHub Pages](http://pages.github.com/).
278 | GitHub cannot afford to run arbitrary code on their servers so they lock developers down via Liquid.
279 |
280 | ### Liquid is Not Programmer-Friendly.
281 |
282 | The short story is liquid is not real code and its not intended to execute real code.
283 | The point being you can't do jackshit in liquid that hasn't been allowed explicitly by the implementation.
284 | What's more you can only access data-structures that have been explicitly passed to the template.
285 |
286 | In Jekyll's case it is not possible to alter what is passed to Liquid without hacking the gem or running custom plugins.
287 | Both of which cannot be supported by GitHub Pages.
288 |
289 | As a programmer - this is very frustrating.
290 |
291 | But rather than look a gift horse in the mouth we are going to
292 | suck it up and view it as an opportunity to work around limitations and adopt client-side solutions when possible.
293 |
294 | **Aside**
295 | My personal stance is to not invest time trying to hack liquid. It's really unnecessary
296 | _from a programmer's_ perspective. That is to say if you have the ability to run custom plugins (i.e. run arbitrary ruby code)
297 | you are better off sticking with ruby. Toward that end I've built [Mustache-with-Jekyll](http://github.com/plusjade/mustache-with-jekyll)
298 |
299 |
300 | ## Static Assets
301 |
302 | Static assets are any file in the root or non-underscored subfolders that are not pages.
303 | That is they have no valid YAML Front Matter and are thus not treated as Jekyll Pages.
304 |
305 | Static assets should be used for images, css, and javascript files.
306 |
307 |
308 |
309 |
310 | ## How Jekyll Parses Files
311 |
312 | Remember Jekyll is a processing engine. There are two main types of parsing in Jekyll.
313 |
314 | - **Content parsing.**
315 | This is done with textile or markdown.
316 | - **Template parsing.**
317 | This is done with the liquid templating language.
318 |
319 | And thus there are two main types of file formats needed for this parsing.
320 |
321 | - **Post and Page files.**
322 | All content in Jekyll is either a post or a page so valid posts and pages are parsed with markdown or textile.
323 | - **Template files.**
324 | These files go in `_layouts` folder and contain your blogs **templates**. They should be made in HTML with the help of Liquid syntax.
325 | Since include files are simply injected into templates they are essentially parsed as if they were native to the template.
326 |
327 | **Arbitrary files and folders.**
328 | Files that _are not_ valid pages are treated as static content and pass through
329 | Jekyll untouched and reside on your blog in the exact structure and format they originally existed in.
330 |
331 | ### Formatting Files for Parsing.
332 |
333 | We've outlined the need for valid formatting using **YAML Front Matter**.
334 | Templates, posts, and pages all need to provide valid YAML Front Matter even if the Matter is empty.
335 | This is the only way Jekyll knows you want the file processed.
336 |
337 | YAML Front Matter must be prepended to the top of template/post/page files:
338 |
339 | ---
340 | layout: post
341 | category : pages
342 | tags : [how-to, jekyll]
343 | ---
344 |
345 | ... contents ...
346 |
347 | Three hyphens on a new line start the Front-Matter block and three hyphens on a new line end the block.
348 | The data inside the block must be valid YAML.
349 |
350 | Configuration parameters for YAML Front-Matter is outlined here:
351 | [A comprehensive explanation of YAML Front Matter](https://github.com/mojombo/jekyll/wiki/YAML-Front-Matter)
352 |
353 | #### Defining Layouts for Posts and Templates Parsing.
354 |
355 | The `layout` parameter in the YAML Front Matter defines the template file for which the given post or template should be injected into.
356 | If a template file specifies its own layout, it is effectively being used as a `sub-template.`
357 | That is to say loading a post file into a template file that refers to another template file with work in the way you'd expect; as a nested sub-template.
358 |
359 |
360 |
361 |
362 |
363 | ## How Jekyll Generates the Final Static Files.
364 |
365 | Ultimately, Jekyll's job is to generate a static representation of your website.
366 | The following is an outline of how that's done:
367 |
368 | 1. **Jekyll collects data.**
369 | Jekyll scans the posts directory and collects all posts files as post objects. It then scans the layout assets and collects those and finally scans other directories in search of pages.
370 |
371 | 2. **Jekyll computes data.**
372 | Jekyll takes these objects, computes metadata (permalinks, tags, categories, titles, dates) from them and constructs one
373 | big `site` object that holds all the posts, pages, layouts, and respective metadata.
374 | At this stage your site is one big computed ruby object.
375 |
376 | 3. **Jekyll liquifies posts and templates.**
377 | Next jekyll loops through each post file and converts (through markdown or textile) and **liquifies** the post inside of its respective layout(s).
378 | Once the post is parsed and liquified inside the the proper layout structure, the layout itself is "liquified".
379 | **Liquification** is defined as follows: Jekyll initiates a Liquid template, and passes a simpler hash representation of the ruby site object as well as a simpler
380 | hash representation of the ruby post object. These simplified data structures are what you have access to in the templates.
381 |
382 | 3. **Jekyll generates output.**
383 | Finally the liquid templates are "rendered", thereby processing any liquid syntax provided in the templates
384 | and saving the final, static representation of the file.
385 |
386 | **Notes.**
387 | Because Jekyll computes the entire site in one fell swoop, each template is given access to
388 | a global `site` hash that contains useful data. It is this data that you'll iterate through and format
389 | using the Liquid tags and filters in order to render it onto a given page.
390 |
391 | Remember, in Jekyll you are an end-user. Your API has only two components:
392 |
393 | 1. The manner in which you setup your directory.
394 | 2. The liquid syntax and variables passed into the liquid templates.
395 |
396 | All the data objects available to you in the templates via Liquid are outlined in the **API Section** of Jekyll-Bootstrap.
397 | You can also read the original documentation here:
398 |
399 | ## Conclusion
400 |
401 | I hope this paints a clearer picture of what Jekyll is doing and why it works the way it does.
402 | As noted, our main programming constraint is the fact that our API is limited to what is accessible via Liquid and Liquid only.
403 |
404 | Jekyll-bootstrap is intended to provide helper methods and strategies aimed at making it more intuitive and easier to work with Jekyll =)
405 |
406 | **Thank you** for reading this far.
407 |
408 | ## Next Steps
409 |
410 | Please take a look at [{{ site.categories.api.first.title }}]({{ BASE_PATH }}{{ site.categories.api.first.url }})
411 | or jump right into [Usage]({{ BASE_PATH }}{{ site.categories.usage.first.url }}) if you'd like.
--------------------------------------------------------------------------------
/assets/themes/twitter/bootstrap/css/bootstrap.min.css:
--------------------------------------------------------------------------------
1 | article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
2 | audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
3 | audio:not([controls]){display:none;}
4 | html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
5 | a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
6 | a:hover,a:active{outline:0;}
7 | sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
8 | sup{top:-0.5em;}
9 | sub{bottom:-0.25em;}
10 | img{max-width:100%;height:auto;border:0;-ms-interpolation-mode:bicubic;}
11 | button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
12 | button,input{*overflow:visible;line-height:normal;}
13 | button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
14 | button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}
15 | input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}
16 | input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
17 | textarea{overflow:auto;vertical-align:top;}
18 | .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";}
19 | .clearfix:after{clear:both;}
20 | body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333333;background-color:#ffffff;}
21 | a{color:#0088cc;text-decoration:none;}
22 | a:hover{color:#005580;text-decoration:underline;}
23 | .row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";}
24 | .row:after{clear:both;}
25 | [class*="span"]{float:left;margin-left:20px;}
26 | .span1{width:60px;}
27 | .span2{width:140px;}
28 | .span3{width:220px;}
29 | .span4{width:300px;}
30 | .span5{width:380px;}
31 | .span6{width:460px;}
32 | .span7{width:540px;}
33 | .span8{width:620px;}
34 | .span9{width:700px;}
35 | .span10{width:780px;}
36 | .span11{width:860px;}
37 | .span12,.container{width:940px;}
38 | .offset1{margin-left:100px;}
39 | .offset2{margin-left:180px;}
40 | .offset3{margin-left:260px;}
41 | .offset4{margin-left:340px;}
42 | .offset5{margin-left:420px;}
43 | .offset6{margin-left:500px;}
44 | .offset7{margin-left:580px;}
45 | .offset8{margin-left:660px;}
46 | .offset9{margin-left:740px;}
47 | .offset10{margin-left:820px;}
48 | .offset11{margin-left:900px;}
49 | .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";}
50 | .row-fluid:after{clear:both;}
51 | .row-fluid>[class*="span"]{float:left;margin-left:2.127659574%;}
52 | .row-fluid>[class*="span"]:first-child{margin-left:0;}
53 | .row-fluid>.span1{width:6.382978723%;}
54 | .row-fluid>.span2{width:14.89361702%;}
55 | .row-fluid>.span3{width:23.404255317%;}
56 | .row-fluid>.span4{width:31.914893614%;}
57 | .row-fluid>.span5{width:40.425531911%;}
58 | .row-fluid>.span6{width:48.93617020799999%;}
59 | .row-fluid>.span7{width:57.446808505%;}
60 | .row-fluid>.span8{width:65.95744680199999%;}
61 | .row-fluid>.span9{width:74.468085099%;}
62 | .row-fluid>.span10{width:82.97872339599999%;}
63 | .row-fluid>.span11{width:91.489361693%;}
64 | .row-fluid>.span12{width:99.99999998999999%;}
65 | .container{width:940px;margin-left:auto;margin-right:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}
66 | .container:after{clear:both;}
67 | .container-fluid{padding-left:20px;padding-right:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";}
68 | .container-fluid:after{clear:both;}
69 | p{margin:0 0 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#999999;}
70 | .lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px;}
71 | h1,h2,h3,h4,h5,h6{margin:0;font-weight:bold;color:#333333;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999999;}
72 | h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;}
73 | h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;}
74 | h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;}
75 | h4,h5,h6{line-height:18px;}
76 | h4{font-size:14px;}h4 small{font-size:12px;}
77 | h5{font-size:12px;}
78 | h6{font-size:11px;color:#999999;text-transform:uppercase;}
79 | .page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eeeeee;}
80 | .page-header h1{line-height:1;}
81 | ul,ol{padding:0;margin:0 0 9px 25px;}
82 | ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
83 | ul{list-style:disc;}
84 | ol{list-style:decimal;}
85 | li{line-height:18px;}
86 | ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}
87 | dl{margin-bottom:18px;}
88 | dt,dd{line-height:18px;}
89 | dt{font-weight:bold;}
90 | dd{margin-left:9px;}
91 | hr{margin:18px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;}
92 | strong{font-weight:bold;}
93 | em{font-style:italic;}
94 | .muted{color:#999999;}
95 | abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help;}
96 | blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px;}
97 | blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
98 | blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eeeeee;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
99 | q:before,q:after,blockquote:before,blockquote:after{content:"";}
100 | address{display:block;margin-bottom:18px;line-height:18px;font-style:normal;}
101 | small{font-size:100%;}
102 | cite{font-style:normal;}
103 | code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
104 | code{padding:3px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
105 | pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;white-space:pre;white-space:pre-wrap;word-break:break-all;word-wrap:break-word;}pre.prettyprint{margin-bottom:18px;}
106 | pre code{padding:0;color:inherit;background-color:transparent;border:0;}
107 | .pre-scrollable{max-height:340px;overflow-y:scroll;}
108 | form{margin:0 0 18px;}
109 | fieldset{padding:0;margin:0;border:0;}
110 | legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;}legend small{font-size:13.5px;color:#999999;}
111 | label,input,button,select,textarea{font-size:13px;font-weight:normal;line-height:18px;}
112 | input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;}
113 | label{display:block;margin-bottom:5px;color:#333333;}
114 | input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
115 | .uneditable-textarea{width:auto;height:auto;}
116 | label input,label textarea,label select{display:block;}
117 | input[type="image"],input[type="checkbox"],input[type="radio"]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:0 \9;}
118 | input[type="image"]{border:0;}
119 | input[type="file"]{width:auto;padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
120 | input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto;}
121 | select,input[type="file"]{height:28px;*margin-top:4px;line-height:28px;}
122 | input[type="file"]{line-height:18px \9;}
123 | select{width:220px;background-color:#ffffff;}
124 | select[multiple],select[size]{height:auto;}
125 | input[type="image"]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
126 | textarea{height:auto;}
127 | input[type="hidden"]{display:none;}
128 | .radio,.checkbox{padding-left:18px;}
129 | .radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px;}
130 | .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;}
131 | .radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;}
132 | .radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;}
133 | input,textarea{-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-ms-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s;}
134 | input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);outline:0;outline:thin dotted \9;}
135 | input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
136 | .input-mini{width:60px;}
137 | .input-small{width:90px;}
138 | .input-medium{width:150px;}
139 | .input-large{width:210px;}
140 | .input-xlarge{width:270px;}
141 | .input-xxlarge{width:530px;}
142 | input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{float:none;margin-left:0;}
143 | input.span1,textarea.span1,.uneditable-input.span1{width:50px;}
144 | input.span2,textarea.span2,.uneditable-input.span2{width:130px;}
145 | input.span3,textarea.span3,.uneditable-input.span3{width:210px;}
146 | input.span4,textarea.span4,.uneditable-input.span4{width:290px;}
147 | input.span5,textarea.span5,.uneditable-input.span5{width:370px;}
148 | input.span6,textarea.span6,.uneditable-input.span6{width:450px;}
149 | input.span7,textarea.span7,.uneditable-input.span7{width:530px;}
150 | input.span8,textarea.span8,.uneditable-input.span8{width:610px;}
151 | input.span9,textarea.span9,.uneditable-input.span9{width:690px;}
152 | input.span10,textarea.span10,.uneditable-input.span10{width:770px;}
153 | input.span11,textarea.span11,.uneditable-input.span11{width:850px;}
154 | input.span12,textarea.span12,.uneditable-input.span12{width:930px;}
155 | input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;}
156 | .control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;}
157 | .control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;border-color:#c09853;}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:0 0 6px #dbc59e;-moz-box-shadow:0 0 6px #dbc59e;box-shadow:0 0 6px #dbc59e;}
158 | .control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;}
159 | .control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;}
160 | .control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;border-color:#b94a48;}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:0 0 6px #d59392;-moz-box-shadow:0 0 6px #d59392;box-shadow:0 0 6px #d59392;}
161 | .control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;}
162 | .control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;}
163 | .control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;border-color:#468847;}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:0 0 6px #7aba7b;-moz-box-shadow:0 0 6px #7aba7b;box-shadow:0 0 6px #7aba7b;}
164 | .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;}
165 | input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b;}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;}
166 | .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd;}
167 | .uneditable-input{display:block;background-color:#ffffff;border-color:#eee;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;}
168 | :-moz-placeholder{color:#999999;}
169 | ::-webkit-input-placeholder{color:#999999;}
170 | .help-block{display:block;margin-top:5px;margin-bottom:0;color:#999999;}
171 | .help-inline{display:inline-block;*display:inline;*zoom:1;margin-bottom:9px;vertical-align:middle;padding-left:5px;}
172 | .input-prepend,.input-append{margin-bottom:5px;*zoom:1;}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;content:"";}
173 | .input-prepend:after,.input-append:after{clear:both;}
174 | .input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}.input-prepend input:focus,.input-append input:focus,.input-prepend .uneditable-input:focus,.input-append .uneditable-input:focus{position:relative;z-index:2;}
175 | .input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc;}
176 | .input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 5px;font-weight:normal;line-height:18px;color:#999999;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
177 | .input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;}
178 | .input-prepend .add-on{*margin-top:1px;}
179 | .input-append input,.input-append .uneditable-input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
180 | .input-append .uneditable-input{border-left-color:#eee;border-right-color:#ccc;}
181 | .input-append .add-on{margin-right:0;margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
182 | .input-append input:first-child{*margin-left:-160px;}.input-append input:first-child+.add-on{*margin-left:-21px;}
183 | .search-query{padding-left:14px;padding-right:14px;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
184 | .form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0;}
185 | .form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none;}
186 | .form-search label,.form-inline label,.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{display:inline-block;}
187 | .form-search .input-append .add-on,.form-inline .input-prepend .add-on,.form-search .input-append .add-on,.form-inline .input-prepend .add-on{vertical-align:middle;}
188 | .form-search .radio,.form-inline .radio,.form-search .checkbox,.form-inline .checkbox{margin-bottom:0;vertical-align:middle;}
189 | .control-group{margin-bottom:9px;}
190 | legend+.control-group{margin-top:18px;-webkit-margin-top-collapse:separate;}
191 | .form-horizontal .control-group{margin-bottom:18px;*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";}
192 | .form-horizontal .control-group:after{clear:both;}
193 | .form-horizontal .control-label{float:left;width:140px;padding-top:5px;text-align:right;}
194 | .form-horizontal .controls{margin-left:160px;}
195 | .form-horizontal .form-actions{padding-left:160px;}
196 | table{max-width:100%;border-collapse:collapse;border-spacing:0;}
197 | .table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid #ddd;}
198 | .table th{font-weight:bold;}
199 | .table thead th{vertical-align:bottom;}
200 | .table thead:first-child tr th,.table thead:first-child tr td{border-top:0;}
201 | .table tbody+tbody{border-top:2px solid #ddd;}
202 | .table-condensed th,.table-condensed td{padding:4px 5px;}
203 | .table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapsed;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{border-left:1px solid #ddd;}
204 | .table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;}
205 | .table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-radius:4px 0 0 0;-moz-border-radius:4px 0 0 0;border-radius:4px 0 0 0;}
206 | .table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0;}
207 | .table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;}
208 | .table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;}
209 | .table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
210 | .table tbody tr:hover td,.table tbody tr:hover th{background-color:#f5f5f5;}
211 | table .span1{float:none;width:44px;margin-left:0;}
212 | table .span2{float:none;width:124px;margin-left:0;}
213 | table .span3{float:none;width:204px;margin-left:0;}
214 | table .span4{float:none;width:284px;margin-left:0;}
215 | table .span5{float:none;width:364px;margin-left:0;}
216 | table .span6{float:none;width:444px;margin-left:0;}
217 | table .span7{float:none;width:524px;margin-left:0;}
218 | table .span8{float:none;width:604px;margin-left:0;}
219 | table .span9{float:none;width:684px;margin-left:0;}
220 | table .span10{float:none;width:764px;margin-left:0;}
221 | table .span11{float:none;width:844px;margin-left:0;}
222 | table .span12{float:none;width:924px;margin-left:0;}
223 | [class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat;*margin-right:.3em;}[class^="icon-"]:last-child,[class*=" icon-"]:last-child{*margin-left:0;}
224 | .icon-white{background-image:url("../img/glyphicons-halflings-white.png");}
225 | .icon-glass{background-position:0 0;}
226 | .icon-music{background-position:-24px 0;}
227 | .icon-search{background-position:-48px 0;}
228 | .icon-envelope{background-position:-72px 0;}
229 | .icon-heart{background-position:-96px 0;}
230 | .icon-star{background-position:-120px 0;}
231 | .icon-star-empty{background-position:-144px 0;}
232 | .icon-user{background-position:-168px 0;}
233 | .icon-film{background-position:-192px 0;}
234 | .icon-th-large{background-position:-216px 0;}
235 | .icon-th{background-position:-240px 0;}
236 | .icon-th-list{background-position:-264px 0;}
237 | .icon-ok{background-position:-288px 0;}
238 | .icon-remove{background-position:-312px 0;}
239 | .icon-zoom-in{background-position:-336px 0;}
240 | .icon-zoom-out{background-position:-360px 0;}
241 | .icon-off{background-position:-384px 0;}
242 | .icon-signal{background-position:-408px 0;}
243 | .icon-cog{background-position:-432px 0;}
244 | .icon-trash{background-position:-456px 0;}
245 | .icon-home{background-position:0 -24px;}
246 | .icon-file{background-position:-24px -24px;}
247 | .icon-time{background-position:-48px -24px;}
248 | .icon-road{background-position:-72px -24px;}
249 | .icon-download-alt{background-position:-96px -24px;}
250 | .icon-download{background-position:-120px -24px;}
251 | .icon-upload{background-position:-144px -24px;}
252 | .icon-inbox{background-position:-168px -24px;}
253 | .icon-play-circle{background-position:-192px -24px;}
254 | .icon-repeat{background-position:-216px -24px;}
255 | .icon-refresh{background-position:-240px -24px;}
256 | .icon-list-alt{background-position:-264px -24px;}
257 | .icon-lock{background-position:-287px -24px;}
258 | .icon-flag{background-position:-312px -24px;}
259 | .icon-headphones{background-position:-336px -24px;}
260 | .icon-volume-off{background-position:-360px -24px;}
261 | .icon-volume-down{background-position:-384px -24px;}
262 | .icon-volume-up{background-position:-408px -24px;}
263 | .icon-qrcode{background-position:-432px -24px;}
264 | .icon-barcode{background-position:-456px -24px;}
265 | .icon-tag{background-position:0 -48px;}
266 | .icon-tags{background-position:-25px -48px;}
267 | .icon-book{background-position:-48px -48px;}
268 | .icon-bookmark{background-position:-72px -48px;}
269 | .icon-print{background-position:-96px -48px;}
270 | .icon-camera{background-position:-120px -48px;}
271 | .icon-font{background-position:-144px -48px;}
272 | .icon-bold{background-position:-167px -48px;}
273 | .icon-italic{background-position:-192px -48px;}
274 | .icon-text-height{background-position:-216px -48px;}
275 | .icon-text-width{background-position:-240px -48px;}
276 | .icon-align-left{background-position:-264px -48px;}
277 | .icon-align-center{background-position:-288px -48px;}
278 | .icon-align-right{background-position:-312px -48px;}
279 | .icon-align-justify{background-position:-336px -48px;}
280 | .icon-list{background-position:-360px -48px;}
281 | .icon-indent-left{background-position:-384px -48px;}
282 | .icon-indent-right{background-position:-408px -48px;}
283 | .icon-facetime-video{background-position:-432px -48px;}
284 | .icon-picture{background-position:-456px -48px;}
285 | .icon-pencil{background-position:0 -72px;}
286 | .icon-map-marker{background-position:-24px -72px;}
287 | .icon-adjust{background-position:-48px -72px;}
288 | .icon-tint{background-position:-72px -72px;}
289 | .icon-edit{background-position:-96px -72px;}
290 | .icon-share{background-position:-120px -72px;}
291 | .icon-check{background-position:-144px -72px;}
292 | .icon-move{background-position:-168px -72px;}
293 | .icon-step-backward{background-position:-192px -72px;}
294 | .icon-fast-backward{background-position:-216px -72px;}
295 | .icon-backward{background-position:-240px -72px;}
296 | .icon-play{background-position:-264px -72px;}
297 | .icon-pause{background-position:-288px -72px;}
298 | .icon-stop{background-position:-312px -72px;}
299 | .icon-forward{background-position:-336px -72px;}
300 | .icon-fast-forward{background-position:-360px -72px;}
301 | .icon-step-forward{background-position:-384px -72px;}
302 | .icon-eject{background-position:-408px -72px;}
303 | .icon-chevron-left{background-position:-432px -72px;}
304 | .icon-chevron-right{background-position:-456px -72px;}
305 | .icon-plus-sign{background-position:0 -96px;}
306 | .icon-minus-sign{background-position:-24px -96px;}
307 | .icon-remove-sign{background-position:-48px -96px;}
308 | .icon-ok-sign{background-position:-72px -96px;}
309 | .icon-question-sign{background-position:-96px -96px;}
310 | .icon-info-sign{background-position:-120px -96px;}
311 | .icon-screenshot{background-position:-144px -96px;}
312 | .icon-remove-circle{background-position:-168px -96px;}
313 | .icon-ok-circle{background-position:-192px -96px;}
314 | .icon-ban-circle{background-position:-216px -96px;}
315 | .icon-arrow-left{background-position:-240px -96px;}
316 | .icon-arrow-right{background-position:-264px -96px;}
317 | .icon-arrow-up{background-position:-289px -96px;}
318 | .icon-arrow-down{background-position:-312px -96px;}
319 | .icon-share-alt{background-position:-336px -96px;}
320 | .icon-resize-full{background-position:-360px -96px;}
321 | .icon-resize-small{background-position:-384px -96px;}
322 | .icon-plus{background-position:-408px -96px;}
323 | .icon-minus{background-position:-433px -96px;}
324 | .icon-asterisk{background-position:-456px -96px;}
325 | .icon-exclamation-sign{background-position:0 -120px;}
326 | .icon-gift{background-position:-24px -120px;}
327 | .icon-leaf{background-position:-48px -120px;}
328 | .icon-fire{background-position:-72px -120px;}
329 | .icon-eye-open{background-position:-96px -120px;}
330 | .icon-eye-close{background-position:-120px -120px;}
331 | .icon-warning-sign{background-position:-144px -120px;}
332 | .icon-plane{background-position:-168px -120px;}
333 | .icon-calendar{background-position:-192px -120px;}
334 | .icon-random{background-position:-216px -120px;}
335 | .icon-comment{background-position:-240px -120px;}
336 | .icon-magnet{background-position:-264px -120px;}
337 | .icon-chevron-up{background-position:-288px -120px;}
338 | .icon-chevron-down{background-position:-313px -119px;}
339 | .icon-retweet{background-position:-336px -120px;}
340 | .icon-shopping-cart{background-position:-360px -120px;}
341 | .icon-folder-close{background-position:-384px -120px;}
342 | .icon-folder-open{background-position:-408px -120px;}
343 | .icon-resize-vertical{background-position:-432px -119px;}
344 | .icon-resize-horizontal{background-position:-456px -118px;}
345 | .dropdown{position:relative;}
346 | .dropdown-toggle{*margin-bottom:-3px;}
347 | .dropdown-toggle:active,.open .dropdown-toggle{outline:0;}
348 | .caret{display:inline-block;width:0;height:0;text-indent:-99999px;*text-indent:0;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;opacity:0.3;filter:alpha(opacity=30);content:"\2193";}
349 | .dropdown .caret{margin-top:8px;margin-left:2px;}
350 | .dropdown:hover .caret,.open.dropdown .caret{opacity:1;filter:alpha(opacity=100);}
351 | .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;_width:160px;padding:4px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#ccc;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:1px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px;}
352 | .dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;*width:100%;*margin:-5px 0 5px;}
353 | .dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555555;white-space:nowrap;}
354 | .dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;background-color:#0088cc;}
355 | .dropdown.open{*z-index:1000;}.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);}
356 | .dropdown.open .dropdown-menu{display:block;}
357 | .typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
358 | .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);}
359 | .fade{-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-ms-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;opacity:0;}.fade.in{opacity:1;}
360 | .collapse{-webkit-transition:height 0.35s ease;-moz-transition:height 0.35s ease;-ms-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease;position:relative;overflow:hidden;height:0;}.collapse.in{height:auto;}
361 | .close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover{color:#000000;text-decoration:none;opacity:0.4;filter:alpha(opacity=40);cursor:pointer;}
362 | .btn{display:inline-block;padding:4px 10px 4px;margin-bottom:0;font-size:13px;line-height:18px;color:#333333;text-align:center;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);vertical-align:middle;background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-ms-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(top, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);cursor:pointer;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);*margin-left:.3em;}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{background-color:#e6e6e6;}
363 | .btn:active,.btn.active{background-color:#cccccc \9;}
364 | .btn:first-child{*margin-left:0;}
365 | .btn:hover{color:#333333;text-decoration:none;background-color:#e6e6e6;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-ms-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear;}
366 | .btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
367 | .btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);background-color:#e6e6e6;background-color:#d9d9d9 \9;outline:0;}
368 | .btn.disabled,.btn[disabled]{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
369 | .btn-large{padding:9px 14px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
370 | .btn-large [class^="icon-"]{margin-top:1px;}
371 | .btn-small{padding:5px 9px;font-size:11px;line-height:16px;}
372 | .btn-small [class^="icon-"]{margin-top:-1px;}
373 | .btn-mini{padding:2px 6px;font-size:11px;line-height:14px;}
374 | .btn-primary,.btn-primary:hover,.btn-warning,.btn-warning:hover,.btn-danger,.btn-danger:hover,.btn-success,.btn-success:hover,.btn-info,.btn-info:hover,.btn-inverse,.btn-inverse:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;}
375 | .btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-dark.active{color:rgba(255, 255, 255, 0.75);}
376 | .btn-primary{background-color:#006dcc;background-image:-moz-linear-gradient(top, #0088cc, #0044cc);background-image:-ms-linear-gradient(top, #0088cc, #0044cc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));background-image:-webkit-linear-gradient(top, #0088cc, #0044cc);background-image:-o-linear-gradient(top, #0088cc, #0044cc);background-image:linear-gradient(top, #0088cc, #0044cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);border-color:#0044cc #0044cc #002a80;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{background-color:#0044cc;}
377 | .btn-primary:active,.btn-primary.active{background-color:#003399 \9;}
378 | .btn-warning{background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-ms-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(top, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{background-color:#f89406;}
379 | .btn-warning:active,.btn-warning.active{background-color:#c67605 \9;}
380 | .btn-danger{background-color:#da4f49;background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);background-image:-ms-linear-gradient(top, #ee5f5b, #bd362f);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);background-image:linear-gradient(top, #ee5f5b, #bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{background-color:#bd362f;}
381 | .btn-danger:active,.btn-danger.active{background-color:#942a25 \9;}
382 | .btn-success{background-color:#5bb75b;background-image:-moz-linear-gradient(top, #62c462, #51a351);background-image:-ms-linear-gradient(top, #62c462, #51a351);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));background-image:-webkit-linear-gradient(top, #62c462, #51a351);background-image:-o-linear-gradient(top, #62c462, #51a351);background-image:linear-gradient(top, #62c462, #51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{background-color:#51a351;}
383 | .btn-success:active,.btn-success.active{background-color:#408140 \9;}
384 | .btn-info{background-color:#49afcd;background-image:-moz-linear-gradient(top, #5bc0de, #2f96b4);background-image:-ms-linear-gradient(top, #5bc0de, #2f96b4);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));background-image:-webkit-linear-gradient(top, #5bc0de, #2f96b4);background-image:-o-linear-gradient(top, #5bc0de, #2f96b4);background-image:linear-gradient(top, #5bc0de, #2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{background-color:#2f96b4;}
385 | .btn-info:active,.btn-info.active{background-color:#24748c \9;}
386 | .btn-inverse{background-color:#393939;background-image:-moz-linear-gradient(top, #454545, #262626);background-image:-ms-linear-gradient(top, #454545, #262626);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626));background-image:-webkit-linear-gradient(top, #454545, #262626);background-image:-o-linear-gradient(top, #454545, #262626);background-image:linear-gradient(top, #454545, #262626);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0);border-color:#262626 #262626 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{background-color:#262626;}
387 | .btn-inverse:active,.btn-inverse.active{background-color:#0c0c0c \9;}
388 | button.btn,input[type="submit"].btn{*padding-top:2px;*padding-bottom:2px;}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0;}
389 | button.btn.large,input[type="submit"].btn.large{*padding-top:7px;*padding-bottom:7px;}
390 | button.btn.small,input[type="submit"].btn.small{*padding-top:3px;*padding-bottom:3px;}
391 | .btn-group{position:relative;*zoom:1;*margin-left:.3em;}.btn-group:before,.btn-group:after{display:table;content:"";}
392 | .btn-group:after{clear:both;}
393 | .btn-group:first-child{*margin-left:0;}
394 | .btn-group+.btn-group{margin-left:5px;}
395 | .btn-toolbar{margin-top:9px;margin-bottom:9px;}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1;}
396 | .btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
397 | .btn-group .btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;}
398 | .btn-group .btn:last-child,.btn-group .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;}
399 | .btn-group .btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;}
400 | .btn-group .btn.large:last-child,.btn-group .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;}
401 | .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active,.btn-group .btn.active{z-index:2;}
402 | .btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;}
403 | .btn-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);*padding-top:5px;*padding-bottom:5px;}
404 | .btn-group.open{*z-index:1000;}.btn-group.open .dropdown-menu{display:block;margin-top:1px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
405 | .btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);}
406 | .btn .caret{margin-top:7px;margin-left:0;}
407 | .btn:hover .caret,.open.btn-group .caret{opacity:1;filter:alpha(opacity=100);}
408 | .btn-primary .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#ffffff;opacity:0.75;filter:alpha(opacity=75);}
409 | .btn-small .caret{margin-top:4px;}
410 | .alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
411 | .alert,.alert-heading{color:#c09853;}
412 | .alert .close{position:relative;top:-2px;right:-21px;line-height:18px;}
413 | .alert-success{background-color:#dff0d8;border-color:#d6e9c6;}
414 | .alert-success,.alert-success .alert-heading{color:#468847;}
415 | .alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;}
416 | .alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading{color:#b94a48;}
417 | .alert-info{background-color:#d9edf7;border-color:#bce8f1;}
418 | .alert-info,.alert-info .alert-heading{color:#3a87ad;}
419 | .alert-block{padding-top:14px;padding-bottom:14px;}
420 | .alert-block>p,.alert-block>ul{margin-bottom:0;}
421 | .alert-block p+p{margin-top:5px;}
422 | .nav{margin-left:0;margin-bottom:18px;list-style:none;}
423 | .nav>li>a{display:block;}
424 | .nav>li>a:hover{text-decoration:none;background-color:#eeeeee;}
425 | .nav .nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:18px;color:#999999;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-transform:uppercase;}
426 | .nav li+.nav-header{margin-top:9px;}
427 | .nav-list{padding-left:14px;padding-right:14px;margin-bottom:0;}
428 | .nav-list>li>a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}
429 | .nav-list>li>a{padding:3px 15px;}
430 | .nav-list .active>a,.nav-list .active>a:hover{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;}
431 | .nav-list [class^="icon-"]{margin-right:2px;}
432 | .nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";}
433 | .nav-tabs:after,.nav-pills:after{clear:both;}
434 | .nav-tabs>li,.nav-pills>li{float:left;}
435 | .nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;}
436 | .nav-tabs{border-bottom:1px solid #ddd;}
437 | .nav-tabs>li{margin-bottom:-1px;}
438 | .nav-tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;}
439 | .nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;}
440 | .nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
441 | .nav-pills .active>a,.nav-pills .active>a:hover{color:#ffffff;background-color:#0088cc;}
442 | .nav-stacked>li{float:none;}
443 | .nav-stacked>li>a{margin-right:0;}
444 | .nav-tabs.nav-stacked{border-bottom:0;}
445 | .nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
446 | .nav-tabs.nav-stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}
447 | .nav-tabs.nav-stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}
448 | .nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2;}
449 | .nav-pills.nav-stacked>li>a{margin-bottom:3px;}
450 | .nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;}
451 | .nav-tabs .dropdown-menu,.nav-pills .dropdown-menu{margin-top:1px;border-width:1px;}
452 | .nav-pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
453 | .nav-tabs .dropdown-toggle .caret,.nav-pills .dropdown-toggle .caret{border-top-color:#0088cc;margin-top:6px;}
454 | .nav-tabs .dropdown-toggle:hover .caret,.nav-pills .dropdown-toggle:hover .caret{border-top-color:#005580;}
455 | .nav-tabs .active .dropdown-toggle .caret,.nav-pills .active .dropdown-toggle .caret{border-top-color:#333333;}
456 | .nav>.dropdown.active>a:hover{color:#000000;cursor:pointer;}
457 | .nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;}
458 | .nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#ffffff;opacity:1;filter:alpha(opacity=100);}
459 | .tabs-stacked .open>a:hover{border-color:#999999;}
460 | .tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";}
461 | .tabbable:after{clear:both;}
462 | .tab-content{overflow:hidden;}
463 | .tabs-below .nav-tabs,.tabs-right .nav-tabs,.tabs-left .nav-tabs{border-bottom:0;}
464 | .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;}
465 | .tab-content>.active,.pill-content>.active{display:block;}
466 | .tabs-below .nav-tabs{border-top:1px solid #ddd;}
467 | .tabs-below .nav-tabs>li{margin-top:-1px;margin-bottom:0;}
468 | .tabs-below .nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below .nav-tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;}
469 | .tabs-below .nav-tabs .active>a,.tabs-below .nav-tabs .active>a:hover{border-color:transparent #ddd #ddd #ddd;}
470 | .tabs-left .nav-tabs>li,.tabs-right .nav-tabs>li{float:none;}
471 | .tabs-left .nav-tabs>li>a,.tabs-right .nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;}
472 | .tabs-left .nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;}
473 | .tabs-left .nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}
474 | .tabs-left .nav-tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;}
475 | .tabs-left .nav-tabs .active>a,.tabs-left .nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;}
476 | .tabs-right .nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;}
477 | .tabs-right .nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}
478 | .tabs-right .nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;}
479 | .tabs-right .nav-tabs .active>a,.tabs-right .nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;}
480 | .navbar{overflow:visible;margin-bottom:18px;}
481 | .navbar-inner{padding-left:20px;padding-right:20px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);}
482 | .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);}.btn-navbar:hover,.btn-navbar:active,.btn-navbar.active,.btn-navbar.disabled,.btn-navbar[disabled]{background-color:#222222;}
483 | .btn-navbar:active,.btn-navbar.active{background-color:#080808 \9;}
484 | .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);-moz-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);}
485 | .btn-navbar .icon-bar+.icon-bar{margin-top:3px;}
486 | .nav-collapse.collapse{height:auto;}
487 | .navbar .brand:hover{text-decoration:none;}
488 | .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;}
489 | .navbar .navbar-text{margin-bottom:0;line-height:40px;color:#999999;}.navbar .navbar-text a:hover{color:#ffffff;background-color:transparent;}
490 | .navbar .btn,.navbar .btn-group{margin-top:5px;}
491 | .navbar .btn-group .btn{margin-top:0;}
492 | .navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";}
493 | .navbar-form:after{clear:both;}
494 | .navbar-form input,.navbar-form select{display:inline-block;margin-top:5px;margin-bottom:0;}
495 | .navbar-form .radio,.navbar-form .checkbox{margin-top:5px;}
496 | .navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;}
497 | .navbar-form .input-append,.navbar-form .input-prepend{margin-top:6px;white-space:nowrap;}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0;}
498 | .navbar-search{position:relative;float:left;margin-top:6px;margin-bottom:0;}.navbar-search .search-query{padding:4px 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;color:rgba(255, 255, 255, 0.75);background:#666;background:rgba(255, 255, 255, 0.3);border:1px solid #111;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query :-moz-placeholder{color:#eeeeee;}
499 | .navbar-search .search-query::-webkit-input-placeholder{color:#eeeeee;}
500 | .navbar-search .search-query:hover{color:#ffffff;background-color:#999999;background-color:rgba(255, 255, 255, 0.5);}
501 | .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;}
502 | .navbar-fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030;}
503 | .navbar-fixed-top .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}
504 | .navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;}
505 | .navbar .nav.pull-right{float:right;}
506 | .navbar .nav>li{display:block;float:left;}
507 | .navbar .nav>li>a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}
508 | .navbar .nav>li>a:hover{background-color:transparent;color:#ffffff;text-decoration:none;}
509 | .navbar .nav .active>a,.navbar .nav .active>a:hover{color:#ffffff;text-decoration:none;background-color:#222222;}
510 | .navbar .divider-vertical{height:40px;width:1px;margin:0 9px;overflow:hidden;background-color:#222222;border-right:1px solid #333333;}
511 | .navbar .nav.pull-right{margin-left:10px;margin-right:0;}
512 | .navbar .dropdown-menu{margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;}
513 | .navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;position:absolute;top:-6px;left:10px;}
514 | .navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#ffffff;}
515 | .navbar .nav .active .caret{opacity:1;filter:alpha(opacity=100);}
516 | .navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;}
517 | .navbar .nav .active>.dropdown-toggle:hover{color:#ffffff;}
518 | .navbar .nav.pull-right .dropdown-menu{left:auto;right:0;}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px;}
519 | .navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px;}
520 | .breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#fbfbfb;background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);background-image:-o-linear-gradient(top, #ffffff, #f5f5f5);background-image:linear-gradient(top, #ffffff, #f5f5f5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;}.breadcrumb li{display:inline-block;text-shadow:0 1px 0 #ffffff;}
521 | .breadcrumb .divider{padding:0 5px;color:#999999;}
522 | .breadcrumb .active a{color:#333333;}
523 | .pagination{height:36px;margin:18px 0;}
524 | .pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);}
525 | .pagination li{display:inline;}
526 | .pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0;}
527 | .pagination a:hover,.pagination .active a{background-color:#f5f5f5;}
528 | .pagination .active a{color:#999999;cursor:default;}
529 | .pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;}
530 | .pagination li:first-child a{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;}
531 | .pagination li:last-child a{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}
532 | .pagination-centered{text-align:center;}
533 | .pagination-right{text-align:right;}
534 | .pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";}
535 | .pager:after{clear:both;}
536 | .pager li{display:inline;}
537 | .pager a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}
538 | .pager a:hover{text-decoration:none;background-color:#f5f5f5;}
539 | .pager .next a{float:right;}
540 | .pager .previous a{float:left;}
541 | .modal-open .dropdown-menu{z-index:2050;}
542 | .modal-open .dropdown.open{*z-index:2050;}
543 | .modal-open .popover{z-index:2060;}
544 | .modal-open .tooltip{z-index:2070;}
545 | .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;}
546 | .modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);}
547 | .modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-ms-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;}
548 | .modal.fade.in{top:50%;}
549 | .modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;}
550 | .modal-body{padding:15px;}
551 | .modal-body .modal-form{margin-bottom:0;}
552 | .modal-footer{padding:14px 15px 15px;margin-bottom:0;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";}
553 | .modal-footer:after{clear:both;}
554 | .modal-footer .btn{float:right;margin-left:5px;margin-bottom:0;}
555 | .tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);}
556 | .tooltip.top{margin-top:-2px;}
557 | .tooltip.right{margin-left:2px;}
558 | .tooltip.bottom{margin-top:2px;}
559 | .tooltip.left{margin-left:-2px;}
560 | .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
561 | .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
562 | .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
563 | .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
564 | .tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
565 | .tooltip-arrow{position:absolute;width:0;height:0;}
566 | .popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px;}.popover.top{margin-top:-5px;}
567 | .popover.right{margin-left:5px;}
568 | .popover.bottom{margin-top:5px;}
569 | .popover.left{margin-left:-5px;}
570 | .popover.top .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}
571 | .popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}
572 | .popover.bottom .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}
573 | .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}
574 | .popover .arrow{position:absolute;width:0;height:0;}
575 | .popover-inner{padding:3px;width:280px;overflow:hidden;background:#000000;background:rgba(0, 0, 0, 0.8);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);}
576 | .popover-title{padding:9px 15px;line-height:1;background-color:#f5f5f5;border-bottom:1px solid #eee;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;}
577 | .popover-content{padding:14px;background-color:#ffffff;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0;}
578 | .thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";}
579 | .thumbnails:after{clear:both;}
580 | .thumbnails>li{float:left;margin:0 0 18px 20px;}
581 | .thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);}
582 | a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);}
583 | .thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;}
584 | .thumbnail .caption{padding:9px;}
585 | .label{padding:2px 4px 3px;font-size:11.049999999999999px;font-weight:bold;color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
586 | .label:hover{color:#ffffff;text-decoration:none;}
587 | .label-important{background-color:#b94a48;}
588 | .label-important:hover{background-color:#953b39;}
589 | .label-warning{background-color:#f89406;}
590 | .label-warning:hover{background-color:#c67605;}
591 | .label-success{background-color:#468847;}
592 | .label-success:hover{background-color:#356635;}
593 | .label-info{background-color:#3a87ad;}
594 | .label-info:hover{background-color:#2d6987;}
595 | @-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(top, #f5f5f5, #f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
596 | .progress .bar{width:0%;height:18px;color:#ffffff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));background-image:-webkit-linear-gradient(top, #149bdf, #0480be);background-image:-o-linear-gradient(top, #149bdf, #0480be);background-image:linear-gradient(top, #149bdf, #0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width 0.6s ease;-moz-transition:width 0.6s ease;-ms-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;}
597 | .progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;}
598 | .progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;}
599 | .progress-danger .bar{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);}
600 | .progress-danger.progress-striped .bar{background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
601 | .progress-success .bar{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);}
602 | .progress-success.progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
603 | .progress-info .bar{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);}
604 | .progress-info.progress-striped .bar{background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);}
605 | .accordion{margin-bottom:18px;}
606 | .accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
607 | .accordion-heading{border-bottom:0;}
608 | .accordion-heading .accordion-toggle{display:block;padding:8px 15px;}
609 | .accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;}
610 | .carousel{position:relative;margin-bottom:18px;line-height:1;}
611 | .carousel-inner{overflow:hidden;width:100%;position:relative;}
612 | .carousel .item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-moz-transition:0.6s ease-in-out left;-ms-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;}
613 | .carousel .item>img{display:block;line-height:1;}
614 | .carousel .active,.carousel .next,.carousel .prev{display:block;}
615 | .carousel .active{left:0;}
616 | .carousel .next,.carousel .prev{position:absolute;top:0;width:100%;}
617 | .carousel .next{left:100%;}
618 | .carousel .prev{left:-100%;}
619 | .carousel .next.left,.carousel .prev.right{left:0;}
620 | .carousel .active.left{left:-100%;}
621 | .carousel .active.right{left:100%;}
622 | .carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);}.carousel-control.right{left:auto;right:15px;}
623 | .carousel-control:hover{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);}
624 | .carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 15px 5px;background:#333333;background:rgba(0, 0, 0, 0.75);}
625 | .carousel-caption h4,.carousel-caption p{color:#ffffff;}
626 | .hero-unit{padding:60px;margin-bottom:30px;background-color:#f5f5f5;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;}
627 | .hero-unit p{font-size:18px;font-weight:200;line-height:27px;}
628 | .pull-right{float:right;}
629 | .pull-left{float:left;}
630 | .hide{display:none;}
631 | .show{display:block;}
632 | .invisible{visibility:hidden;}
633 |
--------------------------------------------------------------------------------