├── .gitignore ├── 404.html ├── History.markdown ├── README.md ├── Rakefile ├── _config.yml ├── _includes ├── JB │ ├── analytics │ ├── analytics-providers │ │ ├── getclicky │ │ ├── google │ │ ├── mixpanel │ │ └── piwik │ ├── categories_list │ ├── comments │ ├── comments-providers │ │ ├── disqus │ │ ├── facebook │ │ ├── intensedebate │ │ └── livefyre │ ├── liquid_raw │ ├── pages_list │ ├── posts_collate │ ├── setup │ ├── sharing │ └── tags_list └── themes │ └── twitter │ ├── default.html │ ├── page.html │ ├── post.html │ └── settings.yml ├── _layouts ├── category_archive.html ├── default.html ├── page.html └── post.html ├── _plugins └── debug.rb ├── _posts ├── 2011-01-12-prime.md ├── 2014-04-20-githubpages.md ├── 2014-04-21-future.md ├── 2014-04-23-chinese-messy-code.md ├── 2014-04-23-finish-jekyll.md ├── 2014-04-24-directory.md ├── 2014-04-25-python-code.md ├── 2014-04-27-install-jekyll.md ├── 2014-05-03-view_render.md ├── 2014-05-10-template.md └── 2014-05-20-collect_color.md ├── archive.html ├── assets └── themes │ └── twitter │ ├── bootstrap │ ├── css │ │ └── bootstrap.2.2.2.min.css │ └── img │ │ ├── card_bg.jpg │ │ ├── date_label_bg.png │ │ ├── date_label_small_bg.png │ │ ├── glyphicons-halflings-white.png │ │ ├── glyphicons-halflings.png │ │ ├── shadow_bg.png │ │ ├── shadow_middle_bg.png │ │ └── shadow_small_bg.png │ ├── css │ ├── img │ │ ├── body_bg.jpg │ │ ├── body_bg.png │ │ ├── body_bg1.png │ │ ├── card_bg.jpg │ │ ├── date_label_bg.png │ │ ├── date_label_small_bg.png │ │ ├── postbg.jpg │ │ └── shadow_bg.png │ ├── prettify.css │ └── style.css │ └── js │ └── prettify.js ├── atom.xml ├── categories.html ├── changelog.md ├── image └── collect_color.jpg ├── index.md ├── pages.html ├── pygments.css ├── rss.xml ├── sitemap.txt └── tags.html /.gitignore: -------------------------------------------------------------------------------- 1 | _site/* 2 | _theme_packages/* 3 | 4 | Thumbs.db 5 | .DS_Store 6 | 7 | !.gitkeep 8 | 9 | .rbenv-version 10 | .rvmrc 11 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | Sorry this page does not exist =( 2 | -------------------------------------------------------------------------------- /History.markdown: -------------------------------------------------------------------------------- 1 | ## HEAD 2 | 3 | ### Major Enhancements 4 | 5 | ### Minor Enahncements 6 | * Add `drafts` folder support (#167) 7 | * Add `excerpt` support (#168) 8 | * Create History.markdown to help project management (#169) 9 | 10 | ### Bug Fixes 11 | 12 | ### Site Enhancements 13 | 14 | ### Compatibility updates 15 | * Update `preview` task 16 | 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #jekylll blog 2 | 3 | * 基于jekyll的blog 4 | * 使用了bootstrap框架 5 | * 使用font-awesome进行修饰 6 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require "rubygems" 2 | require 'rake' 3 | require 'yaml' 4 | require 'time' 5 | 6 | SOURCE = "." 7 | CONFIG = { 8 | 'version' => "0.3.0", 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"] [tags=[tag1,tag2]] [category="category"] 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 | tags = ENV["tags"] || "[]" 49 | category = ENV["category"] || "" 50 | category = "\"#{category.gsub(/-/,' ')}\"" if !category.empty? 51 | slug = title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '') 52 | begin 53 | date = (ENV['date'] ? Time.parse(ENV['date']) : Time.now).strftime('%Y-%m-%d') 54 | rescue => e 55 | puts "Error - date format must be YYYY-MM-DD, please check you typed it correctly!" 56 | exit -1 57 | end 58 | filename = File.join(CONFIG['posts'], "#{date}-#{slug}.#{CONFIG['post_ext']}") 59 | if File.exist?(filename) 60 | abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n' 61 | end 62 | 63 | puts "Creating new post: #{filename}" 64 | open(filename, 'w') do |post| 65 | post.puts "---" 66 | post.puts "layout: post" 67 | post.puts "title: \"#{title.gsub(/-/,' ')}\"" 68 | post.puts 'description: ""' 69 | post.puts "category: #{category}" 70 | post.puts "tags: #{tags}" 71 | post.puts "---" 72 | post.puts "{% include JB/setup %}" 73 | end 74 | end # task :post 75 | 76 | # Usage: rake page name="about.html" 77 | # You can also specify a sub-directory path. 78 | # If you don't specify a file extention we create an index.html at the path specified 79 | desc "Create a new page." 80 | task :page do 81 | name = ENV["name"] || "new-page.md" 82 | filename = File.join(SOURCE, "#{name}") 83 | filename = File.join(filename, "index.html") if File.extname(filename) == "" 84 | title = File.basename(filename, File.extname(filename)).gsub(/[\W\_]/, " ").gsub(/\b\w/){$&.upcase} 85 | if File.exist?(filename) 86 | abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n' 87 | end 88 | 89 | mkdir_p File.dirname(filename) 90 | puts "Creating new page: #{filename}" 91 | open(filename, 'w') do |post| 92 | post.puts "---" 93 | post.puts "layout: page" 94 | post.puts "title: \"#{title}\"" 95 | post.puts 'description: ""' 96 | post.puts "---" 97 | post.puts "{% include JB/setup %}" 98 | end 99 | end # task :page 100 | 101 | desc "Launch preview environment" 102 | task :preview do 103 | system "jekyll serve -w" 104 | end # task :preview 105 | 106 | # Public: Alias - Maintains backwards compatability for theme switching. 107 | task :switch_theme => "theme:switch" 108 | 109 | namespace :theme do 110 | 111 | # Public: Switch from one theme to another for your blog. 112 | # 113 | # name - String, Required. name of the theme you want to switch to. 114 | # The theme must be installed into your JB framework. 115 | # 116 | # Examples 117 | # 118 | # rake theme:switch name="the-program" 119 | # 120 | # Returns Success/failure messages. 121 | desc "Switch between Jekyll-bootstrap themes." 122 | task :switch do 123 | theme_name = ENV["name"].to_s 124 | theme_path = File.join(CONFIG['themes'], theme_name) 125 | settings_file = File.join(theme_path, "settings.yml") 126 | non_layout_files = ["settings.yml"] 127 | 128 | abort("rake aborted: name cannot be blank") if theme_name.empty? 129 | abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path) 130 | abort("rake aborted: '#{CONFIG['layouts']}' directory not found.") unless FileTest.directory?(CONFIG['layouts']) 131 | 132 | Dir.glob("#{theme_path}/*") do |filename| 133 | next if non_layout_files.include?(File.basename(filename).downcase) 134 | puts "Generating '#{theme_name}' layout: #{File.basename(filename)}" 135 | 136 | open(File.join(CONFIG['layouts'], File.basename(filename)), 'w') do |page| 137 | if File.basename(filename, ".html").downcase == "default" 138 | page.puts "---" 139 | page.puts File.read(settings_file) if File.exist?(settings_file) 140 | page.puts "---" 141 | else 142 | page.puts "---" 143 | page.puts "layout: default" 144 | page.puts "---" 145 | end 146 | page.puts "{% include JB/setup %}" 147 | page.puts "{% include themes/#{theme_name}/#{File.basename(filename)} %}" 148 | end 149 | end 150 | 151 | puts "=> Theme successfully switched!" 152 | puts "=> Reload your web-page to check it out =)" 153 | end # task :switch 154 | 155 | # Public: Install a theme using the theme packager. 156 | # Version 0.1.0 simple 1:1 file matching. 157 | # 158 | # git - String, Optional path to the git repository of the theme to be installed. 159 | # name - String, Optional name of the theme you want to install. 160 | # Passing name requires that the theme package already exist. 161 | # 162 | # Examples 163 | # 164 | # rake theme:install git="https://github.com/jekyllbootstrap/theme-twitter.git" 165 | # rake theme:install name="cool-theme" 166 | # 167 | # Returns Success/failure messages. 168 | desc "Install theme" 169 | task :install do 170 | if ENV["git"] 171 | manifest = theme_from_git_url(ENV["git"]) 172 | name = manifest["name"] 173 | else 174 | name = ENV["name"].to_s.downcase 175 | end 176 | 177 | packaged_theme_path = JB::Path.build(:theme_packages, :node => name) 178 | 179 | abort("rake aborted! 180 | => ERROR: 'name' cannot be blank") if name.empty? 181 | abort("rake aborted! 182 | => ERROR: '#{packaged_theme_path}' directory not found. 183 | => Installable themes can be added via git. You can find some here: http://github.com/jekyllbootstrap 184 | => To download+install run: `rake theme:install git='[PUBLIC-CLONE-URL]'` 185 | => example : rake theme:install git='git@github.com:jekyllbootstrap/theme-the-program.git' 186 | ") unless FileTest.directory?(packaged_theme_path) 187 | 188 | manifest = verify_manifest(packaged_theme_path) 189 | 190 | # Get relative paths to packaged theme files 191 | # Exclude directories as they'll be recursively created. Exclude meta-data files. 192 | packaged_theme_files = [] 193 | FileUtils.cd(packaged_theme_path) { 194 | Dir.glob("**/*.*") { |f| 195 | next if ( FileTest.directory?(f) || f =~ /^(manifest|readme|packager)/i ) 196 | packaged_theme_files << f 197 | } 198 | } 199 | 200 | # Mirror each file into the framework making sure to prompt if already exists. 201 | packaged_theme_files.each do |filename| 202 | file_install_path = File.join(JB::Path.base, filename) 203 | if File.exist? file_install_path and ask("#{file_install_path} already exists. Do you want to overwrite?", ['y', 'n']) == 'n' 204 | next 205 | else 206 | mkdir_p File.dirname(file_install_path) 207 | cp_r File.join(packaged_theme_path, filename), file_install_path 208 | end 209 | end 210 | 211 | puts "=> #{name} theme has been installed!" 212 | puts "=> ---" 213 | if ask("=> Want to switch themes now?", ['y', 'n']) == 'y' 214 | system("rake switch_theme name='#{name}'") 215 | end 216 | end 217 | 218 | # Public: Package a theme using the theme packager. 219 | # The theme must be structured using valid JB API. 220 | # In other words packaging is essentially the reverse of installing. 221 | # 222 | # name - String, Required name of the theme you want to package. 223 | # 224 | # Examples 225 | # 226 | # rake theme:package name="twitter" 227 | # 228 | # Returns Success/failure messages. 229 | desc "Package theme" 230 | task :package do 231 | name = ENV["name"].to_s.downcase 232 | theme_path = JB::Path.build(:themes, :node => name) 233 | asset_path = JB::Path.build(:theme_assets, :node => name) 234 | 235 | abort("rake aborted: name cannot be blank") if name.empty? 236 | abort("rake aborted: '#{theme_path}' directory not found.") unless FileTest.directory?(theme_path) 237 | abort("rake aborted: '#{asset_path}' directory not found.") unless FileTest.directory?(asset_path) 238 | 239 | ## Mirror theme's template directory (_includes) 240 | packaged_theme_path = JB::Path.build(:themes, :root => JB::Path.build(:theme_packages, :node => name)) 241 | mkdir_p packaged_theme_path 242 | cp_r theme_path, packaged_theme_path 243 | 244 | ## Mirror theme's asset directory 245 | packaged_theme_assets_path = JB::Path.build(:theme_assets, :root => JB::Path.build(:theme_packages, :node => name)) 246 | mkdir_p packaged_theme_assets_path 247 | cp_r asset_path, packaged_theme_assets_path 248 | 249 | ## Log packager version 250 | packager = {"packager" => {"version" => CONFIG["theme_package_version"].to_s } } 251 | open(JB::Path.build(:theme_packages, :node => "#{name}/packager.yml"), "w") do |page| 252 | page.puts packager.to_yaml 253 | end 254 | 255 | puts "=> '#{name}' theme is packaged and available at: #{JB::Path.build(:theme_packages, :node => name)}" 256 | end 257 | 258 | end # end namespace :theme 259 | 260 | # Internal: Download and process a theme from a git url. 261 | # Notice we don't know the name of the theme until we look it up in the manifest. 262 | # So we'll have to change the folder name once we get the name. 263 | # 264 | # url - String, Required url to git repository. 265 | # 266 | # Returns theme manifest hash 267 | def theme_from_git_url(url) 268 | tmp_path = JB::Path.build(:theme_packages, :node => "_tmp") 269 | abort("rake aborted: system call to git clone failed") if !system("git clone #{url} #{tmp_path}") 270 | manifest = verify_manifest(tmp_path) 271 | new_path = JB::Path.build(:theme_packages, :node => manifest["name"]) 272 | if File.exist?(new_path) && ask("=> #{new_path} theme package already exists. Override?", ['y', 'n']) == 'n' 273 | remove_dir(tmp_path) 274 | abort("rake aborted: '#{manifest["name"]}' already exists as theme package.") 275 | end 276 | 277 | remove_dir(new_path) if File.exist?(new_path) 278 | mv(tmp_path, new_path) 279 | manifest 280 | end 281 | 282 | # Internal: Process theme package manifest file. 283 | # 284 | # theme_path - String, Required. File path to theme package. 285 | # 286 | # Returns theme manifest hash 287 | def verify_manifest(theme_path) 288 | manifest_path = File.join(theme_path, "manifest.yml") 289 | manifest_file = File.open( manifest_path ) 290 | abort("rake aborted: repo must contain valid manifest.yml") unless File.exist? manifest_file 291 | manifest = YAML.load( manifest_file ) 292 | manifest_file.close 293 | manifest 294 | end 295 | 296 | def ask(message, valid_options) 297 | if valid_options 298 | answer = get_stdin("#{message} #{valid_options.to_s.gsub(/"/, '').gsub(/, /,'/')} ") while !valid_options.include?(answer) 299 | else 300 | answer = get_stdin(message) 301 | end 302 | answer 303 | end 304 | 305 | def get_stdin(message) 306 | print message 307 | STDIN.gets.chomp 308 | end 309 | 310 | #Load custom rake scripts 311 | Dir['_rake/*.rake'].each { |r| load r } 312 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # This is the default format. 2 | # For more see: http://jekyllrb.com/docs/permalinks/ 3 | permalink: /:year/:month/:day/:title 4 | markdown: rdiscount 5 | exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md"] 6 | highlighter: pygments 7 | #mardown: redcarpet 8 | 9 | safe: false 10 | # Themes are encouraged to use these universal variables 11 | # so be sure to set them if your theme uses them. 12 | # 13 | title : 寂寞先生 14 | tagline: Site Tagline 15 | author : 16 | name : 陈佳伟 17 | email : blah@email.test 18 | github : username 19 | twitter : username 20 | feedburner : feedname 21 | 22 | # The production_url is only used when full-domain names are needed 23 | # such as sitemap.txt 24 | # Most places will/should use BASE_PATH to make the urls 25 | # 26 | # If you have set a CNAME (pages.github.com) set your custom domain here. 27 | # Else if you are pushing to username.github.io, replace with your username. 28 | # Finally if you are pushing to a GitHub project page, include the project name at the end. 29 | # 30 | production_url : http://enml.github.io/blog 31 | 32 | # All Jekyll-Bootstrap specific configurations are namespaced into this hash 33 | # 34 | JB : 35 | version : 0.3.0 36 | 37 | # All links will be namespaced by BASE_PATH if defined. 38 | # Links in your website should always be prefixed with {{BASE_PATH}} 39 | # however this value will be dynamically changed depending on your deployment situation. 40 | # 41 | # CNAME (http://yourcustomdomain.com) 42 | # DO NOT SET BASE_PATH 43 | # (urls will be prefixed with "/" and work relatively) 44 | # 45 | # GitHub Pages (http://username.github.io) 46 | # DO NOT SET BASE_PATH 47 | # (urls will be prefixed with "/" and work relatively) 48 | # 49 | # GitHub Project Pages (http://username.github.io/project-name) 50 | # 51 | # A GitHub Project site exists in the `gh-pages` branch of one of your repositories. 52 | # REQUIRED! Set BASE_PATH to: http://username.github.io/project-name 53 | # 54 | # CAUTION: 55 | # - When in Localhost, your site will run from root "/" regardless of BASE_PATH 56 | # - Only the following values are falsy: ["", null, false] 57 | # - When setting BASE_PATH it must be a valid url. 58 | # This means always setting the protocol (http|https) or prefixing with "/" 59 | BASE_PATH : /blog 60 | 61 | # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme. 62 | # ex: [BASE_PATH]/assets/themes/[THEME-NAME] 63 | # 64 | # Override this by defining an absolute path to assets here. 65 | # ex: 66 | # http://s3.amazonaws.com/yoursite/themes/watermelon 67 | # /assets 68 | # 69 | ASSET_PATH : False 70 | 71 | # These paths are to the main pages Jekyll-Bootstrap ships with. 72 | # Some JB helpers refer to these paths; change them here if needed. 73 | # 74 | archive_path: /archive.html 75 | categories_path : /categories.html 76 | tags_path : /tags.html 77 | atom_path : /atom.xml 78 | rss_path : /rss.xml 79 | 80 | # Settings for comments helper 81 | # Set 'provider' to the comment provider you want to use. 82 | # Set 'provider' to false to turn commenting off globally. 83 | # 84 | comments : 85 | provider : disqus 86 | disqus : 87 | short_name : jekyllbootstrap 88 | livefyre : 89 | site_id : 123 90 | intensedebate : 91 | account : 123abc 92 | facebook : 93 | appid : 123 94 | num_posts: 5 95 | width: 580 96 | colorscheme: light 97 | 98 | # Settings for analytics helper 99 | # Set 'provider' to the analytics provider you want to use. 100 | # Set 'provider' to false to turn analytics off globally. 101 | # 102 | analytics : 103 | provider : google 104 | google : 105 | tracking_id : 'UA-50637568-1' 106 | getclicky : 107 | site_id : 108 | mixpanel : 109 | token : '_MIXPANEL_TOKEN_' 110 | piwik : 111 | baseURL : 'myserver.tld/piwik' # Piwik installation address (without protocol) 112 | idsite : '1' # the id of the site on Piwik 113 | 114 | # Settings for sharing helper. 115 | # Sharing is for things like tweet, plusone, like, reddit buttons etc. 116 | # Set 'provider' to the sharing provider you want to use. 117 | # Set 'provider' to false to turn sharing off globally. 118 | # 119 | sharing : 120 | provider : false 121 | 122 | # Settings for all other include helpers can be defined by creating 123 | # a hash with key named for the given helper. ex: 124 | # 125 | # pages_list : 126 | # provider : "custom" 127 | # 128 | # Setting any helper's provider to 'custom' will bypass the helper code 129 | # and include your custom code. Your custom file must be defined at: 130 | # ./_includes/custom/[HELPER] 131 | # where [HELPER] is the name of the helper you are overriding. 132 | 133 | -------------------------------------------------------------------------------- /_includes/JB/analytics: -------------------------------------------------------------------------------- 1 | {% if site.safe and site.JB.analytics.provider and page.JB.analytics != false %} 2 | 3 | {% case site.JB.analytics.provider %} 4 | {% when "google" %} 5 | {% include JB/analytics-providers/google %} 6 | {% when "getclicky" %} 7 | {% include JB/analytics-providers/getclicky %} 8 | {% when "mixpanel" %} 9 | {% include JB/analytics-providers/mixpanel %} 10 | {% when "piwik" %} 11 | {% include JB/analytics-providers/piwik %} 12 | {% when "custom" %} 13 | {% include custom/analytics %} 14 | {% endcase %} 15 | 16 | {% endif %} -------------------------------------------------------------------------------- /_includes/JB/analytics-providers/getclicky: -------------------------------------------------------------------------------- 1 | 12 | 13 | -------------------------------------------------------------------------------- /_includes/JB/analytics-providers/google: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/JB/analytics-providers/mixpanel: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/JB/analytics-providers/piwik: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_includes/JB/categories_list: -------------------------------------------------------------------------------- 1 | {% comment %}{% endcomment %} 19 | 20 | {% if site.JB.categories_list.provider == "custom" %} 21 | {% include custom/categories_list %} 22 | {% else %} 23 | {% if categories_list.first[0] == null %} 24 | {% for category in categories_list %} 25 |
  • 26 | {{ category | join: "/" }} {{ site.categories[category].size }} 27 |
  • 28 | {% endfor %} 29 | {% else %} 30 | {% for category in categories_list %} 31 |
  • 32 | {{ category[0] | join: "/" }} {{ category[1].size }} 33 |
  • 34 | {% endfor %} 35 | {% endif %} 36 | {% endif %} 37 | {% assign categories_list = nil %} -------------------------------------------------------------------------------- /_includes/JB/comments: -------------------------------------------------------------------------------- 1 | {% if site.JB.comments.provider and page.comments != false %} 2 | 3 | {% case site.JB.comments.provider %} 4 | {% when "disqus" %} 5 | {% include JB/comments-providers/disqus %} 6 | {% when "livefyre" %} 7 | {% include JB/comments-providers/livefyre %} 8 | {% when "intensedebate" %} 9 | {% include JB/comments-providers/intensedebate %} 10 | {% when "facebook" %} 11 | {% include JB/comments-providers/facebook %} 12 | {% when "custom" %} 13 | {% include custom/comments %} 14 | {% endcase %} 15 | 16 | {% endif %} -------------------------------------------------------------------------------- /_includes/JB/comments-providers/disqus: -------------------------------------------------------------------------------- 1 |
    2 | 13 | 14 | blog comments powered by Disqus 15 | -------------------------------------------------------------------------------- /_includes/JB/comments-providers/facebook: -------------------------------------------------------------------------------- 1 |
    2 | 9 |
    -------------------------------------------------------------------------------- /_includes/JB/comments-providers/intensedebate: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /_includes/JB/comments-providers/livefyre: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /_includes/JB/liquid_raw: -------------------------------------------------------------------------------- 1 | {% comment%}{% endcomment%} 26 | 27 | {% if site.JB.liquid_raw.provider == "custom" %} 28 | {% include custom/liquid_raw %} 29 | {% else %} 30 |
    {{text | replace:"|.", "{" | replace:".|", "}" | replace:">", ">" | replace:"<", "<" }}
    31 | {% endif %} 32 | {% assign text = nil %} -------------------------------------------------------------------------------- /_includes/JB/pages_list: -------------------------------------------------------------------------------- 1 | {% comment %}{% endcomment %} 22 | 23 | {% if site.JB.pages_list.provider == "custom" %} 24 | {% include custom/pages_list %} 25 | {% else %} 26 | {% for node in pages_list %} 27 | {% if node.title != null %} 28 | {% if group == null or group == node.group %} 29 | {% if page.url == node.url %} 30 |
  • {{node.title}}
  • 31 | {% else %} 32 |
  • {{node.title}}
  • 33 | {% endif %} 34 | {% endif %} 35 | {% endif %} 36 | {% endfor %} 37 | {% endif %} 38 | {% assign pages_list = nil %} 39 | {% assign group = nil %} -------------------------------------------------------------------------------- /_includes/JB/posts_collate: -------------------------------------------------------------------------------- 1 | {% comment %}{% endcomment %} 19 | 20 | {% if site.JB.posts_collate.provider == "custom" %} 21 | {% include custom/posts_collate %} 22 | {% else %} 23 | {% for post in posts_collate %} 24 | {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %} 25 | {% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %} 26 | {% capture next_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %} 27 | {% capture next_month %}{{ post.previous.date | date: "%B" }}{% endcapture %} 28 | 29 | {% if forloop.first %} 30 | 31 | 32 |
    {{this_year}}
    33 |
    34 |

    {{this_month}}

    35 | 43 | 44 | {% else %} 45 | {% if this_year != next_year %} 46 | 47 |
    48 | 49 | 50 | 51 | 52 |
    {{next_year}}
    53 |
    54 |

    {{next_month}}

    55 | 59 |

    {{next_month}}

    60 |
    -------------------------------------------------------------------------------- /_includes/JB/setup: -------------------------------------------------------------------------------- 1 | {% capture jbcache %} 2 | 5 | {% if site.JB.setup.provider == "custom" %} 6 | {% include custom/setup %} 7 | {% else %} 8 | {% if site.safe and site.JB.BASE_PATH and site.JB.BASE_PATH != '' %} 9 | {% assign BASE_PATH = site.JB.BASE_PATH %} 10 | {% assign HOME_PATH = site.JB.BASE_PATH %} 11 | {% else %} 12 | {% assign BASE_PATH = nil %} 13 | {% assign HOME_PATH = "/" %} 14 | {% endif %} 15 | 16 | {% if site.JB.ASSET_PATH %} 17 | {% assign ASSET_PATH = site.JB.ASSET_PATH %} 18 | {% else %} 19 | {% capture ASSET_PATH %}{{ BASE_PATH }}/assets/themes/{{ page.theme.name }}{% endcapture %} 20 | {% endif %} 21 | {% endif %} 22 | {% endcapture %}{% assign jbcache = nil %} -------------------------------------------------------------------------------- /_includes/JB/sharing: -------------------------------------------------------------------------------- 1 | {% if site.safe and site.JB.sharing.provider and page.JB.sharing != false %} 2 | 3 | {% case site.JB.sharing.provider %} 4 | {% when "custom" %} 5 | {% include custom/sharing %} 6 | {% endcase %} 7 | 8 | {% endif %} -------------------------------------------------------------------------------- /_includes/JB/tags_list: -------------------------------------------------------------------------------- 1 | {% comment %}{% endcomment %} 19 | 20 | {% if site.JB.tags_list.provider == "custom" %} 21 | {% include custom/tags_list %} 22 | {% else %} 23 | {% if tags_list.first[0] == null %} 24 | {% for tag in tags_list %} 25 |
  • {{ tag }} {{ site.tags[tag].size }}
  • 26 | {% endfor %} 27 | {% else %} 28 | {% for tag in tags_list %} 29 |
  • {{ tag[0] }} {{ tag[1].size }}
  • 30 | {% endfor %} 31 | {% endif %} 32 | {% endif %} 33 | {% assign tags_list = nil %} 34 | -------------------------------------------------------------------------------- /_includes/themes/twitter/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ page.title }} 6 | {% if page.description %}{% endif %} 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 52 | 53 |
    54 | 55 |
    56 | {{ content }} 57 |
    58 | 59 | 67 | 68 |
    69 | 70 | {% include JB/analytics %} 71 | 72 | 73 | -------------------------------------------------------------------------------- /_includes/themes/twitter/page.html: -------------------------------------------------------------------------------- 1 | 6 | 7 |
    8 |
    9 | {{ content }} 10 |
    11 |
    12 | -------------------------------------------------------------------------------- /_includes/themes/twitter/post.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 |
    9 |
    10 |
    11 |
    12 |
    13 | {{ page.date | date:"%m/%d" }} 14 |
    15 |
    16 | {{ page.date | date:"%Y" }} 17 |
    18 |
    19 | {{ content }} 20 |
    21 | 22 | 23 | 38 | 39 | 54 | 55 | {% include JB/comments %} 56 |
    57 |
    58 | -------------------------------------------------------------------------------- /_includes/themes/twitter/settings.yml: -------------------------------------------------------------------------------- 1 | theme : 2 | name : twitter -------------------------------------------------------------------------------- /_layouts/category_archive.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
    5 |
    6 | Category archive for {{ page.category }} 7 |
    8 |
    9 | 12 |
    13 |
    14 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | --- 2 | theme : 3 | name : twitter 4 | --- 5 | {% include JB/setup %} 6 | {% include themes/twitter/default.html %} 7 | -------------------------------------------------------------------------------- /_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | {% include JB/setup %} 5 | {% include themes/twitter/page.html %} 6 | -------------------------------------------------------------------------------- /_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | {% include JB/setup %} 5 | {% include themes/twitter/post.html %} 6 | -------------------------------------------------------------------------------- /_plugins/debug.rb: -------------------------------------------------------------------------------- 1 | # A simple way to inspect liquid template variables. 2 | # Usage: 3 | # Can be used anywhere liquid syntax is parsed (templates, includes, posts/pages) 4 | # {{ site | debug }} 5 | # {{ site.posts | debug }} 6 | # 7 | require 'pp' 8 | module Jekyll 9 | # Need to overwrite the inspect method here because the original 10 | # uses < > to encapsulate the psuedo post/page objects in which case 11 | # the output is taken for HTML tags and hidden from view. 12 | # 13 | class Post 14 | def inspect 15 | "#Jekyll:Post @id=#{self.id.inspect}" 16 | end 17 | end 18 | 19 | class Page 20 | def inspect 21 | "#Jekyll:Page @name=#{self.name.inspect}" 22 | end 23 | end 24 | 25 | end # Jekyll 26 | 27 | module Jekyll 28 | module DebugFilter 29 | 30 | def debug(obj, stdout=false) 31 | puts obj.pretty_inspect if stdout 32 | "
    #{obj.class}\n#{obj.pretty_inspect}
    " 33 | end 34 | 35 | end # DebugFilter 36 | end # Jekyll 37 | 38 | Liquid::Template.register_filter(Jekyll::DebugFilter) -------------------------------------------------------------------------------- /_posts/2011-01-12-prime.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: js-算出某值以内的质数 4 | category : 技术分享 5 | tagline: "Supporting tagline" 6 | tags : [javascript,算法] 7 | published: true 8 | --- 9 | {% include JB/setup %} 10 | # js 算出某值以内的质数 11 | --- 12 | 13 |
    14 |     //算出 num 以内的所有质数
    15 |  
    16 | function prime(num){
    17 |     var list = [];
    18 |     for(var i = 2; i <= num; i++){ list.push(i); } //create a Array
    19 |     
    20 |     for(var i = 0; i < list.length; i++){
    21 |         for(var j = 2; j < list[i]; j++){
    22 |             if(list[i] % j == 0){
    23 |                 list.splice(i,1); //delete the non prime number.it will change the index of other elements
    24 |                 j = 2; //由于splice导致list[i+1]的index变为i,因此把j置为2以便对list[i+1]进行重新计算
    25 |         }
    26 |     }
    27 | }
    28 | 
    -------------------------------------------------------------------------------- /_posts/2014-04-20-githubpages.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: GitHub基础入门 4 | category : 技术分享 5 | tagline: "Supporting tagline" 6 | tags : jekyll, github 7 | published: false 8 | --- 9 | {% include JB/setup %} 10 | 11 | # GitHub Pages(像黑客一样写博客) 12 | 13 | `技术` 14 | 15 | --- 16 | 17 | 是的,之前github的名字其实早已经如雷贯耳,只是我对它望而生畏,始终不敢去触碰它。因为它咋一看上去冷冰冰的,眼之所及,皆为代码;并且又找不到能详细却直观地描述它的理念的教程,所以我始终无从下手。 18 | 19 | 终于,两天前看到**Blogging like a hacker**这篇文章,决定试试搭建一个基于**github pages**的blog,遂开始尝试。 20 | 21 | 22 | 23 | 首先下载`github`的windows客户端,客户端很简约,这个非常值得称赞。客户端登录后会直接跟你github账号进行绑定同步,因此你能直观的看到github上你的项目文件。硬着头皮尝试各种git命令,不求甚解。以前我很讨厌这种不求甚解的状态,当我在阅读一篇教程时总是希望先了解一下基本脉络,当差不多头脑里有个整体框架后再动手,这样的好处就是你知道你每一步是在做什么,成功率也比较高。但并不是每一篇教程或者每一个项目你都能很快地掌握其基本脉络,就像github。很多教程基本就是直接说输入 24 | 25 | >```git push origin master``` 26 | 27 | 之类的,但他没告诉我输入之后能干什么,会发生什么。更没有人告诉我每一次必须先commit message才能提交。所以我只能糊里糊涂地跟着教程走,不过尝试了几遍之后,也就大概理解了脉络。 28 | 29 | * github为版本控制系统。也就是说,你每一次的提交都会有相关的标记,以便进行回滚和协作。 30 | * 对于远程代码,可以通过```git clone```语句进行clone,可以clone到本地库,也可以clone到github库中。 31 | * 对于本地代码,可以通过```git remote set-url```语句绑定到对应的repository;也可以通过客户端里的public推送到github上。 32 | * 每一次push前必须先commit -m,客户端里是填写相应的summary。 -------------------------------------------------------------------------------- /_posts/2014-04-21-future.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: 后智能手机时代 4 | category : 扯淡 5 | tagline: "Supporting tagline" 6 | tags : [机器人, 智能眼镜] 7 | --- 8 | {% include JB/setup %} 9 | # 谁将取代智能手机 10 | --- 11 | 12 | ![robot](http://www.wccbr.com/wp-content/uploads/2013/03/Robot_Wallpaper_1.jpg) 13 | 14 | 15 | ###**智能手表** 16 | 17 |  现在手表被炒的很热,但以目前来看,手表只是一个辅佐设备;注定手表不可能超越智能手机。手表的特点在于屏幕小,便携,查看信息快速直接;但屏幕小也是它的极限性(屏幕扩大了跟智能手机就没差别了),决定了它不适合发展成独立的终端,你能想象拿着手表刷微博看知乎发邮件吗? 18 | 19 | 20 | 21 |  除非发展出了超越平面显示的信息展现方式,比如说已经被说烂了的“全息投影”。否则手表永远只能是手机的辅佐设备。 22 | 23 | 24 | ###**智能眼镜** 25 | 26 |  这货一开始我不看好,谁tm想戴个电池cpu在太阳穴那里,而且带了几年眼镜的我表示对眼镜深痛恶绝啊。后来了解了google glass之后,我发现这货绝对是未来。不,我是说这个方向。 27 | 28 |  为什么智能眼镜有潜力取代智能手机呢?首先,我们从电子设备的发展历程可以看出,任何具有划时代的产品都是通过对人机交互方式进行革新。从命令行跨越到图形界面,从物理按键跨越到触摸,从遥控器跨越到体感声控……再看看手表,再怎么有想象力它始终只是一部小尺寸精简化的手机绑在手上,不管是现在市面上丑陋不堪的炒作产品,还是被寄予厚望的iwatch,都难以在信息展现方式上得到突破;再看看眼镜,信息是直接投射到视网膜上,信息展现方式已经不再局限于屏幕的大小,你眼前的整个视角都是屏幕,甚至可以通过调节投射的焦距而达到调节屏幕的大小,那可想像的空间可就大了: 29 | 30 | 31 | * 因为展现信息独特的视角,眼镜可以覆盖你的整个视角,它可以挡住外来的光线让你完全沉浸在数字光影之中;你可以随时随地享受不亚于甚至超越IMAX的视觉盛宴。是的,我说的不是3D眼镜。 32 | 33 | * 因为现实与虚拟的无缝结合,你去超市或者在复杂的商业街寻找餐馆,你不用再打开地图或者大众点评,你眼前就是信息与现实的结合体;如果你用过nokia的city lens,你一定知道我在说什么。你不用再厚着脸皮去找心仪的妹子要联系方式了,只要她在社交网络公开信息,你盯着她看几秒可能就已经加了她的微信或者facebook了。 34 | 35 | * 因为“所见即所得”,你所能看到的美景都可以收入囊中,不会再因为掏出手机解锁打开相机应用而错过稍众即逝的美景。当然,google glass现在因为这个产生的隐私问题而备受争议。 36 | 37 | * ……还有很大的想象空间,只是我想不出来了。但是如果做到以上3点,你完全可以抛弃你的智能机了。 38 | 39 | 40 |  以上,并不是空穴来风的天方夜谭,不信,你试着在手表上想象一下。这些是基于信息展现方式,或者说是交互方式的革新。google glass目前并不足以产生颠覆性,产品还不完善,技术也难以突破,生态更是一片荒芜,但它叩开了一个全新世界的大门,这个大门后面的世界才是未来。说实话,我更期待苹果和微软在这方面的突破。 41 | 42 | ###**机器人** 43 | 44 |  这条路任重而道远,真的要发展出人工智能的话,很可能要对现有的计算机体系、软硬架构、甚至编程思想统统进行颠覆才有可能。但是,100年后每个人身边陪着个高度智能的机器人作助手甚至伴侣应该没什么好争议的。那时候什么手机电脑手表眼镜通通可以扔掉了,人可以真正得到解放,这个随时随地跟着你的机器人就是你最好最强大的电子设备了。你要打电话,你就跟它说帮我call一下奥巴马;你要玩游戏,它转过身来可能后背就是一块触摸屏;你要写代码,哦,那时候应该不用写代码了…… 45 | -------------------------------------------------------------------------------- /_posts/2014-04-23-chinese-messy-code.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "解决invalid byte sequence in GBK" 4 | description: "" 5 | category: 技术分享 6 | tags: [gbk,乱码] 7 | --- 8 | {% include JB/setup %} 9 | # 解决invalid byte sequence in GBK 10 | --- 11 | 12 |  jekyll对中文的支持不太好,导致经常出现乱码甚至无法运行`jekyll server`命令。解决post内容乱码问题可以通过修改convertible.rb文件的第27行: 13 | 14 | ``` 15 | self.content = File.read(File.join(base, name)); 16 | ``` 17 | 为 18 | 19 | ``` 20 | self.content = File.read(File.join(base, name), :encoding => "utf-8"); 21 | ``` 22 | 23 |  原因File.read()可能采用系统默认编码读取文件,中文系统为GBK,但markdown文件均为utf-8编码,所以导致无法正确展现中文。 24 | 25 | 26 | 27 |  但是当我在post.html模板里面加入中文之后,`jekyll server`命令直接报错。解决办法是在运行服务器前先运行`chcp 65001`命令,即可解决。在官方找到的解决办法**Windows users: run chcp 65001 first to change the command prompt's character encoding (code page) to UTF-8 so Jekyll runs without errors.** 28 | -------------------------------------------------------------------------------- /_posts/2014-04-23-finish-jekyll.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "对5天来关于jekyll的心得" 4 | description: "" 5 | category: 技术分享 6 | tags: [jekyll blog] 7 | --- 8 | {% include JB/setup %} 9 | # 完成基于jekyll的第一个blog 10 | --- 11 | 12 |  今天差不多把blog完成了,这是我第一个基于jekyll的blog,定制了主题,修改了相关配置,以及解决了中文bug。现在把这5天的心得分享一下: 13 | 14 | * 首先是中文问题,这个困扰我了很久,也花费了不少时间,不过最后总算找到解决办法。给我最大的感触就是,即使碰壁,也得硬着头皮找下去,如果放弃,那就前功尽弃了。 15 | 16 | 17 | 18 | * 然后是关于bootstrap,因为主题是基于bootstrap,所以这几天对bootstrap也有了深入的了解。Less预编译的思想其实挺方便的,只不过先前习惯了直接div+css的方式后一时难以习惯,但是,习惯是用来打破,不打破那永远都进不了步。 19 | 20 | * @media通过检测min-width和max-width来进行响应式布局,但要编写全局css时要注意,否则很容易响应不了。 21 | 22 | * \
    添加个具有margin的hr,然后在使用card style时可以通过添加hr来达到分割的效果。另一种方式是直接为card添加一个margin-top。 23 | 24 | * 当我使用中文的categories时,由于permalink中包含categories,导致链接失败。所以只要到_config.yml中修改permalink即可。 -------------------------------------------------------------------------------- /_posts/2014-04-24-directory.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "jekyll加载图片的路径问题" 4 | description: "" 5 | category: 技术分享 6 | tags: [路径] 7 | --- 8 | {% include JB/setup %} 9 | # jekyll加载图片的路径问题 10 | --- 11 |  一开始使用根目录` /assets/…/img/bg.png `的方式,在localhost调试成功,但在github pages失败。 12 |  后来试了一下当前目录方式` ./img/bg.png `成功。也可以用` img/bg.png `表示当前目录。 13 | 14 | 15 | -------------------------------------------------------------------------------- /_posts/2014-04-25-python-code.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "python list的技巧" 4 | description: "" 5 | category: python 6 | tags: [python] 7 | --- 8 | {% include JB/setup %} 9 | # Python list的一些技巧 10 | --- 11 | 12 | 13 | 列表相邻元素压缩器 14 | 15 | ``` 16 | >>> a = [1, 2, 3, 4, 5, 6] 17 | >>> zip(*([iter(a)] * 2)) 18 | [(1, 2), (3, 4), (5, 6)] 19 | >>> group_adjacent = lambda a, k: zip(*([iter(a)] * k)) 20 | >>> group_adjacent(a, 3) 21 | [(1, 2, 3), (4, 5, 6)] 22 | >>> group_adjacent(a, 2) 23 | [(1, 2), (3, 4), (5, 6)] 24 | >>> group_adjacent(a, 1) 25 | [(1,), (2,), (3,), (4,), (5,), (6,)] 26 | >>> zip(a[::2], a[1::2]) 27 | [(1, 2), (3, 4), (5, 6)] 28 | >>> zip(a[::3], a[1::3], a[2::3]) 29 | [(1, 2, 3), (4, 5, 6)] 30 | >>> group_adjacent = lambda a, k: zip(*(a[i::k] for i in range(k))) 31 | >>> group_adjacent(a, 3) 32 | [(1, 2, 3), (4, 5, 6)] 33 | >>> group_adjacent(a, 2) 34 | [(1, 2), (3, 4), (5, 6)] 35 | >>> group_adjacent(a, 1) 36 | [(1,), (2,), (3,), (4,), (5,), (6,)] 37 | 38 | ``` 39 | 40 | 41 | * 用压缩器反转字典 42 | 43 | ``` 44 | >>> m = {'a': 1, 'b': 2, 'c': 3, 'd': 4} 45 | >>> m.items() 46 | [('a', 1), ('c', 3), ('b', 2), ('d', 4)] 47 | >>> zip(m.values(), m.keys()) 48 | [(1, 'a'), (3, 'c'), (2, 'b'), (4, 'd')] 49 | >>> mi = dict(zip(m.values(), m.keys())) 50 | >>> mi 51 | {1: 'a', 2: 'b', 3: 'c', 4: 'd'} 52 | 53 | ``` 54 | 55 | * 列表展开 56 | 57 | ``` 58 | >>> a = [[1, 2], [3, 4], [5, 6]] 59 | >>> list(itertools.chain.from_iterable(a)) 60 | [1, 2, 3, 4, 5, 6] 61 | 62 | >>> sum(a, []) 63 | [1, 2, 3, 4, 5, 6] 64 | 65 | >>> [x for l in a for x in l] 66 | [1, 2, 3, 4, 5, 6] 67 | 68 | >>> a = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]] 69 | >>> [x for l1 in a for l2 in l1 for x in l2] 70 | [1, 2, 3, 4, 5, 6, 7, 8] 71 | 72 | >>> a = [1, 2, [3, 4], [[5, 6], [7, 8]]] 73 | >>> flatten = lambda x: [y for l in x for y in flatten(l)] if type(x) is list else [x] 74 | >>> flatten(a) 75 | [1, 2, 3, 4, 5, 6, 7, 8] 76 | 77 | ``` 78 | 79 | * 生成器表达式 80 | 81 | ``` 82 | >>> g = (x ** 2 for x in xrange(10)) 83 | >>> next(g) 84 | 0 85 | >>> next(g) 86 | 1 87 | >>> next(g) 88 | 4 89 | >>> next(g) 90 | 9 91 | >>> sum(x ** 3 for x in xrange(10)) 92 | 2025 93 | >>> sum(x ** 3 for x in xrange(10) if x % 3 == 1) 94 | 408 95 | 96 | ``` 97 | 98 | * 字典推导 99 | 100 | ``` 101 | >>> m = {x: x ** 2 for x in range(5)} 102 | >>> m 103 | {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} 104 | 105 | >>> m = {x: 'A' + str(x) for x in range(10)} 106 | >>> m 107 | {0: 'A0', 1: 'A1', 2: 'A2', 3: 'A3', 4: 'A4', 5: 'A5', 6: 'A6', 7: 'A7', 8: 'A8', 9: 'A9'} 108 | 109 | ``` 110 | 111 | * 用字典推导反转字典 112 | 113 | ``` 114 | >>> m = {'a': 1, 'b': 2, 'c': 3, 'd': 4} 115 | >>> m 116 | {'d': 4, 'a': 1, 'b': 2, 'c': 3} 117 | >>> {v: k for k, v in m.items()} 118 | {1: 'a', 2: 'b', 3: 'c', 4: 'd'} 119 | 120 | ``` 121 | 122 | * 命名元组 123 | 124 | ``` 125 | >>> Point = collections.namedtuple('Point', ['x', 'y']) 126 | >>> p = Point(x=1.0, y=2.0) 127 | >>> p 128 | Point(x=1.0, y=2.0) 129 | >>> p.x 130 | 1.0 131 | >>> p.y 132 | 2.0 133 | 134 | ``` 135 | 136 | * 继承命名元组 137 | 138 | ``` 139 | >>> class Point(collections.namedtuple('PointBase', ['x', 'y'])): 140 | ... __slots__ = () 141 | ... def __add__(self, other): 142 | ... return Point(x=self.x + other.x, y=self.y + other.y) 143 | ... 144 | >>> p = Point(x=1.0, y=2.0) 145 | >>> q = Point(x=2.0, y=3.0) 146 | >>> p + q 147 | Point(x=3.0, y=5.0) 148 | 149 | ``` 150 | 151 | * 有最大长度的双端队列 152 | 153 | ``` 154 | >>> last_three = collections.deque(maxlen=3) 155 | >>> for i in xrange(10): 156 | ... last_three.append(i) 157 | ... print ', '.join(str(x) for x in last_three) 158 | ... 159 | 0 160 | 0, 1 161 | 0, 1, 2 162 | 1, 2, 3 163 | 2, 3, 4 164 | 3, 4, 5 165 | 4, 5, 6 166 | 5, 6, 7 167 | 6, 7, 8 168 | 7, 8, 9 169 | ``` 170 | * 可排序词典 171 | 172 | ``` 173 | >>> m = dict((str(x), x) for x in range(10)) 174 | >>> print ', '.join(m.keys()) 175 | 1, 0, 3, 2, 5, 4, 7, 6, 9, 8 176 | >>> m = collections.OrderedDict((str(x), x) for x in range(10)) 177 | >>> print ', '.join(m.keys()) 178 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 179 | >>> m = collections.OrderedDict((str(x), x) for x in range(10, 0, -1)) 180 | >>> print ', '.join(m.keys()) 181 | 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 182 | 183 | ``` 184 | 185 | -------------------------------------------------------------------------------- /_posts/2014-04-27-install-jekyll.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "install jekyll 流程" 4 | description: "" 5 | category: 技术分享 6 | tags: [install jekyll] 7 | --- 8 | {% include JB/setup %} 9 | # install jekyll 流程 10 | --- 11 | 12 | 13 | * 首先下载`ruby`[安装ruby download](http://rubyinstaller.org/downloads/) ,然后下载**DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe**。安装完`ruby`后,再安装`rubyGems`:运行`gem update --system`即可。 14 | 15 | * 解压DevKit,然后命令行cd到该目录,运行 16 | 17 | 18 | 19 | ``` 20 | ruby dk.rb init 21 | ruby dk.rb review 22 | ruby dk.rb install 23 | gem install rdiscount --platform=ruby 24 | ``` 25 | 26 | * DevKit安装完后,即可安装jekyll:`gem install jekyll`. 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /_posts/2014-05-03-view_render.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: view传递context的方式 4 | category : python_django 5 | tagline: "Supporting tagline" 6 | tags : [python, django] 7 | --- 8 | {% include JB/setup %} 9 | # view传递context的方式 10 | --- 11 | 12 | ** 通过view的render()方法填充template可以有以下方式:** 13 | 14 | 1.适合于数据量小且静态的数据。在template中直接使用相关键值为标签: 15 | `{{ name }} {{ ship_date }}` 16 | 17 | ``` 18 | def test1(request): 19 | return render(request,'test/raw.htm',{ 20 | 'name':'Enm', 21 | 'age':22, 22 | 'company': 'Outdoor Equipment', 23 | 'ship_date': datetime.datetime.now(), 24 | 'ordered_warranty': False}) 25 | ``` 26 | 27 | 28 | 2.通过调用属性的方式传递整个dictionary。但在template中必须使用属性方式:\{\{ **person.** name \}\},\{\% for i,k in **dict.** items \%\} 29 | 30 | ``` 31 | def test2(): 32 | person = { 'name':'Enm', 33 | 'age':22, 34 | 'company': 'Outdoor Equipment', 35 | 'ship_date': datetime.datetime.now(), 36 | 'ordered_warranty': False} 37 | 38 | dict = {"name":"enm","age":"21","school":"szu"} 39 | return render(request,'test/raw.htm',{ 'person':person, 'dict':dict}) 40 | ``` 41 | 42 | 3.使用**locals(),locals()** 是个字典,直接赋值给变量。很明显这种方式更加优雅和便捷,但缺点就是它会把所有的dictionary都传递,也就是说它默认传递的值可能会比你预想中的多。 43 | 44 | template中仍然必须使用属性方式:\{\{ **person.** name \}\},\{\% for i,k in **dict.** items \%\} 45 | 46 | ``` 47 | def test3(): 48 | person = { 'name': 'Enm', 49 | 'age':22, 50 | 'company': 'Outdoor Equipment', 51 | 'ship_date': datetime.datetime.now(), 52 | 'ordered_warranty': False} 53 | 54 | dict = {"name":"enm","age":"21","school":"szu"} 55 | return render(request,'test/raw.htm',locals()) 56 | ``` 57 | -------------------------------------------------------------------------------- /_posts/2014-05-10-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: Template 4 | category : python_django 5 | tagline: "Supporting tagline" 6 | tags : [python, django,template] 7 | --- 8 | {% include JB/setup %} 9 | # Template 10 | --- 11 | 12 | **在view里面,我们获取了相关的数据,但我们的目的是将数据呈现出来。** 13 | 14 | 15 | 于是: 16 | 17 | **1.首先我们想到的是直接把数据硬编码到html代码里面,然后通过`HttpResponse`对象传递给浏览器进行渲染:** 18 | 19 | ``` 20 | from django.http import HttpResponse 21 | import datetime 22 | 23 | def current_datetime(request): 24 | now = datetime.datetime.now() 25 | html = "It is now %s." % now 26 | return HttpResponse(html) 27 | ``` 28 | 29 | 30 | 但是很明显这种方法不适合生产环境,你不可能把整个html页面都硬编码在view里面,因为这显得既愚蠢又低效。对于template的改动很明显要比view频繁得多,这种方式意味着你想更改页面表现时都必须得改动python代码,并且前后端无法同步开发。于是有了第二种方式: 31 | 32 | 33 | 34 | **2.把html代码分离成独立的模板,通过加载模板文件进行渲染,这样可以实现前后端分离:** 35 | 36 | 37 | ``` python 38 | #view 39 | from django.shortcuts import render_to_response 40 | import datetime 41 | 42 | def current_datetime(request): 43 | now = datetime.datetime.now() 44 | return render_to_response('current_datetime.html', {'current_date': now}) 45 | 46 | ``` 47 | 48 | 49 | ``` 50 | #template 51 | It is now {{ current_date }}. 52 | ``` 53 | 通过render()传递数据给template的方式在上一篇文章有列举出来。这种模式的好处很明显。但我们又遇到一个问题:**假如我的网站有100个页面,那我是不是要写100个template呢?** 54 | 55 | 我们知道这样是愚蠢。编程中有一个很重要的思想就是--**最大限度地实现代码重用。** 而我们写100个页面的重复代码可能已经超过40%了,这不但费时费力,你还可能见笑于大方之家。所以我们有一种优雅的解决方式:**include** 56 | 57 | **(1). 把重用代码分离出来,比如header.html,footer.html,sidebar.html;然后`include`到content.html中。** 58 | 59 | ``` 60 | # header.html 61 | 62 | 63 | 64 | 65 | The current time 66 | 67 | ``` 68 | 69 | ``` 70 | # footer.html 71 | 72 |

    Thanks for visiting my site.

    73 | 74 | 75 | ``` 76 | 77 | ``` 78 | # include 'header' and 'footer' 79 | 80 | { include 'header.html' %} 81 | 82 |

    My helpful timestamp site

    83 |

    It is now {{ current_date }}.

    84 | { include 'footer.html' %} 85 | ``` 86 | 87 | 没错,这样很优雅,可以实现代码重用。但是仍然有个问题:当代码中存在哪怕一个标记不同时,这部分代码你就无法分离出来,这导致了你仍然需要重复大量的代码。比如: 88 | 89 | ``` 90 | # first page 91 | 92 | 93 | 94 | 95 | The current time 96 | 97 | 98 |

    My helpful timestamp site

    99 |

    It is now {{ current_date }}.

    100 | 101 |
    102 |

    Thanks for visiting my site.

    103 | 104 | 105 | ``` 106 | ``` 107 | # second page 108 | 109 | 110 | 111 | 112 | Future time 113 | 114 | 115 |

    My helpful timestamp site

    116 |

    In {{ hour_offset }} hour(s), it will be {{ next_time }}.

    117 | 118 |
    119 |

    Thanks for visiting my site.

    120 | 121 | 122 | ``` 123 | 这两个页面中``不同,意味着`<title>`以下的部分都不能并入`header.html`中,哪怕下面仍然存在大量的重复代码。所以有了更优雅的解决办法:**extends** -- inculde的逆向思维。 124 | 125 | 126 | **(2). 我们把模板里面的‘不同代码’进行定义,相同的代码保存为base模板** 127 | 128 | ``` 129 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> 130 | <html lang="en"> 131 | <head> 132 | <title>{ block title %}{ endblock %} 133 | 134 | 135 |

    My helpful timestamp site

    136 | { block content %}{ endblock %} 137 | { block footer %} 138 |
    139 |

    Thanks for visiting my site.

    140 | { endblock %} 141 | 142 | 143 | ``` 144 | 145 | 此时`base.html`变成了一个骨架,你可以把需要的内容填充进去即可,这最大限度实现了代码重用。 146 | 147 | ``` 148 | # first page 149 | 150 | { extends "base.html" %} 151 | 152 | { block title %}The current time{ endblock %} 153 | 154 | { block content %} 155 |

    It is now {{ current_date }}.

    156 | { endblock %} 157 | ``` 158 | 159 | ``` 160 | # second page 161 | 162 | { extends "base.html" %} 163 | 164 | { block title %}Future time{ endblock %} 165 | 166 | { block content %} 167 |

    In {{ hour_offset }} hour(s), it will be {{ next_time }}.

    168 | { endblock %} 169 | ``` 170 | 171 | woo! 简单优雅!这是Template设计的思想历程。 -------------------------------------------------------------------------------- /_posts/2014-05-20-collect_color.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: 收藏颜色 4 | category : python_django 5 | tagline: "Supporting tagline" 6 | tags : [python, django] 7 | --- 8 | {% include JB/setup %} 9 | # 收藏颜色的工具 10 | --- 11 | ![collect_color](http://enml.github.io/blog/image/collect_color.jpg) 12 | 13 | 14 | 用了三个小时完成了上图的功能,满足了我的需求。 15 | 16 | 只要在输入框输入颜色数值,便可记录到数据库,并把颜色作为该数值背景色输出页面。 17 | 18 | 19 | 20 | 本来是在寻找一个可以保存自己喜欢的颜色的工具,一开始想着记录在onenote,但是只能记录数值,不够直观。如果把图片粘贴过去会很繁琐并且不够雅观。后来把颜色直接合并在一张图上,但记录时每次都需要进行图片修改,繁琐也依然不美观。中午午睡后百度了一下是否有相关的在线工具,一无所获。突然想着要不自己搞一个吧!在脑海里构建了一下基本框架后觉得可行,便开始编写代码。花了三个小时总算实现了。 21 | 22 | -------------------------------------------------------------------------------- /archive.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title : 文章 4 | header : 所有文章 5 | group: navigation 6 | --- 7 | {% include JB/setup %} 8 | 9 | {% assign posts_collate = site.posts %} 10 |
    11 | {% include JB/posts_collate %} 12 |
    -------------------------------------------------------------------------------- /assets/themes/twitter/bootstrap/css/bootstrap.2.2.2.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v2.2.2 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;} 11 | .clearfix:after{clear:both;} 12 | .hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} 13 | .input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} 14 | article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;} 15 | audio,canvas,video{display:inline-block;*display:inline;*zoom:1;} 16 | audio:not([controls]){display:none;} 17 | html{font:16px/1.8 'Microsoft YaHei'; -webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;} 18 | a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} 19 | a:hover,a:active{outline:0;} 20 | sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;} 21 | sup{top:-0.5em;} 22 | sub{bottom:-0.25em;} 23 | img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;} 24 | #map_canvas img,.google-maps img{max-width:none;} 25 | button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;} 26 | button,input{*overflow:visible;line-height:normal;} 27 | button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;} 28 | button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;} 29 | label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer;} 30 | input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;} 31 | input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;} 32 | textarea{overflow:auto;vertical-align:top;} 33 | @media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important;} a,a:visited{text-decoration:underline;} a[href]:after{content:" (" attr(href) ")";} abbr[title]:after{content:" (" attr(title) ")";} .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:"";} pre,blockquote{border:1px solid #999;page-break-inside:avoid;} thead{display:table-header-group;} tr,img{page-break-inside:avoid;} img{max-width:100% !important;} @page {margin:0.5cm;}p,h2,h3{orphans:3;widows:3;} h2,h3{page-break-after:avoid;}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7em;color:#555;background-color:#ffffff;} 34 | a{color:#D45255;text-decoration:none;} 35 | a:hover{color:#00a9a9;text-decoration:underline;} 36 | .img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} 37 | .img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);} 38 | .img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;} 39 | .row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} 40 | .row:after{clear:both;} 41 | [class*="span"]{float:left;min-height:1px;margin-left:20px;} 42 | .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;} 43 | .span12{width:940px;} 44 | .span11{width:860px;} 45 | .span10{width:780px;} 46 | .span9{width:700px;} 47 | .span8{width:620px;} 48 | .span7{width:540px;} 49 | .span6{width:460px;} 50 | .span5{width:380px;} 51 | .span4{width:300px;} 52 | .span3{width:220px;} 53 | .span2{width:140px;} 54 | .span1{width:60px;} 55 | .offset12{margin-left:980px;} 56 | .offset11{margin-left:900px;} 57 | .offset10{margin-left:820px;} 58 | .offset9{margin-left:740px;} 59 | .offset8{margin-left:660px;} 60 | .offset7{margin-left:580px;} 61 | .offset6{margin-left:500px;} 62 | .offset5{margin-left:420px;} 63 | .offset4{margin-left:340px;} 64 | .offset3{margin-left:260px;} 65 | .offset2{margin-left:180px;} 66 | .offset1{margin-left:100px;} 67 | .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} 68 | .row-fluid:after{clear:both;} 69 | .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;} 70 | .row-fluid [class*="span"]:first-child{margin-left:0;} 71 | .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%;} 72 | .row-fluid .span12{width:100%;*width:99.94680851063829%;} 73 | .row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%;} 74 | .row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%;} 75 | .row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%;} 76 | .row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%;} 77 | .row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%;} 78 | .row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%;} 79 | .row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%;} 80 | .row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%;} 81 | .row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%;} 82 | .row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%;} 83 | .row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%;} 84 | .row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%;} 85 | .row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%;} 86 | .row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%;} 87 | .row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%;} 88 | .row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%;} 89 | .row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%;} 90 | .row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%;} 91 | .row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%;} 92 | .row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%;} 93 | .row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%;} 94 | .row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%;} 95 | .row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%;} 96 | .row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%;} 97 | .row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%;} 98 | .row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%;} 99 | .row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%;} 100 | .row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%;} 101 | .row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%;} 102 | .row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%;} 103 | .row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%;} 104 | .row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%;} 105 | .row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%;} 106 | .row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%;} 107 | .row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%;} 108 | [class*="span"].hide,.row-fluid [class*="span"].hide{display:none;} 109 | [class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right;} 110 | .container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";line-height:0;} 111 | .container:after{clear:both;} 112 | .container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0;} 113 | .container-fluid:after{clear:both;} 114 | p{margin:0 0 10px;} 115 | .lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px;} 116 | small{font-size:85%;} 117 | strong{font-weight:bold;} 118 | em{font-style:italic;} 119 | cite{font-style:normal;} 120 | .muted{color:#999999;} 121 | a.muted:hover{color:#808080;} 122 | .text-warning{color:#c09853;} 123 | a.text-warning:hover{color:#a47e3c;} 124 | .text-error{color:#b94a48;} 125 | a.text-error:hover{color:#953b39;} 126 | .text-info{color:#3a87ad;} 127 | a.text-info:hover{color:#2d6987;} 128 | .text-success{color:#468847;} 129 | a.text-success:hover{color:#356635;} 130 | h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999999;} 131 | h1,h2,h3{line-height:40px;} 132 | h1{font-size:38.5px;} 133 | h2{font-size:31.5px;} 134 | h3{font-size:24.5px;} 135 | h4{font-size:17.5px;} 136 | h5{font-size:14px;} 137 | h6{font-size:11.9px;} 138 | h1 small{font-size:24.5px;} 139 | h2 small{font-size:17.5px;} 140 | h3 small{font-size:14px;} 141 | h4 small{font-size:14px;} 142 | .page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eeeeee;} 143 | ul,ol{padding:0;margin:0 0 10px 25px;} 144 | ul ul,ul ol,ol ol,ol ul{margin-bottom:0;} 145 | li{line-height:27px;} 146 | ul.unstyled,ol.unstyled{margin-left:0;list-style:none;} 147 | ul.inline,ol.inline{margin-left:0;list-style:none;}ul.inline >li,ol.inline >li{display:inline-block;padding-left:5px;padding-right:5px;} 148 | dl{margin-bottom:20px;} 149 | dt,dd{line-height:20px;} 150 | dt{font-weight:bold;} 151 | dd{margin-left:10px;} 152 | .dl-horizontal{*zoom:1;}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0;} 153 | .dl-horizontal:after{clear:both;} 154 | .dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} 155 | .dl-horizontal dd{margin-left:180px;} 156 | hr{margin:20px 0; border: 0; height: 40px; /*background: url('../img/shadow_bg.png') no-repeat 50% 0*/ } 157 | abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999;} 158 | abbr.initialism{font-size:90%;text-transform:uppercase;} 159 | blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px;} 160 | blockquote small{display:block;line-height:20px;color:#999999;}blockquote small:before{content:'\2014 \00A0';} 161 | blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;} 162 | blockquote.pull-right small:before{content:'';} 163 | blockquote.pull-right small:after{content:'\00A0 \2014';} 164 | q:before,q:after,blockquote:before,blockquote:after{content:"";} 165 | address{display:block;margin-bottom:20px;font-style:normal;line-height:20px;} 166 | code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} 167 | code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap;} 168 | pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;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;}pre.prettyprint{margin-bottom:20px;} 169 | pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0;} 170 | .pre-scrollable{max-height:340px;overflow-y:scroll;} 171 | .label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#ffffff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;} 172 | .label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} 173 | .badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;} 174 | .label:empty,.badge:empty{display:none;} 175 | a.label:hover,a.badge:hover{color:#ffffff;text-decoration:none;cursor:pointer;} 176 | .label-important,.badge-important{background-color:#b94a48;} 177 | .label-important[href],.badge-important[href]{background-color:#953b39;} 178 | .label-warning,.badge-warning{background-color:#f89406;} 179 | .label-warning[href],.badge-warning[href]{background-color:#c67605;} 180 | .label-success,.badge-success{background-color:#468847;} 181 | .label-success[href],.badge-success[href]{background-color:#356635;} 182 | .label-info,.badge-info{background-color:#3a87ad;} 183 | .label-info[href],.badge-info[href]{background-color:#2d6987;} 184 | .label-inverse,.badge-inverse{background-color:#333333;} 185 | .label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;} 186 | .btn .label,.btn .badge{position:relative;top:-1px;} 187 | .btn-mini .label,.btn-mini .badge{top:0;} 188 | table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;} 189 | .table{width:100%;margin-bottom:20px;}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;} 190 | .table th{font-weight:bold;} 191 | .table thead th{vertical-align:bottom;} 192 | .table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;} 193 | .table tbody+tbody{border-top:2px solid #dddddd;} 194 | .table .table{background-color:#ffffff;} 195 | .table-condensed th,.table-condensed td{padding:4px 5px;} 196 | .table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;} 197 | .table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;} 198 | .table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} 199 | .table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;} 200 | .table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} 201 | .table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} 202 | .table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;} 203 | .table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;} 204 | .table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} 205 | .table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;} 206 | .table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9;} 207 | .table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5;} 208 | table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0;} 209 | .table td.span1,.table th.span1{float:none;width:44px;margin-left:0;} 210 | .table td.span2,.table th.span2{float:none;width:124px;margin-left:0;} 211 | .table td.span3,.table th.span3{float:none;width:204px;margin-left:0;} 212 | .table td.span4,.table th.span4{float:none;width:284px;margin-left:0;} 213 | .table td.span5,.table th.span5{float:none;width:364px;margin-left:0;} 214 | .table td.span6,.table th.span6{float:none;width:444px;margin-left:0;} 215 | .table td.span7,.table th.span7{float:none;width:524px;margin-left:0;} 216 | .table td.span8,.table th.span8{float:none;width:604px;margin-left:0;} 217 | .table td.span9,.table th.span9{float:none;width:684px;margin-left:0;} 218 | .table td.span10,.table th.span10{float:none;width:764px;margin-left:0;} 219 | .table td.span11,.table th.span11{float:none;width:844px;margin-left:0;} 220 | .table td.span12,.table th.span12{float:none;width:924px;margin-left:0;} 221 | .table tbody tr.success td{background-color:#dff0d8;} 222 | .table tbody tr.error td{background-color:#f2dede;} 223 | .table tbody tr.warning td{background-color:#fcf8e3;} 224 | .table tbody tr.info td{background-color:#d9edf7;} 225 | .table-hover tbody tr.success:hover td{background-color:#d0e9c6;} 226 | .table-hover tbody tr.error:hover td{background-color:#ebcccc;} 227 | .table-hover tbody tr.warning:hover td{background-color:#faf2cc;} 228 | .table-hover tbody tr.info:hover td{background-color:#c4e3f3;} 229 | form{margin:0 0 20px;} 230 | fieldset{padding:0;margin:0;border:0;} 231 | legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333333;border:0;border-bottom:1px solid #e5e5e5;}legend small{font-size:15px;color:#999999;} 232 | label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px;} 233 | input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;} 234 | label{display:block;margin-bottom:5px;} 235 | select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555555;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;vertical-align:middle;} 236 | input,textarea,.uneditable-input{width:206px;} 237 | textarea{height:auto;} 238 | textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#ffffff;border:1px solid #cccccc;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear .2s, box-shadow linear .2s;-moz-transition:border linear .2s, box-shadow linear .2s;-o-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82, 168, 236, 0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);} 239 | input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal;} 240 | input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto;} 241 | select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px;} 242 | select{width:220px;border:1px solid #cccccc;background-color:#ffffff;} 243 | select[multiple],select[size]{height:auto;} 244 | select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} 245 | .uneditable-input,.uneditable-textarea{color:#999999;background-color:#fcfcfc;border-color:#cccccc;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;} 246 | .uneditable-input{overflow:hidden;white-space:nowrap;} 247 | .uneditable-textarea{width:auto;height:auto;} 248 | input:-moz-placeholder,textarea:-moz-placeholder{color:#999999;} 249 | input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999999;} 250 | input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999999;} 251 | .radio,.checkbox{min-height:20px;padding-left:20px;} 252 | .radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px;} 253 | .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;} 254 | .radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;} 255 | .radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;} 256 | .input-mini{width:60px;} 257 | .input-small{width:90px;} 258 | .input-medium{width:150px;} 259 | .input-large{width:210px;} 260 | .input-xlarge{width:270px;} 261 | .input-xxlarge{width:530px;} 262 | input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0;} 263 | .input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block;} 264 | input,textarea,.uneditable-input{margin-left:0;} 265 | .controls-row [class*="span"]+[class*="span"]{margin-left:20px;} 266 | input.span12, textarea.span12, .uneditable-input.span12{width:926px;} 267 | input.span11, textarea.span11, .uneditable-input.span11{width:846px;} 268 | input.span10, textarea.span10, .uneditable-input.span10{width:766px;} 269 | input.span9, textarea.span9, .uneditable-input.span9{width:686px;} 270 | input.span8, textarea.span8, .uneditable-input.span8{width:606px;} 271 | input.span7, textarea.span7, .uneditable-input.span7{width:526px;} 272 | input.span6, textarea.span6, .uneditable-input.span6{width:446px;} 273 | input.span5, textarea.span5, .uneditable-input.span5{width:366px;} 274 | input.span4, textarea.span4, .uneditable-input.span4{width:286px;} 275 | input.span3, textarea.span3, .uneditable-input.span3{width:206px;} 276 | input.span2, textarea.span2, .uneditable-input.span2{width:126px;} 277 | input.span1, textarea.span1, .uneditable-input.span1{width:46px;} 278 | .controls-row{*zoom:1;}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0;} 279 | .controls-row:after{clear:both;} 280 | .controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left;} 281 | .controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px;} 282 | input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eeeeee;} 283 | input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent;} 284 | .control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;} 285 | .control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;} 286 | .control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;} 287 | .control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;} 288 | .control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;} 289 | .control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;} 290 | .control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;} 291 | .control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;} 292 | .control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;} 293 | .control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;} 294 | .control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;} 295 | .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;} 296 | .control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad;} 297 | .control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad;} 298 | .control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;} 299 | .control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad;} 300 | input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b;}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;} 301 | .form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1;}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0;} 302 | .form-actions:after{clear:both;} 303 | .help-block,.help-inline{color:#595959;} 304 | .help-block{display:block;margin-bottom:10px;} 305 | .help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px;} 306 | .input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap;}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px;} 307 | .input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2;} 308 | .input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#eeeeee;border:1px solid #ccc;} 309 | .input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 310 | .input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546;} 311 | .input-prepend .add-on,.input-prepend .btn{margin-right:-1px;} 312 | .input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} 313 | .input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} 314 | .input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px;} 315 | .input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} 316 | .input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} 317 | .input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} 318 | .input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} 319 | .input-prepend.input-append .btn-group:first-child{margin-left:0;} 320 | input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} 321 | .form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 322 | .form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;} 323 | .form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;} 324 | .form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;} 325 | .form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;} 326 | .form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle;} 327 | .form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none;} 328 | .form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block;} 329 | .form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0;} 330 | .form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle;} 331 | .form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0;} 332 | .control-group{margin-bottom:10px;} 333 | legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate;} 334 | .form-horizontal .control-group{margin-bottom:20px;*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0;} 335 | .form-horizontal .control-group:after{clear:both;} 336 | .form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right;} 337 | .form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0;}.form-horizontal .controls:first-child{*padding-left:180px;} 338 | .form-horizontal .help-block{margin-bottom:0;} 339 | .form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px;} 340 | .form-horizontal .form-actions{padding-left:180px;} 341 | .btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(to bottom, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid #bbbbbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333333;background-color:#e6e6e6;*background-color:#d9d9d9;} 342 | .btn:active,.btn.active{background-color:#cccccc \9;} 343 | .btn:first-child{*margin-left:0;} 344 | .btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear;} 345 | .btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} 346 | .btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);} 347 | .btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} 348 | .btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} 349 | .btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px;} 350 | .btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} 351 | .btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0;} 352 | .btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px;} 353 | .btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} 354 | .btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} 355 | .btn-block+.btn-block{margin-top:5px;} 356 | input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%;} 357 | .btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255, 255, 255, 0.75);} 358 | .btn{border-color:#c5c5c5;border-color:rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);} 359 | .btn-primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top, #0088cc, #0044cc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));background-image:-webkit-linear-gradient(top, #0088cc, #0044cc);background-image:-o-linear-gradient(top, #0088cc, #0044cc);background-image:linear-gradient(to bottom, #0088cc, #0044cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);border-color:#0044cc #0044cc #002a80;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#0044cc;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#ffffff;background-color:#0044cc;*background-color:#003bb3;} 360 | .btn-primary:active,.btn-primary.active{background-color:#003399 \9;} 361 | .btn-warning{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#f89406;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#ffffff;background-color:#f89406;*background-color:#df8505;} 362 | .btn-warning:active,.btn-warning.active{background-color:#c67605 \9;} 363 | .btn-danger{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#da4f49;background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);background-image:linear-gradient(to bottom, #ee5f5b, #bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#bd362f;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#ffffff;background-color:#bd362f;*background-color:#a9302a;} 364 | .btn-danger:active,.btn-danger.active{background-color:#942a25 \9;} 365 | .btn-success{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#5bb75b;background-image:-moz-linear-gradient(top, #62c462, #51a351);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));background-image:-webkit-linear-gradient(top, #62c462, #51a351);background-image:-o-linear-gradient(top, #62c462, #51a351);background-image:linear-gradient(to bottom, #62c462, #51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#51a351;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#ffffff;background-color:#51a351;*background-color:#499249;} 366 | .btn-success:active,.btn-success.active{background-color:#408140 \9;} 367 | .btn-info{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#49afcd;background-image:-moz-linear-gradient(top, #5bc0de, #2f96b4);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));background-image:-webkit-linear-gradient(top, #5bc0de, #2f96b4);background-image:-o-linear-gradient(top, #5bc0de, #2f96b4);background-image:linear-gradient(to bottom, #5bc0de, #2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#2f96b4;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#ffffff;background-color:#2f96b4;*background-color:#2a85a0;} 368 | .btn-info:active,.btn-info.active{background-color:#24748c \9;} 369 | .btn-inverse{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#363636;background-image:-moz-linear-gradient(top, #444444, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));background-image:-webkit-linear-gradient(top, #444444, #222222);background-image:-o-linear-gradient(top, #444444, #222222);background-image:linear-gradient(to bottom, #444444, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#222222;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#ffffff;background-color:#222222;*background-color:#151515;} 370 | .btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;} 371 | button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px;}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0;} 372 | button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px;} 373 | button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px;} 374 | button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px;} 375 | .btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} 376 | .btn-link{border-color:transparent;cursor:pointer;color:#0088cc;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 377 | .btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent;} 378 | .btn-link[disabled]:hover{color:#333333;text-decoration:none;} 379 | [class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat;margin-top:1px;} 380 | .icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png");} 381 | .icon-glass{background-position:0 0;} 382 | .icon-music{background-position:-24px 0;} 383 | .icon-search{background-position:-48px 0;} 384 | .icon-envelope{background-position:-72px 0;} 385 | .icon-heart{background-position:-96px 0;} 386 | .icon-star{background-position:-120px 0;} 387 | .icon-star-empty{background-position:-144px 0;} 388 | .icon-user{background-position:-168px 0;} 389 | .icon-film{background-position:-192px 0;} 390 | .icon-th-large{background-position:-216px 0;} 391 | .icon-th{background-position:-240px 0;} 392 | .icon-th-list{background-position:-264px 0;} 393 | .icon-ok{background-position:-288px 0;} 394 | .icon-remove{background-position:-312px 0;} 395 | .icon-zoom-in{background-position:-336px 0;} 396 | .icon-zoom-out{background-position:-360px 0;} 397 | .icon-off{background-position:-384px 0;} 398 | .icon-signal{background-position:-408px 0;} 399 | .icon-cog{background-position:-432px 0;} 400 | .icon-trash{background-position:-456px 0;} 401 | .icon-home{background-position:0 -24px;} 402 | .icon-file{background-position:-24px -24px;} 403 | .icon-time{background-position:-48px -24px;} 404 | .icon-road{background-position:-72px -24px;} 405 | .icon-download-alt{background-position:-96px -24px;} 406 | .icon-download{background-position:-120px -24px;} 407 | .icon-upload{background-position:-144px -24px;} 408 | .icon-inbox{background-position:-168px -24px;} 409 | .icon-play-circle{background-position:-192px -24px;} 410 | .icon-repeat{background-position:-216px -24px;} 411 | .icon-refresh{background-position:-240px -24px;} 412 | .icon-list-alt{background-position:-264px -24px;} 413 | .icon-lock{background-position:-287px -24px;} 414 | .icon-flag{background-position:-312px -24px;} 415 | .icon-headphones{background-position:-336px -24px;} 416 | .icon-volume-off{background-position:-360px -24px;} 417 | .icon-volume-down{background-position:-384px -24px;} 418 | .icon-volume-up{background-position:-408px -24px;} 419 | .icon-qrcode{background-position:-432px -24px;} 420 | .icon-barcode{background-position:-456px -24px;} 421 | .icon-tag{background-position:0 -48px;} 422 | .icon-tags{background-position:-25px -48px;} 423 | .icon-book{background-position:-48px -48px;} 424 | .icon-bookmark{background-position:-72px -48px;} 425 | .icon-print{background-position:-96px -48px;} 426 | .icon-camera{background-position:-120px -48px;} 427 | .icon-font{background-position:-144px -48px;} 428 | .icon-bold{background-position:-167px -48px;} 429 | .icon-italic{background-position:-192px -48px;} 430 | .icon-text-height{background-position:-216px -48px;} 431 | .icon-text-width{background-position:-240px -48px;} 432 | .icon-align-left{background-position:-264px -48px;} 433 | .icon-align-center{background-position:-288px -48px;} 434 | .icon-align-right{background-position:-312px -48px;} 435 | .icon-align-justify{background-position:-336px -48px;} 436 | .icon-list{background-position:-360px -48px;} 437 | .icon-indent-left{background-position:-384px -48px;} 438 | .icon-indent-right{background-position:-408px -48px;} 439 | .icon-facetime-video{background-position:-432px -48px;} 440 | .icon-picture{background-position:-456px -48px;} 441 | .icon-pencil{background-position:0 -72px;} 442 | .icon-map-marker{background-position:-24px -72px;} 443 | .icon-adjust{background-position:-48px -72px;} 444 | .icon-tint{background-position:-72px -72px;} 445 | .icon-edit{background-position:-96px -72px;} 446 | .icon-share{background-position:-120px -72px;} 447 | .icon-check{background-position:-144px -72px;} 448 | .icon-move{background-position:-168px -72px;} 449 | .icon-step-backward{background-position:-192px -72px;} 450 | .icon-fast-backward{background-position:-216px -72px;} 451 | .icon-backward{background-position:-240px -72px;} 452 | .icon-play{background-position:-264px -72px;} 453 | .icon-pause{background-position:-288px -72px;} 454 | .icon-stop{background-position:-312px -72px;} 455 | .icon-forward{background-position:-336px -72px;} 456 | .icon-fast-forward{background-position:-360px -72px;} 457 | .icon-step-forward{background-position:-384px -72px;} 458 | .icon-eject{background-position:-408px -72px;} 459 | .icon-chevron-left{background-position:-432px -72px;} 460 | .icon-chevron-right{background-position:-456px -72px;} 461 | .icon-plus-sign{background-position:0 -96px;} 462 | .icon-minus-sign{background-position:-24px -96px;} 463 | .icon-remove-sign{background-position:-48px -96px;} 464 | .icon-ok-sign{background-position:-72px -96px;} 465 | .icon-question-sign{background-position:-96px -96px;} 466 | .icon-info-sign{background-position:-120px -96px;} 467 | .icon-screenshot{background-position:-144px -96px;} 468 | .icon-remove-circle{background-position:-168px -96px;} 469 | .icon-ok-circle{background-position:-192px -96px;} 470 | .icon-ban-circle{background-position:-216px -96px;} 471 | .icon-arrow-left{background-position:-240px -96px;} 472 | .icon-arrow-right{background-position:-264px -96px;} 473 | .icon-arrow-up{background-position:-289px -96px;} 474 | .icon-arrow-down{background-position:-312px -96px;} 475 | .icon-share-alt{background-position:-336px -96px;} 476 | .icon-resize-full{background-position:-360px -96px;} 477 | .icon-resize-small{background-position:-384px -96px;} 478 | .icon-plus{background-position:-408px -96px;} 479 | .icon-minus{background-position:-433px -96px;} 480 | .icon-asterisk{background-position:-456px -96px;} 481 | .icon-exclamation-sign{background-position:0 -120px;} 482 | .icon-gift{background-position:-24px -120px;} 483 | .icon-leaf{background-position:-48px -120px;} 484 | .icon-fire{background-position:-72px -120px;} 485 | .icon-eye-open{background-position:-96px -120px;} 486 | .icon-eye-close{background-position:-120px -120px;} 487 | .icon-warning-sign{background-position:-144px -120px;} 488 | .icon-plane{background-position:-168px -120px;} 489 | .icon-calendar{background-position:-192px -120px;} 490 | .icon-random{background-position:-216px -120px;width:16px;} 491 | .icon-comment{background-position:-240px -120px;} 492 | .icon-magnet{background-position:-264px -120px;} 493 | .icon-chevron-up{background-position:-288px -120px;} 494 | .icon-chevron-down{background-position:-313px -119px;} 495 | .icon-retweet{background-position:-336px -120px;} 496 | .icon-shopping-cart{background-position:-360px -120px;} 497 | .icon-folder-close{background-position:-384px -120px;} 498 | .icon-folder-open{background-position:-408px -120px;width:16px;} 499 | .icon-resize-vertical{background-position:-432px -119px;} 500 | .icon-resize-horizontal{background-position:-456px -118px;} 501 | .icon-hdd{background-position:0 -144px;} 502 | .icon-bullhorn{background-position:-24px -144px;} 503 | .icon-bell{background-position:-48px -144px;} 504 | .icon-certificate{background-position:-72px -144px;} 505 | .icon-thumbs-up{background-position:-96px -144px;} 506 | .icon-thumbs-down{background-position:-120px -144px;} 507 | .icon-hand-right{background-position:-144px -144px;} 508 | .icon-hand-left{background-position:-168px -144px;} 509 | .icon-hand-up{background-position:-192px -144px;} 510 | .icon-hand-down{background-position:-216px -144px;} 511 | .icon-circle-arrow-right{background-position:-240px -144px;} 512 | .icon-circle-arrow-left{background-position:-264px -144px;} 513 | .icon-circle-arrow-up{background-position:-288px -144px;} 514 | .icon-circle-arrow-down{background-position:-312px -144px;} 515 | .icon-globe{background-position:-336px -144px;} 516 | .icon-wrench{background-position:-360px -144px;} 517 | .icon-tasks{background-position:-384px -144px;} 518 | .icon-filter{background-position:-408px -144px;} 519 | .icon-briefcase{background-position:-432px -144px;} 520 | .icon-fullscreen{background-position:-456px -144px;} 521 | .btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em;}.btn-group:first-child{*margin-left:0;} 522 | .btn-group+.btn-group{margin-left:5px;} 523 | .btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px;}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px;} 524 | .btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 525 | .btn-group>.btn+.btn{margin-left:-1px;} 526 | .btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px;} 527 | .btn-group>.btn-mini{font-size:10.5px;} 528 | .btn-group>.btn-small{font-size:11.9px;} 529 | .btn-group>.btn-large{font-size:17.5px;} 530 | .btn-group>.btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} 531 | .btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} 532 | .btn-group>.btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;} 533 | .btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;} 534 | .btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2;} 535 | .btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;} 536 | .btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px;} 537 | .btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px;} 538 | .btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px;} 539 | .btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px;} 540 | .btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);} 541 | .btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6;} 542 | .btn-group.open .btn-primary.dropdown-toggle{background-color:#0044cc;} 543 | .btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406;} 544 | .btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f;} 545 | .btn-group.open .btn-success.dropdown-toggle{background-color:#51a351;} 546 | .btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4;} 547 | .btn-group.open .btn-inverse.dropdown-toggle{background-color:#222222;} 548 | .btn .caret{margin-top:8px;margin-left:0;} 549 | .btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px;} 550 | .btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px;} 551 | .dropup .btn-large .caret{border-bottom-width:5px;} 552 | .btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} 553 | .btn-group-vertical{display:inline-block;*display:inline;*zoom:1;} 554 | .btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 555 | .btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px;} 556 | .btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;} 557 | .btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;} 558 | .btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0;} 559 | .btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;} 560 | .nav{margin-left:0;margin-bottom:20px;list-style:none;} 561 | .nav>li>a{display:block;} 562 | .nav>li>a:hover{text-decoration:none;background-color:#eeeeee;} 563 | .nav>li>a>img{max-width:none;} 564 | .nav>.pull-right{float:right;} 565 | .nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999999;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-transform:uppercase;} 566 | .nav li+.nav-header{margin-top:9px;} 567 | .nav-list{padding-left:15px;padding-right:15px;margin-bottom:0;} 568 | .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);} 569 | .nav-list>li>a{padding:3px 15px;} 570 | .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;} 571 | .nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px;} 572 | .nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;} 573 | .nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0;} 574 | .nav-tabs:after,.nav-pills:after{clear:both;} 575 | .nav-tabs>li,.nav-pills>li{float:left;} 576 | .nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;} 577 | .nav-tabs{border-bottom:1px solid #ddd;} 578 | .nav-tabs>li{margin-bottom:-1px;} 579 | .nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;} 580 | .nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;} 581 | .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;} 582 | .nav-pills>.active>a,.nav-pills>.active>a:hover{color:#ffffff;background-color:#0088cc;} 583 | .nav-stacked>li{float:none;} 584 | .nav-stacked>li>a{margin-right:0;} 585 | .nav-tabs.nav-stacked{border-bottom:0;} 586 | .nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 587 | .nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} 588 | .nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} 589 | .nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2;} 590 | .nav-pills.nav-stacked>li>a{margin-bottom:3px;} 591 | .nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;} 592 | .nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;} 593 | .nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} 594 | .nav .dropdown-toggle .caret{border-top-color:#0088cc;border-bottom-color:#0088cc;margin-top:6px;} 595 | .nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580;} 596 | .nav-tabs .dropdown-toggle .caret{margin-top:8px;} 597 | .nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff;} 598 | .nav-tabs .active .dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;} 599 | .nav>.dropdown.active>a:hover{cursor:pointer;} 600 | .nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;} 601 | .nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;opacity:1;filter:alpha(opacity=100);} 602 | .tabs-stacked .open>a:hover{border-color:#999999;} 603 | .tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0;} 604 | .tabbable:after{clear:both;} 605 | .tab-content{overflow:auto;} 606 | .tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0;} 607 | .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;} 608 | .tab-content>.active,.pill-content>.active{display:block;} 609 | .tabs-below>.nav-tabs{border-top:1px solid #ddd;} 610 | .tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0;} 611 | .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;} 612 | .tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;} 613 | .tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none;} 614 | .tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;} 615 | .tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;} 616 | .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;} 617 | .tabs-left>.nav-tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;} 618 | .tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;} 619 | .tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;} 620 | .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;} 621 | .tabs-right>.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;} 622 | .tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;} 623 | .nav>.disabled>a{color:#999999;} 624 | .nav>.disabled>a:hover{text-decoration:none;background-color:transparent;cursor:default;} 625 | .navbar{overflow:visible;margin-bottom:20px; position:fixed; width: 100%; top: 0; z-index: 2;} 626 | .navbar-inner{min-height:40px;padding-left:0;padding-right:0;/*background-color:#f00;background-image:-moz-linear-gradient(top, #ffffff, #f2f2f2);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));background-image:-webkit-linear-gradient(top, #ffffff, #f2f2f2);background-image:-o-linear-gradient(top, #ffffff, #f2f2f2);background-image:linear-gradient(to bottom, #ffffff, #f2f2f2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);border:1px solid #d4d4d4; -webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;   */ -webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);box-shadow:0 1px 4px rgba(0, 0, 0, 0.065); }.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0;} 627 | .navbar-inner:after{clear:both;} 628 | .navbar .container{width:auto;} 629 | .nav-collapse.collapse{height:auto;overflow:visible;} 630 | .navbar .brand{float:left;display:block;padding:10px 20px 3px;margin-left:-20px;font-size:34px;font-weight:200;color:#fff; /*text-shadow:0 1px 0 #ffffff;*/}.navbar .brand:hover{text-decoration:none;} 631 | .navbar-text{margin-bottom:0;line-height:40px;color:#777777;} 632 | .navbar-link{color:#777777;}.navbar-link:hover{color:#333333;} 633 | .navbar .divider-vertical{height:40px;margin:0 9px;border-left:1px solid #f2f2f2;border-right:1px solid #ffffff;} 634 | .navbar .btn,.navbar .btn-group{margin-top:5px;} 635 | .navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0;} 636 | .navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0;} 637 | .navbar-form:after{clear:both;} 638 | .navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px;} 639 | .navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0;} 640 | .navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;} 641 | .navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap;}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0;} 642 | .navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0;}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} 643 | .navbar-static-top{position:static;margin-bottom:0;}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 644 | .navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;} 645 | .navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px;} 646 | .navbar-fixed-bottom .navbar-inner{border-width:1px 0 0;} 647 | .navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 648 | .navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;} 649 | .navbar-fixed-top{top:0;} 650 | .navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1);} 651 | .navbar-fixed-bottom{bottom:0;}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1);} 652 | .navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;} 653 | .navbar .nav.pull-right{float:right;margin-right:0;} 654 | .navbar .nav>li{float:left;} 655 | .navbar .nav>li>a{float:none;padding:10px 9px 10px;color:#fff;text-decoration:none; /*text-shadow:0 1px 0 #ffffff;*/} 656 | .navbar .nav .dropdown-toggle .caret{margin-top:8px;} 657 | .navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#333333;text-decoration:none;} 658 | .navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);-moz-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);} 659 | .navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#ededed;background-image:-moz-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));background-image:-webkit-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-o-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:linear-gradient(to bottom, #f2f2f2, #e5e5e5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e5e5e5;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#ffffff;background-color:#e5e5e5;*background-color:#d9d9d9;} 660 | .navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#cccccc \9;} 661 | .navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);-moz-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);} 662 | .btn-navbar .icon-bar+.icon-bar{margin-top:3px;} 663 | .navbar .nav>li>.dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;} 664 | .navbar .nav>li>.dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;position:absolute;top:-6px;left:10px;} 665 | .navbar-fixed-bottom .nav>li>.dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0, 0, 0, 0.2);border-bottom:0;bottom:-7px;top:auto;} 666 | .navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #ffffff;border-bottom:0;bottom:-6px;top:auto;} 667 | .navbar .nav li.dropdown>a:hover .caret{border-top-color:#555555;border-bottom-color:#555555;} 668 | .navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:#e5e5e5;color:#555555;} 669 | .navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777777;border-bottom-color:#777777;} 670 | .navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;} 671 | .navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{left:auto;right:0;}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{left:auto;right:12px;} 672 | .navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px;} 673 | .navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;} 674 | .navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top, #222222, #111111);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));background-image:-webkit-linear-gradient(top, #222222, #111111);background-image:-o-linear-gradient(top, #222222, #111111);background-image:linear-gradient(to bottom, #222222, #111111);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);border-color:#252525;} 675 | .navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999999;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#ffffff;} 676 | .navbar-inverse .brand{color:#999999;} 677 | .navbar-inverse .navbar-text{color:#999999;} 678 | .navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:transparent;color:#ffffff;} 679 | .navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#ffffff;background-color:#111111;} 680 | .navbar-inverse .navbar-link{color:#999999;}.navbar-inverse .navbar-link:hover{color:#ffffff;} 681 | .navbar-inverse .divider-vertical{border-left-color:#111111;border-right-color:#222222;} 682 | .navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#111111;color:#ffffff;} 683 | .navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} 684 | .navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999999;border-bottom-color:#999999;} 685 | .navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} 686 | .navbar-inverse .navbar-search .search-query{color:#ffffff;background-color:#515151;border-color:#111111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#cccccc;} 687 | .navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#cccccc;} 688 | .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#cccccc;} 689 | .navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;} 690 | .navbar-inverse .btn-navbar{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e0e0e;background-image:-moz-linear-gradient(top, #151515, #040404);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));background-image:-webkit-linear-gradient(top, #151515, #040404);background-image:-o-linear-gradient(top, #151515, #040404);background-image:linear-gradient(to bottom, #151515, #040404);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);border-color:#040404 #040404 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#040404;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#ffffff;background-color:#040404;*background-color:#000000;} 691 | .navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000000 \9;} 692 | .breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.breadcrumb>li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #ffffff;}.breadcrumb>li>.divider{padding:0 5px;color:#ccc;} 693 | .breadcrumb>.active{color:#999999;} 694 | .pagination{margin:20px 0;} 695 | .pagination ul{display:block;*zoom:1;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);} 696 | .pagination ul>li{display:inline;} 697 | .pagination ul>li>a,.pagination ul>li>span{padding:4px 12px;line-height:20px;text-decoration:none;background-color:#ffffff;border:1px solid #dddddd;border-left-width:0;} 698 | .pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5;} 699 | .pagination ul>.active>a,.pagination ul>.active>span{color:#999999;cursor:default;} 700 | .pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999999;background-color:transparent;cursor:default;} 701 | .pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} 702 | .pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} 703 | .pagination-centered{text-align:center;} 704 | .pagination-right{text-align:right;} 705 | .pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px;} 706 | .pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;} 707 | .pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;} 708 | .pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px;} 709 | .pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px;} 710 | .pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px;} 711 | .pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px;} 712 | .pager{margin:20px 0;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";line-height:0;} 713 | .pager:after{clear:both;} 714 | .pager li{display:inline;} 715 | .pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} 716 | .pager li>a:hover{text-decoration:none;background-color:#f5f5f5;} 717 | .pager .next>a,.pager .next>span{float:right;} 718 | .pager .previous>a,.pager .previous>span{float:left;} 719 | .pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999999;background-color:#fff;cursor:default;} 720 | .thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0;} 721 | .thumbnails:after{clear:both;} 722 | .row-fluid .thumbnails{margin-left:0;} 723 | .thumbnails>li{float:left;margin-bottom:20px;margin-left:20px;} 724 | .thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;} 725 | 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);} 726 | .thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;} 727 | .thumbnail .caption{padding:9px;color:#555555;} 728 | .alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} 729 | .alert,.alert h4{color:#c09853;} 730 | .alert h4{margin:0;} 731 | .alert .close{position:relative;top:-2px;right:-21px;line-height:20px;} 732 | .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847;} 733 | .alert-success h4{color:#468847;} 734 | .alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48;} 735 | .alert-danger h4,.alert-error h4{color:#b94a48;} 736 | .alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad;} 737 | .alert-info h4{color:#3a87ad;} 738 | .alert-block{padding-top:14px;padding-bottom:14px;} 739 | .alert-block>p,.alert-block>ul{margin-bottom:0;} 740 | .alert-block p+p{margin-top:5px;} 741 | @-webkit-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-o-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(to bottom, #f5f5f5, #f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} 742 | .progress .bar{width:0%;height:100%;color:#ffffff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));background-image:-webkit-linear-gradient(top, #149bdf, #0480be);background-image:-o-linear-gradient(top, #149bdf, #0480be);background-image:linear-gradient(to bottom, #149bdf, #0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width 0.6s ease;-moz-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;} 743 | .progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);} 744 | .progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;} 745 | .progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;} 746 | .progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(to bottom, #ee5f5b, #c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);} 747 | .progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} 748 | .progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(to bottom, #62c462, #57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);} 749 | .progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} 750 | .progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(to bottom, #5bc0de, #339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);} 751 | .progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} 752 | .progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);} 753 | .progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} 754 | .hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eeeeee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px;} 755 | .hero-unit li{line-height:30px;} 756 | .media,.media-body{overflow:hidden;*overflow:visible;zoom:1;} 757 | .media,.media .media{margin-top:15px;} 758 | .media:first-child{margin-top:0;} 759 | .media-object{display:block;} 760 | .media-heading{margin:0 0 5px;} 761 | .media .pull-left{margin-right:10px;} 762 | .media .pull-right{margin-left:10px;} 763 | .media-list{margin-left:0;list-style:none;} 764 | .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);} 765 | .well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} 766 | .well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} 767 | .close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover{color:#000000;text-decoration:none;cursor:pointer;opacity:0.4;filter:alpha(opacity=40);} 768 | button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;} 769 | .pull-right{float:right;} 770 | .pull-left{float:left;} 771 | .hide{display:none;} 772 | .show{display:block;} 773 | .invisible{visibility:hidden;} 774 | .affix{position:fixed;} 775 | .fade{opacity:0;-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;}.fade.in{opacity:1;} 776 | .collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height 0.35s ease;-moz-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease;}.collapse.in{height:auto;} 777 | .hidden{display:none;visibility:hidden;} 778 | .visible-phone{display:none !important;} 779 | .visible-tablet{display:none !important;} 780 | .hidden-desktop{display:none !important;} 781 | .visible-desktop{display:inherit !important;} 782 | .container-narrow { margin: 100px auto; max-width: 900px; } 783 | .card{ padding: 20px 40px; margin-top: 50px; /*border-radius: 7px; box-shadow: 1px 1px 5px #eee;*/ } 784 | .date_label{position: relative; float:left; width:48px; height:50px; color: #fff; text-align: center; background: #00a9a9; margin-left: -56px; margin-top: -10px; } 785 | 786 | .date_label::before{position: absolute; content: "";border: 1.5em solid #00a9a9; } 787 | .day_month{ font-size: 18px;} .year{ font-size: 12px; } 788 | @media (min-width:768px) and (max-width:979px){.date_label{ margin:-26px 50px 30px -30px;} .date_label::before{border-bottom-color: transparent; border-bottom-width: 1.3em; top: 100%; right: 0;} .date_label::after{top: 0;right: 100%; border-right: 0.3em solid #008989;border-top: 0.4em solid transparent;} .hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important ;} .visible-tablet{display:inherit !important;} .hidden-tablet{display:none !important;}} 789 | @media (max-width:767px){.date_label{ margin:-26px 50px 0 -35px;} .date_label::before{top: 100%;left: 0;border-bottom: 1em solid transparent;} /*hr{background: url('../img/shadow_middle_bg.png') no-repeat 50% 0}*/ .hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important;} .visible-phone{display:inherit !important;} .hidden-phone{display:none !important;}} 790 | @media (max-width:767px){.content{margin-left:13px;margin-right:13px;} .navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-left:-20px;margin-right:-20px;} .container-fluid{padding:0;} .dl-horizontal dt{float:none;clear:none;width:auto;text-align:left;} .dl-horizontal dd{margin-left:0;} .container{width:auto;} .row-fluid{width:100%;} .row,.thumbnails{margin-left:0;} .thumbnails>li{float:none;margin-left:0;} [class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{float:none;display:block;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .row-fluid [class*="offset"]:first-child{margin-left:0;} .input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto;} .controls-row [class*="span"]+[class*="span"]{margin-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade{top:-100px;} .modal.fade.in{top:20px;}} 791 | @media (max-width:480px){ .navbar .brand{font-size:24px;} .container-narrow { margin: 60px auto; } .content{margin-left:3px;margin-right:3px;} .card{padding: 20px 5px; margin-top: 20px;} h1{font-size: 28px;} .date_label{ margin:-26px 40px 30px 0;} /*hr{background: url('../img/shadow_small_bg.png') no-repeat 50% 0 }*/ .nav {margin: 0;} .nav-collapse{-webkit-transform:translate3d(0, 0, 0);} .page-header h1 small{display:block;line-height:20px;} input[type="checkbox"],input[type="radio"]{border:1px solid #ccc;} .form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:10px;padding-right:10px;} .media .pull-left,.media .pull-right{float:none;display:block;margin-bottom:10px;} .media-object{margin-right:0;margin-left:0;} .modal{top:10px;left:10px;right:10px;} .modal-header .close{padding:10px;margin:-10px;} .carousel-caption{position:static;}} 792 | @media (min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:20px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px;} .span12{width:724px;} .span11{width:662px;} .span10{width:600px;} .span9{width:538px;} .span8{width:476px;} .span7{width:414px;} .span6{width:352px;} .span5{width:290px;} .span4{width:228px;} .span3{width:166px;} .span2{width:104px;} .span1{width:42px;} .offset12{margin-left:764px;} .offset11{margin-left:702px;} .offset10{margin-left:640px;} .offset9{margin-left:578px;} .offset8{margin-left:516px;} .offset7{margin-left:454px;} .offset6{margin-left:392px;} .offset5{margin-left:330px;} .offset4{margin-left:268px;} .offset3{margin-left:206px;} .offset2{margin-left:144px;} .offset1{margin-left:82px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%;} .row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%;} .row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%;} .row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%;} .row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%;} .row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%;} .row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%;} .row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%;} .row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%;} .row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%;} .row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%;} .row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%;} .row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%;} .row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%;} .row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%;} .row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%;} .row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%;} .row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%;} .row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%;} .row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%;} .row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%;} .row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%;} .row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%;} .row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%;} .row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%;} .row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%;} .row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%;} .row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%;} .row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%;} .row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%;} .row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%;} .row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%;} .row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%;} .row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%;} .row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:20px;} input.span12, textarea.span12, .uneditable-input.span12{width:710px;} input.span11, textarea.span11, .uneditable-input.span11{width:648px;} input.span10, textarea.span10, .uneditable-input.span10{width:586px;} input.span9, textarea.span9, .uneditable-input.span9{width:524px;} input.span8, textarea.span8, .uneditable-input.span8{width:462px;} input.span7, textarea.span7, .uneditable-input.span7{width:400px;} input.span6, textarea.span6, .uneditable-input.span6{width:338px;} input.span5, textarea.span5, .uneditable-input.span5{width:276px;} input.span4, textarea.span4, .uneditable-input.span4{width:214px;} input.span3, textarea.span3, .uneditable-input.span3{width:152px;} input.span2, textarea.span2, .uneditable-input.span2{width:90px;} input.span1, textarea.span1, .uneditable-input.span1{width:28px;}} 793 | @media (min-width:1200px){ .row{margin-left:-30px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:30px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px;} .span12{width:1170px;} .span11{width:1070px;} .span10{width:970px;} .span9{width:870px;} .span8{width:770px;} .span7{width:670px;} .span6{width:570px;} .span5{width:470px;} .span4{width:370px;} .span3{width:270px;} .span2{width:170px;} .span1{width:70px;} .offset12{margin-left:1230px;} .offset11{margin-left:1130px;} .offset10{margin-left:1030px;} .offset9{margin-left:930px;} .offset8{margin-left:830px;} .offset7{margin-left:730px;} .offset6{margin-left:630px;} .offset5{margin-left:530px;} .offset4{margin-left:430px;} .offset3{margin-left:330px;} .offset2{margin-left:230px;} .offset1{margin-left:130px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%;} .row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%;} .row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%;} .row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%;} .row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%;} .row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%;} .row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%;} .row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%;} .row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%;} .row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%;} .row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%;} .row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%;} .row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%;} .row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%;} .row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%;} .row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%;} .row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%;} .row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%;} .row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%;} .row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%;} .row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%;} .row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%;} .row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%;} .row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%;} .row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%;} .row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%;} .row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%;} .row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%;} .row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%;} .row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%;} .row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%;} .row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%;} .row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%;} .row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%;} .row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:30px;} input.span12, textarea.span12, .uneditable-input.span12{width:1156px;} input.span11, textarea.span11, .uneditable-input.span11{width:1056px;} input.span10, textarea.span10, .uneditable-input.span10{width:956px;} input.span9, textarea.span9, .uneditable-input.span9{width:856px;} input.span8, textarea.span8, .uneditable-input.span8{width:756px;} input.span7, textarea.span7, .uneditable-input.span7{width:656px;} input.span6, textarea.span6, .uneditable-input.span6{width:556px;} input.span5, textarea.span5, .uneditable-input.span5{width:456px;} input.span4, textarea.span4, .uneditable-input.span4{width:356px;} input.span3, textarea.span3, .uneditable-input.span3{width:256px;} input.span2, textarea.span2, .uneditable-input.span2{width:156px;} input.span1, textarea.span1, .uneditable-input.span1{width:56px;} .thumbnails{margin-left:-30px;} .thumbnails>li{margin-left:30px;} .row-fluid .thumbnails{margin-left:0;}} 794 | @media (max-width:979px){ body{padding-top:0;} .navbar-fixed-top,.navbar-fixed-bottom{position:static;} .navbar-fixed-top{margin-bottom:20px;} .navbar-fixed-bottom{margin-top:20px;} .navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px;} .navbar .container{width:auto;padding:0;} .navbar .brand{padding-left:0;padding-right:0;margin:0 0 0 7px;} .nav-collapse{clear:both;} .nav-collapse .nav{float:none;margin:0 0 10px;} .nav-collapse .nav>li{float:none;} .nav-collapse .nav>li>a{margin-bottom:2px;} .nav-collapse .nav>.divider-vertical{display:none;} .nav-collapse .nav .nav-header{color:#777777;text-shadow:none;} .nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} .nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} .nav-collapse .dropdown-menu li+li a{margin-bottom:2px;} .nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2;} .navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999999;} .navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111111;} .nav-collapse.in .btn-group{margin-top:5px;padding:0;} .nav-collapse .dropdown-menu{position:static;top:auto;left:auto;float:none;display:none;max-width:none;margin:0 15px;padding:0;background-color:transparent;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} .nav-collapse .open>.dropdown-menu{display:block;} .nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none;} .nav-collapse .dropdown-menu .divider{display:none;} .nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none;} .nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);} .navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111111;border-bottom-color:#111111;} .navbar .nav-collapse .nav.pull-right{float:none;margin-left:0;} .nav-collapse,.nav-collapse.collapse{overflow:hidden;height:0;} .navbar .btn-navbar{display:block;} .navbar-static .navbar-inner{padding-left:10px;padding-right:10px;}} 795 | @media (min-width:980px) {.date_label{ width:150px; height:48px; text-align:left; background-color:#00a9a9; margin-right: 100px; } 796 | .date_label::before{border-right-color: transparent; top: 0; left: 100%;} .date_label::after{position: absolute; content: ""; top:100%; left:0; border-right: 1em solid #008989; border-bottom: 0.5em solid transparent;} .day_month{ font-size: 33px;font-weight: 100; margin: 10px 10px 0 10px; float: left;} .year{ font-size: 12px; margin-top: 21px;} .nav-collapse.collapse{height:auto !important; overflow:visible !important;}} 797 | -------------------------------------------------------------------------------- /assets/themes/twitter/bootstrap/img/card_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/bootstrap/img/card_bg.jpg -------------------------------------------------------------------------------- /assets/themes/twitter/bootstrap/img/date_label_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/bootstrap/img/date_label_bg.png -------------------------------------------------------------------------------- /assets/themes/twitter/bootstrap/img/date_label_small_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/bootstrap/img/date_label_small_bg.png -------------------------------------------------------------------------------- /assets/themes/twitter/bootstrap/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/bootstrap/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /assets/themes/twitter/bootstrap/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/bootstrap/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /assets/themes/twitter/bootstrap/img/shadow_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/bootstrap/img/shadow_bg.png -------------------------------------------------------------------------------- /assets/themes/twitter/bootstrap/img/shadow_middle_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/bootstrap/img/shadow_middle_bg.png -------------------------------------------------------------------------------- /assets/themes/twitter/bootstrap/img/shadow_small_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/bootstrap/img/shadow_small_bg.png -------------------------------------------------------------------------------- /assets/themes/twitter/css/img/body_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/css/img/body_bg.jpg -------------------------------------------------------------------------------- /assets/themes/twitter/css/img/body_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/css/img/body_bg.png -------------------------------------------------------------------------------- /assets/themes/twitter/css/img/body_bg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/css/img/body_bg1.png -------------------------------------------------------------------------------- /assets/themes/twitter/css/img/card_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/css/img/card_bg.jpg -------------------------------------------------------------------------------- /assets/themes/twitter/css/img/date_label_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/css/img/date_label_bg.png -------------------------------------------------------------------------------- /assets/themes/twitter/css/img/date_label_small_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/css/img/date_label_small_bg.png -------------------------------------------------------------------------------- /assets/themes/twitter/css/img/postbg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/css/img/postbg.jpg -------------------------------------------------------------------------------- /assets/themes/twitter/css/img/shadow_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/assets/themes/twitter/css/img/shadow_bg.png -------------------------------------------------------------------------------- /assets/themes/twitter/css/prettify.css: -------------------------------------------------------------------------------- 1 | /* Hemisu Light */ 2 | /* Original theme - http://noahfrederick.com/vim-color-scheme-hemisu/ */ 3 | .prettyprint { 4 | background: white; 5 | font-family: Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Consolas, monospace; 6 | font-size: 13px; 7 | line-height: 1.5 !important; 8 | border: 1px solid #ccc; 9 | padding: 10px; 10 | } 11 | 12 | .pln { 13 | color: #111111; 14 | } 15 | 16 | @media screen { 17 | .str { 18 | color: #739200; 19 | } 20 | 21 | .kwd { 22 | color: #00a9a9; 23 | } 24 | 25 | .com { 26 | color: #999999; 27 | } 28 | 29 | .typ { 30 | color: #ff0055; 31 | } 32 | 33 | .lit { 34 | color: rgb(254,100,98); 35 | } 36 | 37 | .pun { 38 | color: #111111; 39 | } 40 | 41 | .opn { 42 | color: #111111; 43 | } 44 | 45 | .clo { 46 | color: #111111; 47 | } 48 | 49 | .tag { 50 | color: #111111; 51 | } 52 | 53 | .atn { 54 | color: #739200; 55 | } 56 | 57 | .atv { 58 | color: #ff0055; 59 | } 60 | 61 | .dec { 62 | color: #111111; 63 | } 64 | 65 | .var { 66 | color: #111111; 67 | } 68 | 69 | .fun { 70 | color: #538192; 71 | } 72 | } 73 | @media print, projection { 74 | .str { 75 | color: #006600; 76 | } 77 | 78 | .kwd { 79 | color: #006; 80 | font-weight: bold; 81 | } 82 | 83 | .com { 84 | color: #600; 85 | font-style: italic; 86 | } 87 | 88 | .typ { 89 | color: #404; 90 | font-weight: bold; 91 | } 92 | 93 | .lit { 94 | color: #004444; 95 | } 96 | 97 | .pun, .opn, .clo { 98 | color: #444400; 99 | } 100 | 101 | .tag { 102 | color: #006; 103 | font-weight: bold; 104 | } 105 | 106 | .atn { 107 | color: #440044; 108 | } 109 | 110 | .atv { 111 | color: #006600; 112 | } 113 | } 114 | /* Specify class=linenums on a pre to get line numbering */ 115 | ol.linenums { 116 | margin-top: 0; 117 | margin-bottom: 0; 118 | } 119 | 120 | /* IE indents via margin-left */ 121 | li.L0, 122 | li.L1, 123 | li.L2, 124 | li.L3, 125 | li.L4, 126 | li.L5, 127 | li.L6, 128 | li.L7, 129 | li.L8, 130 | li.L9 { 131 | /* */ 132 | } 133 | 134 | /* Alternate shading for lines */ 135 | li.L1, 136 | li.L3, 137 | li.L5, 138 | li.L7, 139 | li.L9 { 140 | /* */ 141 | } 142 | 143 | .prettyprint li{ 144 | line-height: 19px; 145 | } -------------------------------------------------------------------------------- /assets/themes/twitter/css/style.css: -------------------------------------------------------------------------------- 1 | body{ background: url("img/body_bg.png") repeat;} 2 | h1{ 3 | font-family: Arial,"楷体"; 4 | } 5 | .fa.fa-arrow-circle-right{ 6 | margin-right: 15px; 7 | } 8 | 9 | /*navbar bgcolor -- float*/ 10 | .navbar .navbar-inner{ 11 | background-color: #00a9a9; 12 | } 13 | 14 | .navbar .nav { 15 | float: right; } 16 | 17 | 18 | 19 | /*page container -- card style -- */ 20 | .nav-narrow{ 21 | margin: 0 auto; 22 | max-width: 900px;} 23 | 24 | 25 | 26 | .card { 27 | max-width: 900px; 28 | background:#fff; 29 | } 30 | 31 | .container-narrow > hr { 32 | margin: 30px 0; } 33 | 34 | .read_more { 35 | padding: 10px 20px; 36 | 37 | background-color: #fff; 38 | } 39 | 40 | 41 | /* posts index */ 42 | 43 | .post > h3.title { 44 | position: relative; 45 | padding-top: 10px; } 46 | 47 | .post > h3.title span.date { 48 | position: absolute; 49 | right: 0; 50 | font-size: 0.9em; } 51 | 52 | .post > .more { 53 | margin: 10px 0; 54 | text-align: left; } 55 | 56 | /* post-full*/ 57 | .post-full .date { 58 | margin-bottom: 20px; 59 | font-weight: bold; } 60 | 61 | /* tag_box */ 62 | .tag_box { 63 | list-style: none; 64 | margin: 0; 65 | overflow: hidden; } 66 | 67 | .tag_box li { 68 | line-height: 28px; } 69 | 70 | .tag_box li i { 71 | opacity: 0.9; } 72 | 73 | .tag_box.inline li { 74 | float: left; } 75 | 76 | .tag_box a { 77 | padding: 3px 6px; 78 | margin: 2px; 79 | background: rgb(222,106,115); 80 | color: #fff; 81 | border-radius: 5px; 82 | text-decoration: none; 83 | } 84 | 85 | .tag_box a span { 86 | vertical-align: super; 87 | font-size: 0.8em; } 88 | 89 | .tag_box a:hover { 90 | background-color: #e5e5e5; } 91 | 92 | .tag_box a.active { 93 | background: #57A957; 94 | border: 1px solid #4c964d; 95 | color: #FFF; } 96 | 97 | 98 | 99 | .hat_title{ 100 | /* margin: 50px 0 20px 0;*/ 101 | padding: 30px 0 40px 0; 102 | /* background-color: rgb(229, 229, 229);*/ 103 | /* color: rgb(0,173,207);*/ 104 | font-size: 58px; 105 | font-weight: 100; 106 | font-family: "楷体"; 107 | } 108 | .post_list{ 109 | margin-left: 60px; 110 | } 111 | .page.card{ 112 | background:url("img/card_bg.jpg") repeat top center; 113 | } -------------------------------------------------------------------------------- /assets/themes/twitter/js/prettify.js: -------------------------------------------------------------------------------- 1 | var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; 2 | (function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= 3 | [],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), 9 | l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, 10 | q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, 11 | q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, 12 | "");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), 13 | a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} 14 | for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], 18 | "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], 19 | H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], 20 | J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ 21 | I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), 22 | ["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", 23 | /^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), 24 | ["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", 25 | hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= 26 | !k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p 6 | 7 | 8 | {{ site.title }} 9 | 10 | 11 | {{ site.time | date_to_xmlschema }} 12 | {{ site.production_url }} 13 | 14 | {{ site.author.name }} 15 | {{ site.author.email }} 16 | 17 | 18 | {% for post in site.posts %} 19 | 20 | {{ post.title }} 21 | 22 | {{ post.date | date_to_xmlschema }} 23 | {{ site.production_url }}{{ post.id }} 24 | {{ post.content | xml_escape }} 25 | 26 | {% endfor %} 27 | 28 | -------------------------------------------------------------------------------- /categories.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: 分类 4 | header: Posts By Category 5 | group: navigation 6 | --- 7 | {% include JB/setup %} 8 | 9 |
      10 | {% assign categories_list = site.categories %} 11 | {% include JB/categories_list %} 12 |
    13 | 14 | 15 | 16 | {% for category in site.categories %} 17 |
    18 |

    {{ category[0] | join: "/" }}

    19 |
      20 | {% assign pages_list = category[1] %} 21 | {% include JB/pages_list %} 22 |
    23 |
    24 | 25 | {% endfor %} 26 | 27 | -------------------------------------------------------------------------------- /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.3.0 : 2013.02.24** 9 | - **Features** 10 | - Update twitter bootstrap to 2.2.2. Add responsiveness and update design a bit. 11 | - @techotaku fixes custom tagline support (finally made it in!) 12 | - @opie4624 adds ability to set tags from the command-line. 13 | - @lax adds support for RSS feed. Adds rss and atom html links for discovery. 14 | - Small typo fixes. 15 | 16 | - **Bug Fixes** 17 | - @xuhdev fixes theme:install bug which does not overwrite theme even if saying 'yes'. 18 | 19 | - **0.2.13 : 2012.03.24** 20 | - **Features** 21 | - 0.2.13 : @mjpieters Updates pages_list helper to only show pages having a title. 22 | - 0.2.12 : @sway recommends showing page tagline only if tagline is set. 23 | - 0.2.11 : @LukasKnuth adds 'description' meta-data field to post/page scaffold. 24 | 25 | - **Bug Fixes** 26 | - 0.2.10 : @koriroys fixes typo in atom feed 27 | 28 | - **0.2.9 : 2012.03.01** 29 | - **Bug Fixes** 30 | - 0.2.9 : @alishutc Fixes the error on post creation if date was not specified. 31 | 32 | - **0.2.8 : 2012.03.01** 33 | - **Features** 34 | - 0.2.8 : @metalelf0 Added option to specify a custom date when creating post. 35 | - 0.2.7 : @daz Updates twitter theme framework to use 2.x while still maintaining core layout. #50 36 | @philips and @treggats add support for page.tagline metadata. #31 & #48 37 | - 0.2.6 : @koomar Adds Mixpanel analytics provider. #49 38 | - 0.2.5 : @nolith Adds ability to load custom rake scripts. #33 39 | - 0.2.4 : @tommyblue Updated disqus comments provider to be compatible with posts imported from Wordpress. #47 40 | 41 | - **Bug Fixes** 42 | - 0.2.3 : @3martini Adds Windows MSYS Support and error checks for git system calls. #40 43 | - 0.2.2 : @sstar Resolved an issue preventing disabling comments for individual pages #44 44 | - 0.2.1 : Resolve incorrect HOME\_PATH/BASE\_PATH settings 45 | 46 | - **0.2.0 : 2012.02.01** 47 | Features 48 | - Add Theme Packages v 0.1.0 49 | All themes should be tracked and maintained outside of JB core. 50 | Themes get "installed" via the Theme Installer. 51 | Theme Packages versioning is done separately from JB core with 52 | the main intent being to make sure theme versions are compatible with the given installer. 53 | 54 | - 0.1.2 : @jamesFleeting adds facebook comments support 55 | - 0.1.1 : @SegFaultAX adds tagline as site-wide configuration 56 | 57 | - **0.1.0 : 2012.01.24** 58 | First major versioned release. 59 | Features 60 | - Standardize Public API 61 | - Use name-spacing and modulation where possible. 62 | - Ability to override public methods with custom code. 63 | - Publish the theme API. 64 | - Ship with comments, analytics integration. 65 | 66 | - **0.0.1 : 2011.12.30** 67 | First public release, lots of updates =p 68 | Thank you everybody for dealing with the fast changes and helping 69 | me work out the API to a manageable state. 70 | 71 | -------------------------------------------------------------------------------- /image/collect_color.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/image/collect_color.jpg -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: 寂寞先生 4 | tagline: 这,是一个寂寞的世界…… 5 | --- 6 | {% include JB/setup %} 7 | 8 | {% for post in site.posts %} 9 |
    10 |
    11 |
    12 | {{ post.date | date:"%m/%d" }} 13 |
    14 |
    15 | {{ post.date | date:"%Y" }} 16 |
    17 |
    18 | {{ post.content | | split:'' | first }} 19 |
    20 | 查看全文… 21 |
    22 | 23 |
    24 | 25 | {% endfor %} 26 | 27 | -------------------------------------------------------------------------------- /pages.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: 页面 4 | header: Pages 5 | group: navigation 6 | --- 7 | {% include JB/setup %} 8 |
    9 |

    快速入口

    10 |
      11 | {% assign pages_list = site.pages %} 12 | {% include JB/pages_list %} 13 |
    14 |
    15 | 16 | -------------------------------------------------------------------------------- /pygments.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/enml/blog/57e48d26a0ec55604c24422f20700ce43029c6a4/pygments.css -------------------------------------------------------------------------------- /rss.xml: -------------------------------------------------------------------------------- 1 | --- 2 | layout: nil 3 | title : RSS Feed 4 | --- 5 | 6 | 7 | 8 | 9 | {{ site.title }} 10 | {{ site.title }} - {{ site.author.name }} 11 | {{ site.production_url }}{{ site.rss_path }} 12 | {{ site.production_url }} 13 | {{ site.time | date_to_xmlschema }} 14 | {{ site.time | date_to_xmlschema }} 15 | 1800 16 | 17 | {% for post in site.posts %} 18 | 19 | {{ post.title }} 20 | {{ post.content | xml_escape }} 21 | {{ site.production_url }}{{ post.url }} 22 | {{ site.production_url }}{{ post.id }} 23 | {{ post.date | date_to_xmlschema }} 24 | 25 | {% endfor %} 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /sitemap.txt: -------------------------------------------------------------------------------- 1 | --- 2 | # Remember to set production_url in your _config.yml file! 3 | title : Sitemap 4 | --- 5 | {% for page in site.pages %} 6 | {{site.production_url}}{{ page.url }}{% endfor %} 7 | {% for post in site.posts %} 8 | {{site.production_url}}{{ post.url }}{% endfor %} -------------------------------------------------------------------------------- /tags.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: page 3 | title: 标签 4 | header: 根据标签快速导航到相应的文章 5 | group: navigation 6 | --- 7 | {% include JB/setup %} 8 | 9 |
      10 | {% assign tags_list = site.tags %} 11 | {% include JB/tags_list %} 12 |
    13 | 14 |
    15 | {% for tag in site.tags %} 16 | 17 |

    {{ tag[0] }}

    18 |
      19 | {% assign pages_list = tag[1] %} 20 | {% include JB/pages_list %} 21 |
    22 | 23 | 24 | {% endfor %} 25 |
    26 | --------------------------------------------------------------------------------