├── media ├── .gitkeep ├── 3m_gongneng.jpg └── xiaoche_demo.png ├── posts ├── .gitkeep ├── common-web-site.md ├── finish-build-blog.md ├── happy-mother-plan.md ├── intr-nixie.md ├── first-blog.md ├── select-water.md ├── what-is-arduino.md ├── voice-control.md ├── get-weather.md └── whatisraspberrypi.md ├── themes └── twitter │ ├── javascripts │ └── .gitkeep │ ├── media │ ├── glyphicons-halflings.png │ └── glyphicons-halflings-white.png │ ├── layouts │ ├── page.html │ ├── post.html │ └── default.html │ ├── theme.yml │ ├── widgets │ └── google_prettify │ │ └── stylesheets │ │ ├── twitter-bootstrap.css │ │ ├── desert.css │ │ ├── default.css │ │ ├── sons-of-obsidian.css │ │ └── sunburst.css │ └── stylesheets │ ├── style.css │ └── bootstrap.min.css ├── widgets ├── google_prettify │ └── config.yml ├── analytics │ └── config.yml └── comments │ └── config.yml ├── partials ├── posts_list ├── tags_list ├── categories_list ├── pages_list └── posts_collate ├── pages ├── about.md ├── pages.html ├── archive.html ├── tags.html ├── categories.html └── index.html ├── .gitignore ├── README.md ├── site.yml ├── config.yml └── others └── a.html /media/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /posts/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /themes/twitter/javascripts/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /widgets/google_prettify/config.yml: -------------------------------------------------------------------------------- 1 | linenums : true -------------------------------------------------------------------------------- /partials/posts_list: -------------------------------------------------------------------------------- 1 |
  • {{title}}
  • -------------------------------------------------------------------------------- /media/3m_gongneng.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlinux/blog/HEAD/media/3m_gongneng.jpg -------------------------------------------------------------------------------- /media/xiaoche_demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlinux/blog/HEAD/media/xiaoche_demo.png -------------------------------------------------------------------------------- /pages/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | title : About Me 3 | description: 4 | --- 5 | 6 | Hello, how are you? -------------------------------------------------------------------------------- /partials/tags_list: -------------------------------------------------------------------------------- 1 |
  • 2 | {{ name }} {{ count }} 3 |
  • -------------------------------------------------------------------------------- /partials/categories_list: -------------------------------------------------------------------------------- 1 |
  • 2 | {{ name }} {{ count }} 3 |
  • -------------------------------------------------------------------------------- /widgets/analytics/config.yml: -------------------------------------------------------------------------------- 1 | layout : google 2 | google : 3 | tracking_id : 'UA-123-12' 4 | getclicky : 5 | site_id : -------------------------------------------------------------------------------- /pages/pages.html: -------------------------------------------------------------------------------- 1 | --- 2 | description: 3 | --- 4 | 5 | -------------------------------------------------------------------------------- /themes/twitter/media/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlinux/blog/HEAD/themes/twitter/media/glyphicons-halflings.png -------------------------------------------------------------------------------- /pages/archive.html: -------------------------------------------------------------------------------- 1 | --- 2 | description: 3 | --- 4 | 5 | {{# db.posts.collated }} 6 | {{> posts_collate }} 7 | {{/ db.posts.collated }} 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | compiled 2 | .tmp_partials 3 | 4 | .DS_Store 5 | 6 | posts/.DS_Store 7 | 8 | pages/.DS_Store 9 | 10 | pages/.DS_Store 11 | -------------------------------------------------------------------------------- /themes/twitter/media/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jlinux/blog/HEAD/themes/twitter/media/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /partials/pages_list: -------------------------------------------------------------------------------- 1 | {{#is_active_page }} 2 |
  • {{title}}
  • 3 | {{/is_active_page}} 4 | 5 | {{^is_active_page}} 6 |
  • {{title}}
  • 7 | {{/is_active_page }} 8 | -------------------------------------------------------------------------------- /partials/posts_collate: -------------------------------------------------------------------------------- 1 |

    {{year}}

    2 | {{#months}} 3 |

    {{month}}

    4 | 9 | {{/months}} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #伏威的Blog代码 2 | 3 | Blog构建于[gor](http://github.com/wendal/gor) 4 | 5 | 详细的构建说明,请参考[hugozhu的配置说明](https://github.com/hugozhu/blog),其特点是静态BLog,可以快速的跑在树莓派上,并且可以同步到github,同时生成两个镜像站点。 6 | 7 | 本站点的编辑器使用的是[Mou](http://mouapp.com/),同样来至于hugozhu的推荐。 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /widgets/comments/config.yml: -------------------------------------------------------------------------------- 1 | layout : disqus 2 | disqus : 3 | short_name : jekyllbootstrap 4 | livefyre : 5 | site_id : 123 6 | intensedebate : 7 | account : 123abc 8 | facebook : 9 | appid : 123 10 | num_posts: 5 11 | width: 580 12 | colorscheme: light 13 | -------------------------------------------------------------------------------- /themes/twitter/layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout : default 3 | --- 4 | 5 | 8 | 9 |
    10 |
    11 | {{{ content }}} 12 |
    13 |
    14 | -------------------------------------------------------------------------------- /site.yml: -------------------------------------------------------------------------------- 1 | title : 伏威的树莓派空间 2 | tagline: 伏威 raspberry pi 开源 创客 3 | author : 4 | name : Yong Tang 5 | email : jlinux@gmail.com 6 | github : jlinux 7 | twitter : jlinux 8 | feedburner : feedname 9 | 10 | navigation : 11 | - archive.html 12 | - tags.html 13 | - categories.html 14 | - pages.html 15 | - about.md 16 | 17 | -------------------------------------------------------------------------------- /config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Usage: http://ruhoh.com/usage/configure/ 3 | 4 | RuhohSpec: '1.0' 5 | theme : twitter 6 | production_url : http://a7b.cn 7 | 8 | posts: 9 | permalink: /:categories/:title/ 10 | summary_lines: 20 11 | latest: 10 12 | 13 | pages: 14 | permalink: 'pretty' 15 | 16 | markdown: 17 | toc_title: '

    目录

    ' 18 | -------------------------------------------------------------------------------- /pages/tags.html: -------------------------------------------------------------------------------- 1 | --- 2 | description: 3 | --- 4 | 5 | 10 | 11 | 12 | {{# tags }} 13 |

    {{name}}

    14 | {{# posts?to_posts }} 15 |
  • {{title}}
  • 16 | {{/ posts?to_posts }} 17 | {{/ tags }} 18 | -------------------------------------------------------------------------------- /pages/categories.html: -------------------------------------------------------------------------------- 1 | --- 2 | description: 3 | --- 4 | 5 | 10 | 11 | {{# categories }} 12 |

    {{ name }} ({{ count }})

    13 | 18 | {{/ categories }} -------------------------------------------------------------------------------- /themes/twitter/theme.yml: -------------------------------------------------------------------------------- 1 | { 2 | "stylesheets" : { 3 | "default" : [ 4 | "bootstrap.min.css", 5 | "style.css" 6 | ], 7 | 8 | "widgets" : { 9 | "google_prettify" : "twitter-bootstrap.css" 10 | } 11 | 12 | }, 13 | 14 | "javascripts" : { 15 | "default" : [ 16 | ] 17 | }, 18 | 19 | "manifest" : { 20 | "author" : "Jacob Thornton and Mark Otto", 21 | "website" : "http://twitter.github.com/bootstrap" 22 | } 23 | } -------------------------------------------------------------------------------- /posts/common-web-site.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 常用网址记录 3 | date: '2013-03-16' 4 | description:用于记录一些常用的网址 5 | categories: 6 | - 2013 7 | - blog 8 | - url 9 | tags:常用URL 10 | --- 11 | 12 | 13 | #### raspberry pi相关 14 | 15 | * [raspberry pi兼容硬件列表](http://elinux.org/RPi_VerifiedPeripherals) 16 | 17 | 18 | 19 | #### 开发小工具 20 | 21 | * [JSON数据格式话](http://jsonformatter.curiousconcept.com/) 22 | 23 | 24 | ### Go语言 25 | 26 | * [Go Web开发](https://github.com/astaxie/build-web-application-with-golang) 27 | 28 | 29 | 30 | 31 | ### 乐趣 32 | 33 | * [Miss Open Hardware](http://blog.missopenhardware.com/) -------------------------------------------------------------------------------- /posts/finish-build-blog.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 完成静态Blog的搭建 3 | date: '2013-03-15' 4 | description: 从rubyonrails移植到静态Blog引擎Gor 5 | categories: 6 | - 2013 7 | - blog 8 | tags:raspberry pi 9 | --- 10 | 11 | ### 选择错误 12 | 13 | 之前在树莓派上搭建站点时,因为觉得rubyonrails搭建比较迅速,于是就选择了rubyonrails。 14 | 15 | 这个选择后面看来是一个错误,因为树莓派本身的性能偏低,运行rubyonrails还是比较吃力,当是访问这个网站,页面展示的时间需要10秒钟以上。 16 | 17 | 这个并不是rubyonrails的错误,是我选择的错误。 18 | 19 | ### 重新选择 20 | 21 | 决定更换网站底层时,就开始选型,最后发现[hugozhu](http://hugozhu.myalert.info/)网站采用的Gor,其效果非常好。调查以后,决定按照他的方案来搭建整个网站。 22 | 23 | PS。gor 是使用golang实现的类Ruhoh静态博客引擎(Ruhoh like),基本兼容ruhoh 1.x规范。 24 | 25 | 从这次的选择来看,为树莓派编程,还是要选取一个高级、速度快、占用系统资源小的语言,这样看来Go就很合适。 26 | 27 | 只不过对于我来说,我需要重新了解一门新的语言。 28 | 29 | 30 | ### 写Blog的好习惯 31 | 32 | 在这件事情上,充分证明了写Blog记录技术历程的好处,可以给自己一个记录,可以给别人一个帮助。 33 | 34 | 看我自己能坚持多久。 -------------------------------------------------------------------------------- /posts/happy-mother-plan.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 智能家庭(需求) 3 | date: '2013-03-16' 4 | description: 5 | categories: 6 | - 2013 7 | - blog 8 | - plan 9 | tags:raspberry pi 智能 10 | --- 11 | 12 | 准备开始完成自己的智能家庭计划(自我定义,请勿吹毛求疵)! 13 | 14 | {:toc} 15 | 16 | ### 基本需求如下 17 | 18 | 语音控制、语音播报 19 | 监控室内温度和湿度(包括:气象台发布的,通过网络抓取),并设置报警,提醒穿衣 20 | 播放家庭计划,比如:几月几号需要给小宝打疫苗 21 | 通过Ipad1做信息展示端 22 | 通过语音遥控家电,比如:打开电视机到特定频道、打开空调 23 | 通过继电器打开自带的灯(无法对现有线路进行改造) 24 | 可遥控的摄像头 25 | 远程语音聊天 26 | 27 | 28 | ### 预计采用的硬件设备 29 | 30 | 树莓派(自带声卡) 31 | 温度、湿度传器 32 | 二度自由舵机+摄像头 33 | Microphone以及USB外置声卡(完成语音输入) 34 | 继电器+台灯 35 | Ipad1 36 | 红外线接收和发射器 37 | 38 | ### 预计采用的软件 39 | 40 | Julius语音识别 41 | Go语言(哎,又要学习一个新的) 42 | 存储用sqlite或者文件 43 | 其他的再说 44 | 45 | 46 | ### 预计实现计划 47 | 48 | 先完成语音识别的工作,否则一切白搭 49 | 室内温度和湿度的监控和播报 50 | 其他慢慢来 51 | 52 | 53 | PS:在倒立工坊也可以实现类似的东西 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /themes/twitter/widgets/google_prettify/stylesheets/twitter-bootstrap.css: -------------------------------------------------------------------------------- 1 | .com { color: #93a1a1; } 2 | .lit { color: #195f91; } 3 | .pun, .opn, .clo { color: #93a1a1; } 4 | .fun { color: #dc322f; } 5 | .str, .atv { color: #D14; } 6 | .kwd, .linenums .tag { color: #1e347b; } 7 | .typ, .atn, .dec, .var { color: teal; } 8 | .pln { color: #48484c; } 9 | 10 | .prettyprint { 11 | padding: 8px; 12 | background-color: #f7f7f9; 13 | border: 1px solid #e1e1e8; 14 | } 15 | .prettyprint.linenums { 16 | -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 17 | -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 18 | box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 19 | } 20 | 21 | /* Specify class=linenums on a pre to get line numbering */ 22 | ol.linenums { 23 | margin: 0 0 0 33px; /* IE indents via margin-left */ 24 | } 25 | ol.linenums li { 26 | padding-left: 12px; 27 | color: #bebec5; 28 | line-height: 18px; 29 | text-shadow: 0 1px 0 #fff; 30 | } -------------------------------------------------------------------------------- /posts/intr-nixie.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 介绍辉光钟之家 3 | date: '2013-04-03' 4 | description: 介绍一个网站、一个艺术家和极客 5 | categories: 6 | - 极客 7 | - 介绍 8 | tags: 9 | - 辉光钟之家 10 | - 辉光管 11 | - Arduino扩展 12 | --- 13 | 14 | 首先请大家访问这个站点:[辉光钟之家](http://www.nixieclock.org/),以及他的[淘宝店地址](http://item.taobao.com/item.htm?spm=a230r.1.14.1.MZeUz2&id=17235221415). 15 | 16 | 这是一个辉光管爱好者,我自己认为他是一个辉光管大师,他名叫严泽远。 我并不认识他,只是从有限的资料中知道,他在广州,痴迷于辉光管并能够做出很有艺术感的时钟作品。 他对辉光管、电子电路、硬件材质和制作,都深入的研究;从他作品的外观、电路图的设计,他是一个艺术家。 17 | 18 | 大家可以通过他的Blog来了解他做的作品和实践的过程。 19 | 20 | 接触到他的内容,是因为要为倒立工坊找到有自己特点的装饰,其他就有时钟的需求,偶然发现了[QS30-1/SZ-8 NixieModule辉光管显示模块for Arduino](http://item.taobao.com/item.htm?spm=a1z10.3.w420884141.38.N2aHoY&id=15397910473),一个可以通过Arduino驱动的、很有科技、复古感的辉光管模块,就设想通过8个这样的模块,组合成一个可以显示当前时间、湿度、温度,特殊日期提醒的电子时钟,放在工坊中。通过这个模块发现了严泽远。 21 | 22 | 当我拿到这个辉光管模块以后,对他外观、电子电路、模块化设计还有他的代码,都感觉非常优美,是一种电子艺术。具体的模块介绍,请大家看[这里](http://www.nixieclock.org/?p=268)。 23 | 24 | ![图片](http://ww1.sinaimg.cn/mw690/543ff35djw9e3cqxx13omj.jpg) 25 | 26 | 上面这张图片就是我组合8个模块形成的时钟,数字的意思是:(4月)02号21点26分43秒,通过不同的背景模块,区分日期和时间。 27 | 28 | 硬件组装的过程非常简单,因为模块已经留好了串联的口子(找到12V/1A的电源线倒是花了不少时间),然后通过Arduino驱动,在驱动的时候,作者还提供了类库(请参见[这篇博文](http://aguegu.net/?p=862)),所以驱动起来非常简单。 29 | 30 | 然后我使用[DS3231 时钟模块](http://item.taobao.com/item.htm?id=17098546015)保存和获取当前时间,通过[DHT11温度湿度传感器](http://s.taobao.com/search?q=DHT11)来获取温度和湿度,然后展示在这个时钟模块上。 31 | 32 | 因为所有的东西和内容,都有成熟的代码可参考,所以就不放出代码(后续会放到Github上)。 33 | 34 | 因为我对外观是白痴,所以,整个东西还很原始,准备要求嗷嗷一起设计外观,等完成以后,展示给大家。 35 | 36 | 37 | 再次感谢严泽远给我们带来的艺术和乐趣。 38 | 39 | 40 | -------------------------------------------------------------------------------- /posts/first-blog.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2012-12-22 3 | layout: post 4 | title: Gor帮我生成的第一篇博客 5 | permalink: '/2012/new-born.html' 6 | categories: 7 | - Gor 8 | - Blog 9 | tags: 10 | - Gor 11 | --- 12 | 没有删除这篇博客的原因是感谢Gor 13 | 14 | ## 感谢你使用Gor编写博客 15 | 16 | 文件开头是当前文章的元数据 17 | 18 | 1. date为自动生成, 当然,你可以修改,这是你的自由 19 | 2. permalink 可以是固定地址,也可以由gor为你自动生成 20 | 3. categories 就是分类, 可以多个 21 | 4. tags 同理,多个标签也是很常见的 22 | 23 | 请确保文件使用UTF8 without BOM编码 24 | 25 | 你可以通过执行下面的语句来新建一篇博客: 26 | ----------------------------------- 27 | 28 | gor post 文章标题 29 | 30 | 编译你的博客,并预览之 31 | ------------------- 32 | 33 | gor compile #编译 34 | gor http 35 | 36 | 然后打开你的浏览器,访问 http://127.0.0.1:8080 来预览 37 | 38 | 你将使用Markdown来编写博客 39 | ------------------------- 40 | 41 | [Markdown 语法中文版](http://wowubuntu.com/markdown/) 能让你快速入门其语法 42 | 43 | 相信[MarkdownPad](http://markdownpad.com)或[liteide](http://code.google.com/p/liteide/)会是你的编写博客的好帮手 44 | 45 | 如果你打算部署到github的pages上 46 | ------------------------------ 47 | 48 | 1. 申请github帐户 49 | 2. 新建一个库 username.github.com 即你的用户名命名的地址 50 | 3. 将compiled目录,作为根路径,提交上去github.com上 51 | 4. 稍等几分钟, 你即可通过 http://username.github.com 访问到 52 | 53 | 附上git教程 [GitBook中文版](http://gitbook.liuhui998.com/) 54 | ---------------------------------------------------- 55 | 56 | 一般来说,你只需要几个简单的git命令就足以应付大部分需求(仅示例) 57 | 58 | git clone git://github.com/wendal/wendal.net.git 59 | git add -A 60 | git commit -m "..." 61 | git pull 62 | git push 63 | 64 | 用gor编写博客将会是一件很开心的事,如果有任何意见或建议,欢迎到 [gor的官网](http://github.com/wendal/gor) 提交issue 65 | ------------------------------------------------- 66 | 67 | 祝你使用愉快 68 | =========== -------------------------------------------------------------------------------- /themes/twitter/layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout : default 3 | --- 4 | 7 | 8 |
    9 |
    10 | {{{ content }}} 11 |
    12 | 33 |
    34 | {{{ comments }}} 35 |
    36 | 37 |
    38 |

    Published

    39 |
    {{ page.date }}
    40 |
    41 |

    Categories

    42 | 47 |
    48 |

    Tags

    49 | 54 |
    55 |
    56 | -------------------------------------------------------------------------------- /themes/twitter/widgets/google_prettify/stylesheets/desert.css: -------------------------------------------------------------------------------- 1 | /* desert scheme ported from vim to google prettify */ 2 | pre { display: block; background-color: #333 } 3 | pre .nocode { background-color: none; color: #000 } 4 | pre .str { color: #ffa0a0 } /* string - pink */ 5 | pre .kwd { color: #f0e68c; font-weight: bold } 6 | pre .com { color: #87ceeb } /* comment - skyblue */ 7 | pre .typ { color: #98fb98 } /* type - lightgreen */ 8 | pre .lit { color: #cd5c5c } /* literal - darkred */ 9 | pre .pun { color: #fff } /* punctuation */ 10 | pre .pln { color: #fff } /* plaintext */ 11 | pre .tag { color: #f0e68c; font-weight: bold } /* html/xml tag - lightyellow */ 12 | pre .atn { color: #bdb76b; font-weight: bold } /* attribute name - khaki */ 13 | pre .atv { color: #ffa0a0 } /* attribute value - pink */ 14 | pre .dec { color: #98fb98 } /* decimal - lightgreen */ 15 | 16 | /* Specify class=linenums on a pre to get line numbering */ 17 | ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE } /* IE indents via margin-left */ 18 | li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none } 19 | /* Alternate shading for lines */ 20 | li.L1,li.L3,li.L5,li.L7,li.L9 { } 21 | 22 | @media print { 23 | pre { background-color: none } 24 | pre .str, code .str { color: #060 } 25 | pre .kwd, code .kwd { color: #006; font-weight: bold } 26 | pre .com, code .com { color: #600; font-style: italic } 27 | pre .typ, code .typ { color: #404; font-weight: bold } 28 | pre .lit, code .lit { color: #044 } 29 | pre .pun, code .pun { color: #440 } 30 | pre .pln, code .pln { color: #000 } 31 | pre .tag, code .tag { color: #006; font-weight: bold } 32 | pre .atn, code .atn { color: #404 } 33 | pre .atv, code .atv { color: #060 } 34 | } 35 | -------------------------------------------------------------------------------- /themes/twitter/widgets/google_prettify/stylesheets/default.css: -------------------------------------------------------------------------------- 1 | /* Pretty printing styles. Used with prettify.js. */ 2 | 3 | /* SPAN elements with the classes below are added by prettyprint. */ 4 | .pln { color: #000 } /* plain text */ 5 | 6 | @media screen { 7 | .str { color: #080 } /* string content */ 8 | .kwd { color: #008 } /* a keyword */ 9 | .com { color: #800 } /* a comment */ 10 | .typ { color: #606 } /* a type name */ 11 | .lit { color: #066 } /* a literal value */ 12 | /* punctuation, lisp open bracket, lisp close bracket */ 13 | .pun, .opn, .clo { color: #660 } 14 | .tag { color: #008 } /* a markup tag name */ 15 | .atn { color: #606 } /* a markup attribute name */ 16 | .atv { color: #080 } /* a markup attribute value */ 17 | .dec, .var { color: #606 } /* a declaration; a variable name */ 18 | .fun { color: red } /* a function name */ 19 | } 20 | 21 | /* Use higher contrast and text-weight for printable form. */ 22 | @media print, projection { 23 | .str { color: #060 } 24 | .kwd { color: #006; font-weight: bold } 25 | .com { color: #600; font-style: italic } 26 | .typ { color: #404; font-weight: bold } 27 | .lit { color: #044 } 28 | .pun, .opn, .clo { color: #440 } 29 | .tag { color: #006; font-weight: bold } 30 | .atn { color: #404 } 31 | .atv { color: #060 } 32 | } 33 | 34 | /* Put a border around prettyprinted code snippets. */ 35 | pre.prettyprint { padding: 2px; border: 1px solid #888 } 36 | 37 | /* Specify class=linenums on a pre to get line numbering */ 38 | ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */ 39 | li.L0, 40 | li.L1, 41 | li.L2, 42 | li.L3, 43 | li.L5, 44 | li.L6, 45 | li.L7, 46 | li.L8 { list-style-type: none } 47 | /* Alternate shading for lines */ 48 | li.L1, 49 | li.L3, 50 | li.L5, 51 | li.L7, 52 | li.L9 { background: #eee } 53 | -------------------------------------------------------------------------------- /pages/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | title: Just for fun 3 | description: 4 | --- 5 | 12 | 13 |

    最近更新

    14 | 15 | {{# posts_latest }} 16 |
    17 |

    {{title}} {{ date }}

    18 |
    19 | {{/ posts_latest }} 20 |
    21 |
    22 |
    23 |

    友情链接(网站部署在Pi上的好友)

    24 | 30 | 31 |
    32 |
    33 |

    系统监控

    34 | 35 |
    36 |
    37 |

    多说留言

    38 | 39 |
    40 | 52 | -------------------------------------------------------------------------------- /posts/select-water.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 选择家用净水器 3 | date: '2013-03-19' 4 | description: 5 | categories: 6 | - 2013 7 | - 净水器 8 | - 家庭 9 | - 无奈 10 | tags: 11 | - 家庭 12 | - 净水器 13 | --- 14 | 15 | 16 | {:toc} 17 | 18 | >对于有选择综合征的我,选择就是一次折磨,不选择又不行 19 | 20 | 本文记录对净水器的选择,对于水质,很难放心。 21 | 22 | # 3M商家选择 23 | 24 | 因为朋友买的都是3M的产品,所以我也准备看3M的产品。商家从淘宝上选了3家,线下找了一家。 25 | 26 | 第一个淘宝商家是杭州本地的:但是他给我推荐的是商用,居然告诉我商用比家用更好,说商业要求更高,我去。 27 | 第二个淘宝商家是上海的:非常不耐烦的回答我的问题,特别是在问到电子质保卡的事情的时候,有点火大 28 | 第三个淘宝商家是上海的,星级不高,但是有自己的实体店,让我有点好感,最后是在这家购买的 29 | 线下那家是朋友推荐的,不过在网上查了一下手机号码,他给我的报价和他在网上的报价差距太大,所以放弃。 30 | 31 | # 从收集到的信息,关于购买 32 | 33 | 1. 这个市场有点乱,但是大部分商家(信誉比较好的),评价都还可以 34 | 2. 这里面所有人都说自己有电子识别,但实际也不知道这个电话查询是官方的还是自己搭建的 35 | 3. 其中会提到电子质保卡,但要么不提供,要么需要你交200元钱,你拿到以后也不知道怎么用 36 | 4. 三个商家都会保证自己买的全部是原装配件,但是这点也很难保证 37 | 5. 3M官方和其他商家的价位差异非常大,价格相差几百块(有的将近千元),这个就看你自己是否敢买了,如果求宽心的哈,可以去[3M天猫旗舰店购买](http://3m.tmall.com) 38 | 6. 所有的净水器都有使用寿命,每年都需要投入成本换芯,看下来每年需要新投入的成本是购买价格的1/3 39 | 40 | # 对于3M的产品 41 | 42 | 1. 3M在净水器还是很专业的,而且有自己比较独特的材料 43 | 2. 3M净水器有商用和家用(以及其他),3M的商用系列如果要家用,可以考虑用到家庭进水总管,效果肯定很好 44 | 3. 净水器的几个考量指标(其实都在下面的图中): 45 | * 过滤密度,我自己一定是冲着0.2微米去的 46 | * 流量(可以同时供几个人使用) 47 | * 处理量(滤芯的使用寿命) 48 | * 能够处理的异物、化合物种类 49 | >(商用最大的区别就是流量和使用寿命) 50 | ![3M净水器图片](http://ww3.sinaimg.cn/mw690/543ff35dgw1e2wgwrushzj.jpg) 51 | 52 | 4. 3M除了双子系列,其他都需要增加前置过滤器,前置过滤器也是有成本的,综合信息下来是2~3个月需要换一次,价格50~80左右 53 | 54 | # 选择DWS-2500T的原因 55 | 56 | 1. 0.2微米 57 | 2. 要求能够去除铅等重金属 58 | 3. 不用定期换前置过滤器,到期的时候,一次替换就可以了 59 | 4. 流量可以满足一家5口,吃饭、喝水、洗菜的需求 60 | 61 | # 几件没有搞清楚的事 62 | 63 | 1. 电子质保卡有没有,是什么区别 64 | 2. 货源到底是怎么来的,我看到的信息,DWS-2500T是专门为中国生产的,(我在美国的3M网站上没有看到相关信息) 65 | 66 | 最后,如何检验前后的水质,没有什么好的办法。 67 | 68 | 希望对大家有帮助。 69 | 70 | 71 | * [3M净水器网页](http://solutions.3m.com.cn/wps/portal/3M/zh_CN/CUNOWater/Home/ProductInfo/Residential/) 72 | * [3M解决方案二](http://media.3m.com.cn/Cuno/attachments/nav/residential%20product%20leaflet.pdf) 73 | * [3M餐饮解决方案](http://multimedia.3m.com/mws/mediawebserver?mwsId=kkkkkmN6cwZLdp4Mgq4khQs7YON3YwN69OlkYOlkYkkkkkk--) 74 | -------------------------------------------------------------------------------- /themes/twitter/stylesheets/style.css: -------------------------------------------------------------------------------- 1 | /* Override some defaults */ 2 | html, body { 3 | background-color: #eee; 4 | } 5 | .navbar { 6 | margin-bottom: 0; 7 | } 8 | .navbar .container{ 9 | width:940px; 10 | } 11 | .container > footer { 12 | margin-top: 20px; 13 | } 14 | .container > footer p { 15 | text-align: center; /* center align it with the container */ 16 | } 17 | 18 | /* The white background content wrapper */ 19 | .content { 20 | background-color: #fff; 21 | padding: 20px; 22 | margin: 0 -20px; /* negative indent the amount of the padding to maintain the grid system */ 23 | -webkit-border-radius: 0 0 6px 6px; 24 | -moz-border-radius: 0 0 6px 6px; 25 | border-radius: 0 0 6px 6px; 26 | -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15); 27 | -moz-box-shadow: 0 1px 2px rgba(0,0,0,.15); 28 | box-shadow: 0 1px 2px rgba(0,0,0,.15); 29 | } 30 | 31 | /* Page header tweaks */ 32 | .page-header { 33 | background-color: #f5f5f5; 34 | padding: 20px 20px 10px; 35 | margin: -20px -20px 20px; 36 | } 37 | 38 | /* posts index */ 39 | .post > h3.title { 40 | position:relative; 41 | padding-top:10px; 42 | border-top:3px solid #eee; 43 | } 44 | .post > h3.title span.date { 45 | position:absolute; 46 | right:0; 47 | font-size:0.9em; 48 | } 49 | .post > .more { 50 | margin:10px 0; 51 | text-align:left; 52 | } 53 | 54 | /* tag_box ======================================================== */ 55 | 56 | .tag_box { 57 | list-style:none; 58 | margin:0; 59 | padding:5px 0 ; 60 | overflow:hidden; 61 | } 62 | .tag_box li { 63 | line-height:28px; 64 | } 65 | .tag_box.inline li { 66 | float:left; 67 | } 68 | .tag_box a { 69 | padding: 3px 6px; 70 | margin: 2px; 71 | background: #eee; 72 | color:#005F6B; 73 | border-radius: 3px; 74 | text-decoration:none; 75 | } 76 | .tag_box a span{ 77 | vertical-align:super; 78 | font-size:0.8em; 79 | } 80 | .tag_box a.active { 81 | background:#57A957; 82 | border:1px solid #4C964D; 83 | color:#FFF; 84 | } 85 | -------------------------------------------------------------------------------- /themes/twitter/widgets/google_prettify/stylesheets/sons-of-obsidian.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Derived from einaros's Sons of Obsidian theme at 3 | * http://studiostyl.es/schemes/son-of-obsidian by 4 | * Alex Ford of CodeTunnel: 5 | * http://CodeTunnel.com/blog/post/71/google-code-prettify-obsidian-theme 6 | */ 7 | 8 | .str 9 | { 10 | color: #EC7600; 11 | } 12 | .kwd 13 | { 14 | color: #93C763; 15 | } 16 | .com 17 | { 18 | color: #66747B; 19 | } 20 | .typ 21 | { 22 | color: #678CB1; 23 | } 24 | .lit 25 | { 26 | color: #FACD22; 27 | } 28 | .pun 29 | { 30 | color: #F1F2F3; 31 | } 32 | .pln 33 | { 34 | color: #F1F2F3; 35 | } 36 | .tag 37 | { 38 | color: #8AC763; 39 | } 40 | .atn 41 | { 42 | color: #E0E2E4; 43 | } 44 | .atv 45 | { 46 | color: #EC7600; 47 | } 48 | .dec 49 | { 50 | color: purple; 51 | } 52 | pre.prettyprint 53 | { 54 | border: 0px solid #888; 55 | } 56 | ol.linenums 57 | { 58 | margin-top: 0; 59 | margin-bottom: 0; 60 | } 61 | .prettyprint { 62 | background: #000; 63 | } 64 | li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9 65 | { 66 | color: #555; 67 | } 68 | li.L1, li.L3, li.L5, li.L7, li.L9 { 69 | background: #111; 70 | } 71 | @media print 72 | { 73 | .str 74 | { 75 | color: #060; 76 | } 77 | .kwd 78 | { 79 | color: #006; 80 | font-weight: bold; 81 | } 82 | .com 83 | { 84 | color: #600; 85 | font-style: italic; 86 | } 87 | .typ 88 | { 89 | color: #404; 90 | font-weight: bold; 91 | } 92 | .lit 93 | { 94 | color: #044; 95 | } 96 | .pun 97 | { 98 | color: #440; 99 | } 100 | .pln 101 | { 102 | color: #000; 103 | } 104 | .tag 105 | { 106 | color: #006; 107 | font-weight: bold; 108 | } 109 | .atn 110 | { 111 | color: #404; 112 | } 113 | .atv 114 | { 115 | color: #060; 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /themes/twitter/layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ page.title }} 6 | {{# page.description }} 7 | 8 | {{/ page.description }} 9 | 10 | 11 | 12 | 15 | 16 | 17 | {{{ assets }}} 18 | 19 | 20 | 26 | 27 | 28 | 29 | 30 | 42 | 43 |
    44 | 45 |
    46 | {{{ content }}} 47 |
    48 | 49 | 56 | 57 |
    58 | 59 | {{{ google_prettify }}} 60 | {{{ analytics }}} 61 | 62 | 63 | -------------------------------------------------------------------------------- /themes/twitter/widgets/google_prettify/stylesheets/sunburst.css: -------------------------------------------------------------------------------- 1 | /* Pretty printing styles. Used with prettify.js. */ 2 | /* Vim sunburst theme by David Leibovic */ 3 | 4 | pre .str, code .str { color: #65B042; } /* string - green */ 5 | pre .kwd, code .kwd { color: #E28964; } /* keyword - dark pink */ 6 | pre .com, code .com { color: #AEAEAE; font-style: italic; } /* comment - gray */ 7 | pre .typ, code .typ { color: #89bdff; } /* type - light blue */ 8 | pre .lit, code .lit { color: #3387CC; } /* literal - blue */ 9 | pre .pun, code .pun { color: #fff; } /* punctuation - white */ 10 | pre .pln, code .pln { color: #fff; } /* plaintext - white */ 11 | pre .tag, code .tag { color: #89bdff; } /* html/xml tag - light blue */ 12 | pre .atn, code .atn { color: #bdb76b; } /* html/xml attribute name - khaki */ 13 | pre .atv, code .atv { color: #65B042; } /* html/xml attribute value - green */ 14 | pre .dec, code .dec { color: #3387CC; } /* decimal - blue */ 15 | 16 | pre.prettyprint, code.prettyprint { 17 |  background-color: #000; 18 |  -moz-border-radius: 8px; 19 |  -webkit-border-radius: 8px; 20 |  -o-border-radius: 8px; 21 |  -ms-border-radius: 8px; 22 |  -khtml-border-radius: 8px; 23 |  border-radius: 8px; 24 | } 25 | 26 | pre.prettyprint { 27 |  width: 95%; 28 |  margin: 1em auto; 29 |  padding: 1em; 30 |  white-space: pre-wrap; 31 | } 32 | 33 | 34 | /* Specify class=linenums on a pre to get line numbering */ 35 | ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE; } /* IE indents via margin-left */ 36 | li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none } 37 | /* Alternate shading for lines */ 38 | li.L1,li.L3,li.L5,li.L7,li.L9 { } 39 | 40 | @media print { 41 | pre .str, code .str { color: #060; } 42 | pre .kwd, code .kwd { color: #006; font-weight: bold; } 43 | pre .com, code .com { color: #600; font-style: italic; } 44 | pre .typ, code .typ { color: #404; font-weight: bold; } 45 | pre .lit, code .lit { color: #044; } 46 | pre .pun, code .pun { color: #440; } 47 | pre .pln, code .pln { color: #000; } 48 | pre .tag, code .tag { color: #006; font-weight: bold; } 49 | pre .atn, code .atn { color: #404; } 50 | pre .atv, code .atv { color: #060; } 51 | } 52 | -------------------------------------------------------------------------------- /posts/what-is-arduino.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Arduino简单介绍 3 | date: '2013-03-21' 4 | description:Arduino简单介绍 5 | categories: 6 | - arduino 7 | - 电子积木 8 | tags: 9 | - arduino 10 | - 电子积木 11 | --- 12 | 13 | 14 | 15 | ”Arduino 是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的arduino板)和软件(arduino IDE)。它适用于艺术家、设计师、爱好者和对于“互动”有兴趣的朋友们。“ ----摘自 Arduino官网。 16 | 17 | 个人对于Arduino更喜欢的一个名称是:电子积木。通过统一的规范、协议,有很强大的扩展组件,通过简单的连线和组合,就初步实现硬件设备的组合,再通过类C的语言编程,基本就完成了属于自己的电子互动作品。所以它适合于艺术家、设计师、爱好者和对于“互动”有兴趣的朋友们。 18 | 19 | Arduino实际上还是单片机的一种,但是他通过开源的方式,类C的高级语言的开发,大大降低了电子的入门门槛;也拉开了开源硬件的大幕。 20 | 21 | 单从单片机,解决方案有很多,Arduino只是其中一种,而且Arduino也有自己的优缺点: 22 | 23 | 优点: 24 | 25 | * 开源硬件,社区强大,解决方案众多 26 | * 组件丰富 27 | * 类C的高级语言开发,相对于直接用C和汇编,学习和开发成本更低 28 | * 作为艺术或者原型开发,速度很快 29 | 30 | 缺点: 31 | 32 | * 价格偏贵,特别是组件,如果直接购买而不是自己做,那么价格还是偏贵 33 | * 因为用了高级语言,最终编译成的二进制包还是偏大,性能偏弱 34 | * 组件多,但是比较固化,对个性需求满足不够 35 | 36 | 因为这些特性,所以Arduino适合学习入门、原型开发、艺术、设计师、爱好者等等,如果需要把你做出来的装置批量生产,需要重新花电路图,去掉一些不需要的功能,并进行微型化、集成化、外观设计,最终做大规模的工业化生产。比较好的地方是,因为开源,只要不适用Arduino这个商标,你可以直接使用Arduino的电路图进行定制,这样无需额外开销,你就可以用到成熟、稳定的解决方案。 37 | 38 | Arduino本身基于微处理控制器(AVR系列控制器),它定义了开源的电路图,事先烧入了bootloader,通过板载的USB接口,就可以写入你自己编写的程序。通过固定规范、标准接口、程序编写的定义,完成了一次封装,对普通用户屏蔽了很多实现细节。 39 | 40 | Arduino的[标准产品和扩展](http://arduino.cc/en/Main/Products)可以在Arduino官网找到,根据用途不一样,有很多型号可供选择,在[维基百科Arduino](http://zh.wikipedia.org/wiki/Arduino),可以找到各个主板型号的具体说明。 41 | 42 | 如果是学习入门,普遍性的选择是Uno或者Mega 2560;如果有固定的实现目标,那么根据其参数选择即可。 43 | 44 | >从硬件层面,想要了解Arduino相关主板、扩展组件、套件的,最好的办法是直接去逛淘宝店;种类齐全,说明详细,有些店还带技术指导(特别是小店)。 45 | 46 | 所有Arduino主板中,最能体现其多样性和多用途的我觉得是LilyPad,一种微型用于可穿戴设备的Arduino主板,这种主板,配套有微型LED组件,导电缝纫线、蜂鸣器、按钮、无线传输模块等等。这些模块,还可以水洗。LilyPad是服装设计、互动艺术和电子电路的跨界结晶。 47 | 48 | ![LilyPad](http://img02.taobaocdn.com/bao/uploaded/i6/T1K18IXj4nXXaWxxo._082436.jpg_310x310.jpg) 49 | ![LilyPad LED Micro](http://img01.taobaocdn.com/bao/uploaded/i1/T1gr0zXl0qXXXdMFA0_034135.jpg_310x310.jpg) 50 | ![导电缝纫线](http://img03.taobaocdn.com/bao/uploaded/i7/T1LY8zXcRpXXarvqs2_043124.jpg_310x310.jpg) 51 | 52 | 53 | 作为爱好者,或者有兴趣的朋友,想要入门,可以考虑购买一下的套件: 54 | 55 | 初级入门购买Arduino的[入门套件](http://item.taobao.com/item.htm?id=13626470565)。 56 | 57 | 如果觉得不过瘾,还可以购买类似于[自动寻路小车的套件](http://item.taobao.com/item.htm?id=7424526051)。 58 | 59 | 高富帅,不差钱,可以购买[人形机器人](http://item.taobao.com/item.htm?id=19188632823)。 60 | 61 | 62 | 和Arduino以及开源硬件相关的产品在国内比较大的销售厂商:[DFRobot官方旗舰店](http://dfrobot.taobao.com/) 以及 [奥松机器人](http://robotbase.taobao.com/),这两家在淘宝上刚好一南一北。还有一家[Seeed Studio](http://www.seeedstudio.com/)。 这三家的质量和信誉都有保证。(这三家是我自己知道的) 63 | 64 | 65 | 66 | >Arduino如何入门,在网上有很多教材,特别推荐同事Misa写的[机器人入门教材](https://github.com/MisaZhu/Robotics/wiki) 67 | 68 | 69 | >参考网站 70 | > 71 | * [Arduino百度Wiki](http://baike.baidu.com/view/1268436.htm) 72 | * [Arduino维基百科](http://zh.wikipedia.org/wiki/Arduino) 73 | * [Misa机器人相关教材](https://github.com/MisaZhu/Robotics/wiki/04.01%E3%80%81Arduino%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86) 74 | * [Arduino中文论坛](http://www.arduino.cn/) 75 | 76 | 77 | >本文带有很多淘宝连接,这是因为我来之阿里。 -------------------------------------------------------------------------------- /posts/voice-control.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 语音识别 3 | date: '2013-03-17' 4 | description: 5 | categories: 6 | - 2013 7 | - 智能 8 | - 技术储备 9 | - 语音 10 | tags: 11 | - raspberry pi 12 | - 语音 识别 13 | --- 14 | 15 | {:toc} 16 | 17 | # 为什么选择树莓派 18 | 19 | 选择在树莓派上实现语音控制,主要是三个考虑: 20 | 21 | * 成本,相对于硬件解决方案,软件解决方案更廉价;而且从周边的解决方案,树莓派的性价比也比较好 22 | * 扩展性,通过标准的USB接口,我很容易选择PC的扩展方案,廉价,易开发 23 | * 自己更了解PC下的开发 24 | 25 | 如果没有这些考虑,有更轻松的解决方案: DFRobot Arduino Smart Home kit智能家居语音识别初级套件http://wiki.dfrobot.com.cn/index.php?title=Smart_Home_kit_for_Arduino(SKU:KIT0005) 26 | 27 | 2013年3月20号:在一系列的受挫以后,准备切换到硬件语音识别方案:http://www.icroute.com/web_cn/LD3320_luckyidol.html 28 | 29 | ## 前期技术调研 30 | 最开始是选择Julius4作为参考,最后没有成熟的中文文档可以参考,只好放弃。Julius4是日本人开发的一个语音识别引擎,理论上比较适合中文 31 | 32 | 最后选择的语音识别引擎是:Sphinx。Sphinx的开发社区强大,文章众多,而且看维基百科,居然是[李开复](http://zh.wikipedia.org/wiki/%E6%9D%8E%E5%BC%80%E5%A4%8D)写的第一个版本。 33 | 34 | 35 | # 在树莓派上实现语音识别 36 | 37 | 38 | 39 | ## 一、在淘宝上为树莓派购买了Microphone和USB语音声卡 40 | 41 | * [Microphone](http://item.taobao.com/item.htm?id=16970239607) 42 | 43 | * [USB语音声卡](http://item.taobao.com/item.htm?id=16475229725) 老板还忘记发这个了,幸好从@铁轮 那里弄了一个 44 | 45 | ## 二、测试录音功能 46 | 47 | sudo modprobe snd_bcm2835 //载入声卡驱动 48 | arecord -d 10 -D plughw:1,0 test.wav //测试录音 49 | aplay test.wav //播放录音 50 | 51 | 实际测试音效不是很好,怀疑是声卡的原因 52 | 53 | 54 | ## 三、根据参考过的文章,完成语音识别系统的安装 55 | 56 | 根据这个博客[Sphinx武林秘籍(上)](http://www.cnblogs.com/huanghuang/archive/2011/07/14/2106579.html)安装Sphinx以及语言模型和声学模型。 57 | 58 | 从[这里](http://sourceforge.net/projects/cmusphinx/files/)下载以下文件: 59 | 60 | * sphinxbase-0.8.tar.gz 61 | * pocketsphinx-0.8.tar.gz 62 | * zh_broadcastnews_16k_ptm256_8000.tar.bz2 63 | * zh_broadcastnews_64000_utf8.DMP 64 | * zh_broadcastnews_utf8.dic 65 | 66 | 根据这个Blog的介绍,完成了安装和测试,根据其结果,说是准确率非常低。 67 | 68 | 后续准备根据这个Blog进行优化[Sphinx语音识别学习记录 (四)-小范围语音中文识别](http://www.cnblogs.com/yin52133/archive/2012/07/12/2588201.html) 69 | 70 | ## 四、解决命令输入准确率的问题 71 | 72 | 根据两篇博客: 73 | 74 | * [Sphinx语音识别学习记录 (四)-小范围语音中文识别](http://www.cnblogs.com/yin52133/archive/2012/07/12/2588201.html) 75 | * [Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率](http://zuoshu.iteye.com/blog/1463867) 76 | 77 | 78 | >丢脸的是:实在没有看懂反馈的信息,不知道准确率是如何体现的,准备做一个界面调用一下试试 79 | 80 | ## 通过python或者Go调用 81 | 82 | 83 | 84 | ## 要解决的问题 85 | 86 | 87 | 88 | ## 做过的其他操作 89 | 90 | export ALSADEV="plughw:1,0" // 设置系统的环境变量以使用麦克风 91 | 92 | sudo apt-get install julius-voxforge //语音合成软件 93 | 94 | 95 | 96 | 97 | 98 | *** 99 | 100 | >参考过的文章: 101 | > 102 | 103 | * [Speech Recognition using the Raspberry Pi](http://www.aonsquared.co.uk/raspi_voice_control) 国内很多文章从这里翻译,但是不注明出处,无耻 104 | * [PocketSphinx语音识别系统的编程](http://jishu521.com/post/zouoxy09/7978108.html) 105 | * [pocketsphinx开发文档](http://cmusphinx.sourceforge.net/api/pocketsphinx/) 106 | * [PocketSphinx语音识别系统语言模型的锻炼和声学模型的改进](http://www.myexception.cn/mobile/700769.html) 107 | * [cmusphinx系列](http://www.cnblogs.com/yin52133/tag/cmusphinx/) 108 | * [Sphinx武林秘籍(上)](http://www.cnblogs.com/huanghuang/archive/2011/07/14/2106579.html) 109 | * [语音识别](http://zh.wikipedia.org/wiki/%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%88%AB) 110 | * [PocketSphinx语音识别系统语言模型的训练和声学模型的改进](http://www.kaifajie.cn/kaifa_qita/5933.html) 111 | * [Raspberry Pi实作–语音识别控制Maplin USB机械手臂](http://www.it165.net/embed/html/201207/2076.html) 抄袭前面说到的文章 112 | * [如何使用Julius搭建一个语音识别引擎?](http://blog.csdn.net/habout632/article/details/8632621) 113 | * [基于Julius的机器人语音识别系统构建](http://www.21ic.com/app/control/201108/91819_2.htm) 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /posts/get-weather.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 获取天气信息 3 | date: '2013-03-16' 4 | description: 5 | categories: 6 | - 2013 7 | - 智能 8 | - 技术储备 9 | - go 10 | tags: 11 | - raspberry Pi 12 | - 天气 13 | - 自动获取 14 | - go 15 | --- 16 | 17 | # 从中国天气网获取天气信息 18 | 19 | 20 | 从中国天气网自动获取天气: 21 | 22 | 杭州地区的获取[URL](http://m.weather.com.cn/data/101210101.html)。 23 | 24 | >PS:从JSON的格式上,这个开发团队需要优化对数据结构的设计。 25 | 26 | 具体Go代码如下: 27 | 28 | package main 29 | 30 | import ( 31 | "fmt" 32 | "os" 33 | "net/http" 34 | "io/ioutil" 35 | "simplejson" //从这里得到代码[simplejson](https://github.com/bitly/go-simplejson) 36 | ) 37 | 38 | 39 | func main() { 40 | //从天气网获取杭州地区的信息 41 | str := file_get_content("http://m.weather.com.cn/data/101210101.html") 42 | js,_ := simplejson.NewJson([]byte(str)) 43 | 44 | //拿到相关城市信息 45 | fmt.Print(js.Get("weatherinfo").Get("city")) 46 | 47 | os.Exit(0); 48 | } 49 | 50 | func file_get_content(url string) string { 51 | r, err := http.Get(url) //Go语言中可以返回2个以上的返回值 52 | if err != nil { 53 | fmt.Print("%v", err) 54 | } 55 | 56 | defer r.Body.Close() //在方法结束的时候调用,defer这个关坚持非常不错 57 | 58 | body, err := ioutil.ReadAll(r.Body) 59 | 60 | return string(body) 61 | } 62 | 63 | 通过上面代码,基本就能获取杭州地区从今天开始7天内的温度信息 64 | 65 | 66 | 67 | 68 | 69 | 记录一下已经获取并解析好的数据 70 | 71 | { 72 | "weatherinfo":{ 73 | "city":"杭州", 74 | "city_en":"hangzhou", 75 | "date_y":"2013年3月16日", 76 | "date":"", 77 | "week":"星期六", 78 | "fchh":"18", 79 | "cityid":"101210101", 80 | "temp1":"12℃~21℃", 81 | "temp2":"12℃~22℃", 82 | "temp3":"13℃~24℃", 83 | "temp4":"14℃~23℃", 84 | "temp5":"10℃~15℃", 85 | "temp6":"12℃~25℃", 86 | "tempF1":"53.6℉~69.8℉", 87 | "tempF2":"53.6℉~71.6℉", 88 | "tempF3":"55.4℉~75.2℉", 89 | "tempF4":"57.2℉~73.4℉", 90 | "tempF5":"50℉~59℉", 91 | "tempF6":"53.6℉~77℉", 92 | "weather1":"中雨", 93 | "weather2":"大雨转多云", 94 | "weather3":"多云转阵雨", 95 | "weather4":"阵雨转多云", 96 | "weather5":"阵雨", 97 | "weather6":"阴转阵雨", 98 | "img1":"8", 99 | "img2":"99", 100 | "img3":"9", 101 | "img4":"1", 102 | "img5":"1", 103 | "img6":"3", 104 | "img7":"3", 105 | "img8":"1", 106 | "img9":"3", 107 | "img10":"99", 108 | "img11":"2", 109 | "img12":"3", 110 | "img_single":"8", 111 | "img_title1":"中雨", 112 | "img_title2":"中雨", 113 | "img_title3":"大雨", 114 | "img_title4":"多云", 115 | "img_title5":"多云", 116 | "img_title6":"阵雨", 117 | "img_title7":"阵雨", 118 | "img_title8":"多云", 119 | "img_title9":"阵雨", 120 | "img_title10":"阵雨", 121 | "img_title11":"阴", 122 | "img_title12":"阵雨", 123 | "img_title_single":"中雨", 124 | "wind1":"南风小于3级转微风", 125 | "wind2":"微风转西北风小于3级", 126 | "wind3":"西北风转东南风小于3级", 127 | "wind4":"东南风转东北风小于3级", 128 | "wind5":"东北风转东风小于3级", 129 | "wind6":"东风转东北风小于3级", 130 | "fx1":"南风", 131 | "fx2":"微风", 132 | "fl1":"小于3级", 133 | "fl2":"小于3级", 134 | "fl3":"小于3级", 135 | "fl4":"小于3级", 136 | "fl5":"小于3级", 137 | "fl6":"小于3级", 138 | "index":"较舒适", 139 | "index_d":"建议着薄外套、开衫牛仔衫裤等服装。年老体弱者应适当添加衣物,宜着夹克衫、薄毛衣等。", 140 | "index48":"较舒适", 141 | "index48_d":"建议着薄外套、开衫牛仔衫裤等服装。年老体弱者应适当添加衣物,宜着夹克衫、薄毛衣等。", 142 | "index_uv":"最弱", 143 | "index48_uv":"弱", 144 | "index_xc":"不宜", 145 | "index_tr":"一般", 146 | "index_co":"舒适", 147 | "st1":"22", 148 | "st2":"13", 149 | "st3":"22", 150 | "st4":"13", 151 | "st5":"24", 152 | "st6":"14", 153 | "index_cl":"不宜", 154 | "index_ls":"不宜", 155 | "index_ag":"易发" 156 | } 157 | } 158 | 159 | 160 | >参考过的文章: 161 | http://dh189.iteye.com/blog/679705 162 | -------------------------------------------------------------------------------- /posts/whatisraspberrypi.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 树莓派(raspberry pi)与互联网程序员 3 | date: '2013-03-20' 4 | description:介绍什么是树莓派 5 | categories: 6 | - raspberry pi 7 | - 树莓派 8 | - 接受 9 | tags: 10 | - raspberry pi 11 | - 树莓派 12 | --- 13 | 14 | 本来想写一篇介绍树莓派的文章,搜索了一下,网上已经有太多,从入门的到精通的,所以放弃,最后只是想介绍一下自己接触树莓派的简单经历和想法。然后放一些我自己看过的文章给大家。 15 | 16 | # 化学反应(互联网程序员与硬件) 17 | 18 | >因为是历程所以没有实现细节 19 | 20 | 21 | 首次知道树莓派是通过flipboard看新闻,当是知道了卡片计算机,而且很火。 后面再次接触到树莓派是[一粟](http://go.myalert.info/)的网站,发现这种轻量级的网站解决方案,很可爱。 22 | 23 | 仔细收集相关信息以后,决定买一套,用它来驱动我的智能小车,化学反应从这里就开始了。 24 | 25 | 从就业以来,玩的都是网站应用程序,了解的也是这方面的知识:HTTP/HTML/CSS/Socket/JAVA/linux等等,对于硬件不是那么熟悉。但树莓派系统是linux,几乎可以安装一切linux已有的软件,自带网络口,提供USB端口,当前PC成熟的硬件,很容易用到树莓派上;而树莓派还提供GPIO引脚,可以控制其他单片机设备,还可以和[Arduino](http://zh.wikipedia.org/wiki/Arduino)协作。 26 | 27 | 之前用Arduino做过一个智能小车,有了一定的基础,知道直流电机驱动板如何工作,信号量应该是什么样的,而我需要做的是通过GPIO口来控制小车。 28 | 29 | 很快,我就画出了简单的示意图,用我非常熟悉的解决方案: 30 | ![解决方案](http://ww4.sinaimg.cn/mw690/543ff35dgw1e2w66fc6gjj.jpg) 31 | 32 | ## 驱动小车 33 | 34 | 驱动小车是通过GPIO口连接直流点击驱动板,通过高低电平信号来控制,而小车的驱动很快就写好了,我用ruby写了一个Car类,来控制小车的前进后退。 35 | 36 | require 'pi_piper' //网上提供的Ruby包,用来控制树莓派的GPIO口,如果你用python,树莓派系统中自带 37 | 38 | class Car 39 | #attr_reader :ea,:i2,:i1,:eb,:i4,:i3 40 | def initialize (options) 41 | #左边轮子的控制按钮 42 | @ea = PiPiper::Pin.new(:pin => options[:ea], :direction => :out) 43 | @i2 = PiPiper::Pin.new(:pin => options[:i2], :direction => :out) 44 | @i1 = PiPiper::Pin.new(:pin => options[:i1], :direction => :out) 45 | #右边轮子的控制按钮 46 | @eb = PiPiper::Pin.new(:pin => options[:eb], :direction => :out) 47 | @i4 = PiPiper::Pin.new(:pin => options[:i4], :direction => :out) 48 | @i3 = PiPiper::Pin.new(:pin => options[:i3], :direction => :out) 49 | 50 | @ea.on 51 | @eb.on 52 | end 53 | #后退 54 | def goback 55 | @i2.off 56 | @i1.on 57 | @i4.on 58 | @i3.off 59 | end 60 | #前进 61 | def goahead 62 | @i2.on 63 | @i1.off 64 | @i4.off 65 | @i3.on 66 | end 67 | 68 | #右转 69 | def goright 70 | @i2.off 71 | @i1.on 72 | @i4.off 73 | @i3.on 74 | end 75 | #左转 76 | def goleft 77 | @i2.on 78 | @i1.off 79 | @i4.on 80 | @i3.off 81 | end 82 | #停止 83 | def stop 84 | @i2.off 85 | @i1.off 86 | @i4.off 87 | @i3.off 88 | end 89 | 90 | end 91 | 92 | 当写完这个类,基本上驱动小车已经没有任何难度了,剩下的就是控制部分,也是最花时间的部分。 93 | 94 | ## 控制服务解决方案 95 | 96 | * 远程要遥控选择的是无线,买了个一个TL-WN725N的无线网卡解决了无线连接的问题 97 | * 远程控制的程序部分是在树莓派上运行了一个WebSocket的服务器 98 | 99 | require "./car.rb" 100 | require 'em-websocket'//提供WebSocket服务的包 101 | require 'pi_piper' 102 | car = Car.new(:ea=>18,:i2=>15,:i1=>14,:eb=>4,:i4=>3,:i3=>2) 103 | EM.run { 104 | EM::WebSocket.run(:host => "0.0.0.0", :port => 8080) do |ws| 105 | ws.onopen { |handshake| 106 | puts "WebSocket connection open" 107 | # Access properties on the EM::WebSocket::Handshake object, e.g. 108 | # path, query_string, origin, headers 109 | 110 | # Publish message to the client 111 | ws.send "Welcome,the client has successful connected." 112 | } 113 | 114 | ws.onclose { 115 | car.stop 116 | puts "Connection closed" } 117 | 118 | ws.onmessage { |msg| 119 | case msg 120 | when "go" 121 | car.goahead 122 | when "right" 123 | car.goright 124 | when "left" 125 | car.goleft 126 | when "back" 127 | car.goback 128 | else 129 | car.stop 130 | end 131 | 132 | puts "Recieved message: #{msg}" 133 | ws.send "server: #{msg} recieved!" 134 | } 135 | end 136 | } 137 | 138 | ## 遥控客户端 139 | 140 | 这个没有什么疑问,直接使用Android手机,所需要做的就是开发客户端界面,并通过Websocket发送控制命令。 141 | 142 | 后续不过瘾,又弄了一个鸡腿(WII的控制手柄)通过蓝牙来控制。 143 | 144 | ## 化学反应 145 | 146 | 整个解决方案的速度,远远超过的预期,成熟的软件体系和硬件,让所有解决方案事半功倍,而个人只需要做的是发挥创意。 147 | 148 | 这就是我和树莓派的第一次亲密接触。 149 | 150 | 151 | # 网上的一些文章 152 | 153 | * [树莓派Raspberry Pi上手报告](http://www.leiphone.com/raspberry-pi-hands-on.html) 154 | * [35美元电脑Raspberry Pi的OS是如何诞生的?](http://www.cnbeta.com/articles/230243.htm) 155 | * [Raspberry Pi(树莓派)试用小记](http://www.cnblogs.com/ma6174/archive/2013/01/25/2875617.html) 156 | * [使用树莓派制作的远程开门器](http://www.cnblogs.com/guanhe/archive/2012/12/25/2832982.html) 157 | * [树莓派](http://zh.wikipedia.org/wiki/%E6%A0%91%E8%8E%93%E6%B4%BE) 158 | * [乐高加上树莓派等于廉价超级计算机?](http://www.inpai.com.cn/doc/pc/182426.htm) 159 | 160 | 161 | # 阿里同事架设在树莓派上的个人站点 162 | 163 | * [一粟](http://go.myalert.info/) 164 | * [空无](http://kongwu.net/) 165 | * [异翅](http://pi.k17.im/) 166 | * [朴灵](http://jacksontian.eicp.net/) 167 | 168 | 169 | -------------------------------------------------------------------------------- /others/a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 伏威的自我记录 4 | 5 | 21 | 51 | 52 | 53 |
    54 |
    55 | 搜索入口: 56 | 57 | 58 | 59 | 60 | 61 | 62 |
    63 |
    64 | 65 |
    66 |

    网站

    67 | 68 | 中银国际 69 |
    70 |
    71 |

    开发相关

    72 | Android开发文档 73 | 在线Android文档 74 | Android专区 75 | Android源代码 76 | 77 | Eoe Android开发者社区 78 | 79 | Rails Guides 80 | Rails API 81 | Ruby core 82 | Ruby standard library 83 | CSS在线文档 84 | Jquery在线文档 85 |
    86 |
    87 |

    自己的最爱

    88 | 淘宝 89 | etao 90 | 新浪新闻 91 | 新浪微博 92 | 苏打苏塔 93 | 非设计 94 | 译言网 95 | 36氪 96 | 普洱茶吧 97 | 普洱茶论坛 98 | 菜谱网 99 | 四海淘 100 |
    101 |
    102 |

    arduino

    103 | 极客工房 104 | arduino Home 105 | 树莓Pi 106 | 爱上树莓Pi 107 | 我爱模型 108 | 模型论坛 109 |
    110 |
    111 |

    相机相关

    112 | 蜂鸟-浙江-镜头 113 | 蜂鸟-Nikon-镜头 114 | 福伦达 115 | 蜂鸟 116 | 摄影无忌 117 | 茶片坊 118 | 泡泡网 119 | 胶片联盟 120 |
    121 |
    122 |

    娱乐相关

    123 | 起点 124 | Sodu 125 | The Big Bang 126 | MacX 127 | Mac麦芽地 128 | iAppleZ.com 129 | 178 ifan 130 |
    131 |
    132 |

    竞争对手

    133 | 当当 134 | 京东 135 | 1号店 136 | 中国亚马逊 137 | 亚马逊 138 | eBay 139 |
    140 |
    141 |

    学习相关

    142 | CSS查询器 143 | 网易公开课 144 |
    145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /themes/twitter/stylesheets/bootstrap.min.css: -------------------------------------------------------------------------------- 1 | article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;} 2 | audio,canvas,video{display:inline-block;*display:inline;*zoom:1;} 3 | audio:not([controls]){display:none;} 4 | html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;} 5 | a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} 6 | a:hover,a:active{outline:0;} 7 | sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;} 8 | sup{top:-0.5em;} 9 | sub{bottom:-0.25em;} 10 | img{height:auto;border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;} 11 | button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;} 12 | button,input{*overflow:visible;line-height:normal;} 13 | button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;} 14 | button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;} 15 | input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;} 16 | input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;} 17 | textarea{overflow:auto;vertical-align:top;} 18 | .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";} 19 | .clearfix:after{clear:both;} 20 | .hide-text{overflow:hidden;text-indent:100%;white-space:nowrap;} 21 | .input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;} 22 | body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333333;background-color:#ffffff;} 23 | a{color:#0088cc;text-decoration:none;} 24 | a:hover{color:#005580;text-decoration:underline;} 25 | .row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";} 26 | .row:after{clear:both;} 27 | [class*="span"]{float:left;margin-left:20px;} 28 | .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;} 29 | .span12{width:940px;} 30 | .span11{width:860px;} 31 | .span10{width:780px;} 32 | .span9{width:700px;} 33 | .span8{width:620px;} 34 | .span7{width:540px;} 35 | .span6{width:460px;} 36 | .span5{width:380px;} 37 | .span4{width:300px;} 38 | .span3{width:220px;} 39 | .span2{width:140px;} 40 | .span1{width:60px;} 41 | .offset12{margin-left:980px;} 42 | .offset11{margin-left:900px;} 43 | .offset10{margin-left:820px;} 44 | .offset9{margin-left:740px;} 45 | .offset8{margin-left:660px;} 46 | .offset7{margin-left:580px;} 47 | .offset6{margin-left:500px;} 48 | .offset5{margin-left:420px;} 49 | .offset4{margin-left:340px;} 50 | .offset3{margin-left:260px;} 51 | .offset2{margin-left:180px;} 52 | .offset1{margin-left:100px;} 53 | .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";} 54 | .row-fluid:after{clear:both;} 55 | .row-fluid>[class*="span"]{float:left;margin-left:2.127659574%;} 56 | .row-fluid>[class*="span"]:first-child{margin-left:0;} 57 | .row-fluid > .span12{width:99.99999998999999%;} 58 | .row-fluid > .span11{width:91.489361693%;} 59 | .row-fluid > .span10{width:82.97872339599999%;} 60 | .row-fluid > .span9{width:74.468085099%;} 61 | .row-fluid > .span8{width:65.95744680199999%;} 62 | .row-fluid > .span7{width:57.446808505%;} 63 | .row-fluid > .span6{width:48.93617020799999%;} 64 | .row-fluid > .span5{width:40.425531911%;} 65 | .row-fluid > .span4{width:31.914893614%;} 66 | .row-fluid > .span3{width:23.404255317%;} 67 | .row-fluid > .span2{width:14.89361702%;} 68 | .row-fluid > .span1{width:6.382978723%;} 69 | .container{margin-left:auto;margin-right:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";} 70 | .container:after{clear:both;} 71 | .container-fluid{padding-left:20px;padding-right:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";} 72 | .container-fluid:after{clear:both;} 73 | p{margin:0 0 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#999999;} 74 | .lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px;} 75 | h1,h2,h3,h4,h5,h6{margin:0;font-family:inherit;font-weight:bold;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999999;} 76 | h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;} 77 | h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;} 78 | h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;} 79 | h4,h5,h6{line-height:18px;} 80 | h4{font-size:14px;}h4 small{font-size:12px;} 81 | h5{font-size:12px;} 82 | h6{font-size:11px;color:#999999;text-transform:uppercase;} 83 | .page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eeeeee;} 84 | .page-header h1{line-height:1;} 85 | ul,ol{padding:0;margin:0 0 9px 25px;} 86 | ul ul,ul ol,ol ol,ol ul{margin-bottom:0;} 87 | ul{list-style:disc;} 88 | ol{list-style:decimal;} 89 | li{line-height:18px;} 90 | ul.unstyled,ol.unstyled{margin-left:0;list-style:none;} 91 | dl{margin-bottom:18px;} 92 | dt,dd{line-height:18px;} 93 | dt{font-weight:bold;line-height:17px;} 94 | dd{margin-left:9px;} 95 | .dl-horizontal dt{float:left;clear:left;width:120px;text-align:right;} 96 | .dl-horizontal dd{margin-left:130px;} 97 | hr{margin:18px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;} 98 | strong{font-weight:bold;} 99 | em{font-style:italic;} 100 | .muted{color:#999999;} 101 | abbr[title]{border-bottom:1px dotted #ddd;cursor:help;} 102 | abbr.initialism{font-size:90%;text-transform:uppercase;} 103 | blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px;} 104 | blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';} 105 | blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eeeeee;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;} 106 | q:before,q:after,blockquote:before,blockquote:after{content:"";} 107 | address{display:block;margin-bottom:18px;line-height:18px;font-style:normal;} 108 | small{font-size:100%;} 109 | cite{font-style:normal;} 110 | code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} 111 | code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;} 112 | pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12.025px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;white-space:pre;white-space:pre-wrap;word-break:break-all;word-wrap:break-word;}pre.prettyprint{margin-bottom:18px;} 113 | pre code{padding:0;color:inherit;background-color:transparent;border:0;} 114 | .pre-scrollable{max-height:340px;overflow-y:scroll;} 115 | form{margin:0 0 18px;} 116 | fieldset{padding:0;margin:0;border:0;} 117 | legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333333;border:0;border-bottom:1px solid #eee;}legend small{font-size:13.5px;color:#999999;} 118 | label,input,button,select,textarea{font-size:13px;font-weight:normal;line-height:18px;} 119 | input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;} 120 | label{display:block;margin-bottom:5px;color:#333333;} 121 | input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555555;border:1px solid #cccccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} 122 | .uneditable-textarea{width:auto;height:auto;} 123 | label input,label textarea,label select{display:block;} 124 | input[type="image"],input[type="checkbox"],input[type="radio"]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border:0 \9;} 125 | input[type="image"]{border:0;} 126 | input[type="file"]{width:auto;padding:initial;line-height:initial;border:initial;background-color:#ffffff;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} 127 | input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto;} 128 | select,input[type="file"]{height:28px;*margin-top:4px;line-height:28px;} 129 | input[type="file"]{line-height:18px \9;} 130 | select{width:220px;background-color:#ffffff;} 131 | select[multiple],select[size]{height:auto;} 132 | input[type="image"]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} 133 | textarea{height:auto;} 134 | input[type="hidden"]{display:none;} 135 | .radio,.checkbox{padding-left:18px;} 136 | .radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px;} 137 | .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;} 138 | .radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;} 139 | .radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;} 140 | input,textarea{-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-ms-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s;} 141 | input:focus,textarea:focus{border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 8px rgba(82, 168, 236, 0.6);outline:0;outline:thin dotted \9;} 142 | input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} 143 | .input-mini{width:60px;} 144 | .input-small{width:90px;} 145 | .input-medium{width:150px;} 146 | .input-large{width:210px;} 147 | .input-xlarge{width:270px;} 148 | .input-xxlarge{width:530px;} 149 | input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{float:none;margin-left:0;} 150 | input,textarea,.uneditable-input{margin-left:0;} 151 | input.span12, textarea.span12, .uneditable-input.span12{width:930px;} 152 | input.span11, textarea.span11, .uneditable-input.span11{width:850px;} 153 | input.span10, textarea.span10, .uneditable-input.span10{width:770px;} 154 | input.span9, textarea.span9, .uneditable-input.span9{width:690px;} 155 | input.span8, textarea.span8, .uneditable-input.span8{width:610px;} 156 | input.span7, textarea.span7, .uneditable-input.span7{width:530px;} 157 | input.span6, textarea.span6, .uneditable-input.span6{width:450px;} 158 | input.span5, textarea.span5, .uneditable-input.span5{width:370px;} 159 | input.span4, textarea.span4, .uneditable-input.span4{width:290px;} 160 | input.span3, textarea.span3, .uneditable-input.span3{width:210px;} 161 | input.span2, textarea.span2, .uneditable-input.span2{width:130px;} 162 | input.span1, textarea.span1, .uneditable-input.span1{width:50px;} 163 | input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#eeeeee;border-color:#ddd;cursor:not-allowed;} 164 | .control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;} 165 | .control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;border-color:#c09853;}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:0 0 6px #dbc59e;-moz-box-shadow:0 0 6px #dbc59e;box-shadow:0 0 6px #dbc59e;} 166 | .control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;} 167 | .control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;} 168 | .control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;border-color:#b94a48;}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:0 0 6px #d59392;-moz-box-shadow:0 0 6px #d59392;box-shadow:0 0 6px #d59392;} 169 | .control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;} 170 | .control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;} 171 | .control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;border-color:#468847;}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:0 0 6px #7aba7b;-moz-box-shadow:0 0 6px #7aba7b;box-shadow:0 0 6px #7aba7b;} 172 | .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;} 173 | input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b;}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;} 174 | .form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#eeeeee;border-top:1px solid #ddd;*zoom:1;}.form-actions:before,.form-actions:after{display:table;content:"";} 175 | .form-actions:after{clear:both;} 176 | .uneditable-input{display:block;background-color:#ffffff;border-color:#eee;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;} 177 | :-moz-placeholder{color:#999999;} 178 | ::-webkit-input-placeholder{color:#999999;} 179 | .help-block,.help-inline{color:#555555;} 180 | .help-block{display:block;margin-bottom:9px;} 181 | .help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px;} 182 | .input-prepend,.input-append{margin-bottom:5px;}.input-prepend input,.input-append input,.input-prepend select,.input-append select,.input-prepend .uneditable-input,.input-append .uneditable-input{*margin-left:0;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;}.input-prepend input:focus,.input-append input:focus,.input-prepend select:focus,.input-append select:focus,.input-prepend .uneditable-input:focus,.input-append .uneditable-input:focus{position:relative;z-index:2;} 183 | .input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc;} 184 | .input-prepend .add-on,.input-append .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:normal;line-height:18px;text-align:center;text-shadow:0 1px 0 #ffffff;vertical-align:middle;background-color:#eeeeee;border:1px solid #ccc;} 185 | .input-prepend .add-on,.input-append .add-on,.input-prepend .btn,.input-append .btn{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} 186 | .input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;} 187 | .input-prepend .add-on,.input-prepend .btn{margin-right:-1px;} 188 | .input-append input,.input-append select .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} 189 | .input-append .uneditable-input{border-left-color:#eee;border-right-color:#ccc;} 190 | .input-append .add-on,.input-append .btn{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;} 191 | .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;} 192 | .input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} 193 | .input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;} 194 | .search-query{padding-left:14px;padding-right:14px;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;} 195 | .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;margin-bottom:0;} 196 | .form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none;} 197 | .form-search label,.form-inline label{display:inline-block;} 198 | .form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0;} 199 | .form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle;} 200 | .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-left:0;margin-right:3px;} 201 | .control-group{margin-bottom:9px;} 202 | legend+.control-group{margin-top:18px;-webkit-margin-top-collapse:separate;} 203 | .form-horizontal .control-group{margin-bottom:18px;*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";} 204 | .form-horizontal .control-group:after{clear:both;} 205 | .form-horizontal .control-label{float:left;width:140px;padding-top:5px;text-align:right;} 206 | .form-horizontal .controls{margin-left:160px;*display:inline-block;*margin-left:0;*padding-left:20px;} 207 | .form-horizontal .help-block{margin-top:9px;margin-bottom:0;} 208 | .form-horizontal .form-actions{padding-left:160px;} 209 | table{max-width:100%;border-collapse:collapse;border-spacing:0;background-color:transparent;} 210 | .table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;} 211 | .table th{font-weight:bold;} 212 | .table thead th{vertical-align:bottom;} 213 | .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;} 214 | .table tbody+tbody{border-top:2px solid #dddddd;} 215 | .table-condensed th,.table-condensed td{padding:4px 5px;} 216 | .table-bordered{border:1px solid #dddddd;border-left:0;border-collapse:separate;*border-collapse:collapsed;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;} 217 | .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;} 218 | .table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-radius:4px 0 0 0;-moz-border-radius:4px 0 0 0;border-radius:4px 0 0 0;} 219 | .table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0;} 220 | .table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;} 221 | .table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} 222 | .table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;} 223 | .table tbody tr:hover td,.table tbody tr:hover th{background-color:#f5f5f5;} 224 | table .span1{float:none;width:44px;margin-left:0;} 225 | table .span2{float:none;width:124px;margin-left:0;} 226 | table .span3{float:none;width:204px;margin-left:0;} 227 | table .span4{float:none;width:284px;margin-left:0;} 228 | table .span5{float:none;width:364px;margin-left:0;} 229 | table .span6{float:none;width:444px;margin-left:0;} 230 | table .span7{float:none;width:524px;margin-left:0;} 231 | table .span8{float:none;width:604px;margin-left:0;} 232 | table .span9{float:none;width:684px;margin-left:0;} 233 | table .span10{float:none;width:764px;margin-left:0;} 234 | table .span11{float:none;width:844px;margin-left:0;} 235 | table .span12{float:none;width:924px;margin-left:0;} 236 | table .span13{float:none;width:1004px;margin-left:0;} 237 | table .span14{float:none;width:1084px;margin-left:0;} 238 | table .span15{float:none;width:1164px;margin-left:0;} 239 | table .span16{float:none;width:1244px;margin-left:0;} 240 | table .span17{float:none;width:1324px;margin-left:0;} 241 | table .span18{float:none;width:1404px;margin-left:0;} 242 | table .span19{float:none;width:1484px;margin-left:0;} 243 | table .span20{float:none;width:1564px;margin-left:0;} 244 | table .span21{float:none;width:1644px;margin-left:0;} 245 | table .span22{float:none;width:1724px;margin-left:0;} 246 | table .span23{float:none;width:1804px;margin-left:0;} 247 | table .span24{float:none;width:1884px;margin-left:0;} 248 | [class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;line-height:14px;vertical-align:text-top;background-image:url("../media/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat;*margin-right:.3em;}[class^="icon-"]:last-child,[class*=" icon-"]:last-child{*margin-left:0;} 249 | .icon-white{background-image:url("../media/glyphicons-halflings-white.png");} 250 | .icon-glass{background-position:0 0;} 251 | .icon-music{background-position:-24px 0;} 252 | .icon-search{background-position:-48px 0;} 253 | .icon-envelope{background-position:-72px 0;} 254 | .icon-heart{background-position:-96px 0;} 255 | .icon-star{background-position:-120px 0;} 256 | .icon-star-empty{background-position:-144px 0;} 257 | .icon-user{background-position:-168px 0;} 258 | .icon-film{background-position:-192px 0;} 259 | .icon-th-large{background-position:-216px 0;} 260 | .icon-th{background-position:-240px 0;} 261 | .icon-th-list{background-position:-264px 0;} 262 | .icon-ok{background-position:-288px 0;} 263 | .icon-remove{background-position:-312px 0;} 264 | .icon-zoom-in{background-position:-336px 0;} 265 | .icon-zoom-out{background-position:-360px 0;} 266 | .icon-off{background-position:-384px 0;} 267 | .icon-signal{background-position:-408px 0;} 268 | .icon-cog{background-position:-432px 0;} 269 | .icon-trash{background-position:-456px 0;} 270 | .icon-home{background-position:0 -24px;} 271 | .icon-file{background-position:-24px -24px;} 272 | .icon-time{background-position:-48px -24px;} 273 | .icon-road{background-position:-72px -24px;} 274 | .icon-download-alt{background-position:-96px -24px;} 275 | .icon-download{background-position:-120px -24px;} 276 | .icon-upload{background-position:-144px -24px;} 277 | .icon-inbox{background-position:-168px -24px;} 278 | .icon-play-circle{background-position:-192px -24px;} 279 | .icon-repeat{background-position:-216px -24px;} 280 | .icon-refresh{background-position:-240px -24px;} 281 | .icon-list-alt{background-position:-264px -24px;} 282 | .icon-lock{background-position:-287px -24px;} 283 | .icon-flag{background-position:-312px -24px;} 284 | .icon-headphones{background-position:-336px -24px;} 285 | .icon-volume-off{background-position:-360px -24px;} 286 | .icon-volume-down{background-position:-384px -24px;} 287 | .icon-volume-up{background-position:-408px -24px;} 288 | .icon-qrcode{background-position:-432px -24px;} 289 | .icon-barcode{background-position:-456px -24px;} 290 | .icon-tag{background-position:0 -48px;} 291 | .icon-tags{background-position:-25px -48px;} 292 | .icon-book{background-position:-48px -48px;} 293 | .icon-bookmark{background-position:-72px -48px;} 294 | .icon-print{background-position:-96px -48px;} 295 | .icon-camera{background-position:-120px -48px;} 296 | .icon-font{background-position:-144px -48px;} 297 | .icon-bold{background-position:-167px -48px;} 298 | .icon-italic{background-position:-192px -48px;} 299 | .icon-text-height{background-position:-216px -48px;} 300 | .icon-text-width{background-position:-240px -48px;} 301 | .icon-align-left{background-position:-264px -48px;} 302 | .icon-align-center{background-position:-288px -48px;} 303 | .icon-align-right{background-position:-312px -48px;} 304 | .icon-align-justify{background-position:-336px -48px;} 305 | .icon-list{background-position:-360px -48px;} 306 | .icon-indent-left{background-position:-384px -48px;} 307 | .icon-indent-right{background-position:-408px -48px;} 308 | .icon-facetime-video{background-position:-432px -48px;} 309 | .icon-picture{background-position:-456px -48px;} 310 | .icon-pencil{background-position:0 -72px;} 311 | .icon-map-marker{background-position:-24px -72px;} 312 | .icon-adjust{background-position:-48px -72px;} 313 | .icon-tint{background-position:-72px -72px;} 314 | .icon-edit{background-position:-96px -72px;} 315 | .icon-share{background-position:-120px -72px;} 316 | .icon-check{background-position:-144px -72px;} 317 | .icon-move{background-position:-168px -72px;} 318 | .icon-step-backward{background-position:-192px -72px;} 319 | .icon-fast-backward{background-position:-216px -72px;} 320 | .icon-backward{background-position:-240px -72px;} 321 | .icon-play{background-position:-264px -72px;} 322 | .icon-pause{background-position:-288px -72px;} 323 | .icon-stop{background-position:-312px -72px;} 324 | .icon-forward{background-position:-336px -72px;} 325 | .icon-fast-forward{background-position:-360px -72px;} 326 | .icon-step-forward{background-position:-384px -72px;} 327 | .icon-eject{background-position:-408px -72px;} 328 | .icon-chevron-left{background-position:-432px -72px;} 329 | .icon-chevron-right{background-position:-456px -72px;} 330 | .icon-plus-sign{background-position:0 -96px;} 331 | .icon-minus-sign{background-position:-24px -96px;} 332 | .icon-remove-sign{background-position:-48px -96px;} 333 | .icon-ok-sign{background-position:-72px -96px;} 334 | .icon-question-sign{background-position:-96px -96px;} 335 | .icon-info-sign{background-position:-120px -96px;} 336 | .icon-screenshot{background-position:-144px -96px;} 337 | .icon-remove-circle{background-position:-168px -96px;} 338 | .icon-ok-circle{background-position:-192px -96px;} 339 | .icon-ban-circle{background-position:-216px -96px;} 340 | .icon-arrow-left{background-position:-240px -96px;} 341 | .icon-arrow-right{background-position:-264px -96px;} 342 | .icon-arrow-up{background-position:-289px -96px;} 343 | .icon-arrow-down{background-position:-312px -96px;} 344 | .icon-share-alt{background-position:-336px -96px;} 345 | .icon-resize-full{background-position:-360px -96px;} 346 | .icon-resize-small{background-position:-384px -96px;} 347 | .icon-plus{background-position:-408px -96px;} 348 | .icon-minus{background-position:-433px -96px;} 349 | .icon-asterisk{background-position:-456px -96px;} 350 | .icon-exclamation-sign{background-position:0 -120px;} 351 | .icon-gift{background-position:-24px -120px;} 352 | .icon-leaf{background-position:-48px -120px;} 353 | .icon-fire{background-position:-72px -120px;} 354 | .icon-eye-open{background-position:-96px -120px;} 355 | .icon-eye-close{background-position:-120px -120px;} 356 | .icon-warning-sign{background-position:-144px -120px;} 357 | .icon-plane{background-position:-168px -120px;} 358 | .icon-calendar{background-position:-192px -120px;} 359 | .icon-random{background-position:-216px -120px;} 360 | .icon-comment{background-position:-240px -120px;} 361 | .icon-magnet{background-position:-264px -120px;} 362 | .icon-chevron-up{background-position:-288px -120px;} 363 | .icon-chevron-down{background-position:-313px -119px;} 364 | .icon-retweet{background-position:-336px -120px;} 365 | .icon-shopping-cart{background-position:-360px -120px;} 366 | .icon-folder-close{background-position:-384px -120px;} 367 | .icon-folder-open{background-position:-408px -120px;} 368 | .icon-resize-vertical{background-position:-432px -119px;} 369 | .icon-resize-horizontal{background-position:-456px -118px;} 370 | .dropdown{position:relative;} 371 | .dropdown-toggle{*margin-bottom:-3px;} 372 | .dropdown-toggle:active,.open .dropdown-toggle{outline:0;} 373 | .caret{display:inline-block;width:0;height:0;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000000;opacity:0.3;filter:alpha(opacity=30);content:"";} 374 | .dropdown .caret{margin-top:8px;margin-left:2px;} 375 | .dropdown:hover .caret,.open.dropdown .caret{opacity:1;filter:alpha(opacity=100);} 376 | .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;padding:4px 0;margin:0;list-style:none;background-color:#ffffff;border-color:#ccc;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:1px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px;}.dropdown-menu.pull-right{right:0;left:auto;} 377 | .dropdown-menu .divider{height:1px;margin:8px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;*width:100%;*margin:-5px 0 5px;} 378 | .dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#333333;white-space:nowrap;} 379 | .dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;background-color:#0088cc;} 380 | .dropdown.open{*z-index:1000;}.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);} 381 | .dropdown.open .dropdown-menu{display:block;} 382 | .pull-right .dropdown-menu{left:auto;right:0;} 383 | .dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000000;content:"\2191";} 384 | .dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px;} 385 | .typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} 386 | .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);} 387 | .well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} 388 | .well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} 389 | .fade{-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-ms-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;opacity:0;}.fade.in{opacity:1;} 390 | .collapse{-webkit-transition:height 0.35s ease;-moz-transition:height 0.35s ease;-ms-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease;position:relative;overflow:hidden;height:0;}.collapse.in{height:auto;} 391 | .close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover{color:#000000;text-decoration:none;opacity:0.4;filter:alpha(opacity=40);cursor:pointer;} 392 | .btn{display:inline-block;*display:inline;*zoom:1;padding:4px 10px 4px;margin-bottom:0;font-size:13px;line-height:18px;color:#333333;text-align:center;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);vertical-align:middle;background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-ms-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(top, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);border:1px solid #cccccc;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);cursor:pointer;*margin-left:.3em;}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{background-color:#e6e6e6;} 393 | .btn:active,.btn.active{background-color:#cccccc \9;} 394 | .btn:first-child{*margin-left:0;} 395 | .btn:hover{color:#333333;text-decoration:none;background-color:#e6e6e6;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-ms-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear;} 396 | .btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} 397 | .btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);background-color:#e6e6e6;background-color:#d9d9d9 \9;outline:0;} 398 | .btn.disabled,.btn[disabled]{cursor:default;background-image:none;background-color:#e6e6e6;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} 399 | .btn-large{padding:9px 14px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} 400 | .btn-large [class^="icon-"]{margin-top:1px;} 401 | .btn-small{padding:5px 9px;font-size:11px;line-height:16px;} 402 | .btn-small [class^="icon-"]{margin-top:-1px;} 403 | .btn-mini{padding:2px 6px;font-size:11px;line-height:14px;} 404 | .btn-primary,.btn-primary:hover,.btn-warning,.btn-warning:hover,.btn-danger,.btn-danger:hover,.btn-success,.btn-success:hover,.btn-info,.btn-info:hover,.btn-inverse,.btn-inverse:hover{text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);color:#ffffff;} 405 | .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);} 406 | .btn-primary{background-color:#0074cc;background-image:-moz-linear-gradient(top, #0088cc, #0055cc);background-image:-ms-linear-gradient(top, #0088cc, #0055cc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));background-image:-webkit-linear-gradient(top, #0088cc, #0055cc);background-image:-o-linear-gradient(top, #0088cc, #0055cc);background-image:linear-gradient(top, #0088cc, #0055cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);border-color:#0055cc #0055cc #003580;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{background-color:#0055cc;} 407 | .btn-primary:active,.btn-primary.active{background-color:#004099 \9;} 408 | .btn-warning{background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-ms-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(top, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{background-color:#f89406;} 409 | .btn-warning:active,.btn-warning.active{background-color:#c67605 \9;} 410 | .btn-danger{background-color:#da4f49;background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);background-image:-ms-linear-gradient(top, #ee5f5b, #bd362f);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);background-image:linear-gradient(top, #ee5f5b, #bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{background-color:#bd362f;} 411 | .btn-danger:active,.btn-danger.active{background-color:#942a25 \9;} 412 | .btn-success{background-color:#5bb75b;background-image:-moz-linear-gradient(top, #62c462, #51a351);background-image:-ms-linear-gradient(top, #62c462, #51a351);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));background-image:-webkit-linear-gradient(top, #62c462, #51a351);background-image:-o-linear-gradient(top, #62c462, #51a351);background-image:linear-gradient(top, #62c462, #51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{background-color:#51a351;} 413 | .btn-success:active,.btn-success.active{background-color:#408140 \9;} 414 | .btn-info{background-color:#49afcd;background-image:-moz-linear-gradient(top, #5bc0de, #2f96b4);background-image:-ms-linear-gradient(top, #5bc0de, #2f96b4);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));background-image:-webkit-linear-gradient(top, #5bc0de, #2f96b4);background-image:-o-linear-gradient(top, #5bc0de, #2f96b4);background-image:linear-gradient(top, #5bc0de, #2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{background-color:#2f96b4;} 415 | .btn-info:active,.btn-info.active{background-color:#24748c \9;} 416 | .btn-inverse{background-color:#414141;background-image:-moz-linear-gradient(top, #555555, #222222);background-image:-ms-linear-gradient(top, #555555, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));background-image:-webkit-linear-gradient(top, #555555, #222222);background-image:-o-linear-gradient(top, #555555, #222222);background-image:linear-gradient(top, #555555, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{background-color:#222222;} 417 | .btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;} 418 | button.btn,input[type="submit"].btn{*padding-top:2px;*padding-bottom:2px;}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0;} 419 | button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px;} 420 | button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px;} 421 | button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px;} 422 | .btn-group{position:relative;*zoom:1;*margin-left:.3em;}.btn-group:before,.btn-group:after{display:table;content:"";} 423 | .btn-group:after{clear:both;} 424 | .btn-group:first-child{*margin-left:0;} 425 | .btn-group+.btn-group{margin-left:5px;} 426 | .btn-toolbar{margin-top:9px;margin-bottom:9px;}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1;} 427 | .btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 428 | .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;} 429 | .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;} 430 | .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;} 431 | .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;} 432 | .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active,.btn-group .btn.active{z-index:2;} 433 | .btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;} 434 | .btn-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 1px 0 0 rgba(255, 255, 255, 0.125),inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);*padding-top:3px;*padding-bottom:3px;} 435 | .btn-group .btn-mini.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:1px;*padding-bottom:1px;} 436 | .btn-group .btn-small.dropdown-toggle{*padding-top:4px;*padding-bottom:4px;} 437 | .btn-group .btn-large.dropdown-toggle{padding-left:12px;padding-right:12px;} 438 | .btn-group.open{*z-index:1000;}.btn-group.open .dropdown-menu{display:block;margin-top:1px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} 439 | .btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 6px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);} 440 | .btn .caret{margin-top:7px;margin-left:0;} 441 | .btn:hover .caret,.open.btn-group .caret{opacity:1;filter:alpha(opacity=100);} 442 | .btn-mini .caret{margin-top:5px;} 443 | .btn-small .caret{margin-top:6px;} 444 | .btn-large .caret{margin-top:6px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} 445 | .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;opacity:0.75;filter:alpha(opacity=75);} 446 | .alert{padding:8px 35px 8px 14px;margin-bottom:18px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;color:#c09853;} 447 | .alert-heading{color:inherit;} 448 | .alert .close{position:relative;top:-2px;right:-21px;line-height:18px;} 449 | .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847;} 450 | .alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48;} 451 | .alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad;} 452 | .alert-block{padding-top:14px;padding-bottom:14px;} 453 | .alert-block>p,.alert-block>ul{margin-bottom:0;} 454 | .alert-block p+p{margin-top:5px;} 455 | .nav{margin-left:0;margin-bottom:18px;list-style:none;} 456 | .nav>li>a{display:block;} 457 | .nav>li>a:hover{text-decoration:none;background-color:#eeeeee;} 458 | .nav .nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:18px;color:#999999;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-transform:uppercase;} 459 | .nav li+.nav-header{margin-top:9px;} 460 | .nav-list{padding-left:15px;padding-right:15px;margin-bottom:0;} 461 | .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);} 462 | .nav-list>li>a{padding:3px 15px;} 463 | .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;} 464 | .nav-list [class^="icon-"]{margin-right:2px;} 465 | .nav-list .divider{height:1px;margin:8px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;*width:100%;*margin:-5px 0 5px;} 466 | .nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";} 467 | .nav-tabs:after,.nav-pills:after{clear:both;} 468 | .nav-tabs>li,.nav-pills>li{float:left;} 469 | .nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;} 470 | .nav-tabs{border-bottom:1px solid #ddd;} 471 | .nav-tabs>li{margin-bottom:-1px;} 472 | .nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:18px;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;} 473 | .nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;} 474 | .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;} 475 | .nav-pills>.active>a,.nav-pills>.active>a:hover{color:#ffffff;background-color:#0088cc;} 476 | .nav-stacked>li{float:none;} 477 | .nav-stacked>li>a{margin-right:0;} 478 | .nav-tabs.nav-stacked{border-bottom:0;} 479 | .nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 480 | .nav-tabs.nav-stacked>li:first-child>a{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;} 481 | .nav-tabs.nav-stacked>li:last-child>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;} 482 | .nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2;} 483 | .nav-pills.nav-stacked>li>a{margin-bottom:3px;} 484 | .nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;} 485 | .nav-tabs .dropdown-menu,.nav-pills .dropdown-menu{margin-top:1px;border-width:1px;} 486 | .nav-pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} 487 | .nav-tabs .dropdown-toggle .caret,.nav-pills .dropdown-toggle .caret{border-top-color:#0088cc;border-bottom-color:#0088cc;margin-top:6px;} 488 | .nav-tabs .dropdown-toggle:hover .caret,.nav-pills .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580;} 489 | .nav-tabs .active .dropdown-toggle .caret,.nav-pills .active .dropdown-toggle .caret{border-top-color:#333333;border-bottom-color:#333333;} 490 | .nav>.dropdown.active>a:hover{color:#000000;cursor:pointer;} 491 | .nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;} 492 | .nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;opacity:1;filter:alpha(opacity=100);} 493 | .tabs-stacked .open>a:hover{border-color:#999999;} 494 | .tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";} 495 | .tabbable:after{clear:both;} 496 | .tab-content{display:table;width:100%;} 497 | .tabs-below .nav-tabs,.tabs-right .nav-tabs,.tabs-left .nav-tabs{border-bottom:0;} 498 | .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;} 499 | .tab-content>.active,.pill-content>.active{display:block;} 500 | .tabs-below .nav-tabs{border-top:1px solid #ddd;} 501 | .tabs-below .nav-tabs>li{margin-top:-1px;margin-bottom:0;} 502 | .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;} 503 | .tabs-below .nav-tabs .active>a,.tabs-below .nav-tabs .active>a:hover{border-color:transparent #ddd #ddd #ddd;} 504 | .tabs-left .nav-tabs>li,.tabs-right .nav-tabs>li{float:none;} 505 | .tabs-left .nav-tabs>li>a,.tabs-right .nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;} 506 | .tabs-left .nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;} 507 | .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;} 508 | .tabs-left .nav-tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;} 509 | .tabs-left .nav-tabs .active>a,.tabs-left .nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;} 510 | .tabs-right .nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;} 511 | .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;} 512 | .tabs-right .nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;} 513 | .tabs-right .nav-tabs .active>a,.tabs-right .nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;} 514 | .navbar{*position:relative;*z-index:2;overflow:visible;margin-bottom:18px;} 515 | .navbar-inner{padding-left:20px;padding-right:20px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);} 516 | .navbar .container{width:auto;} 517 | .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);filter:progid:dximagetransform.microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.075);}.btn-navbar:hover,.btn-navbar:active,.btn-navbar.active,.btn-navbar.disabled,.btn-navbar[disabled]{background-color:#222222;} 518 | .btn-navbar:active,.btn-navbar.active{background-color:#080808 \9;} 519 | .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);} 520 | .btn-navbar .icon-bar+.icon-bar{margin-top:3px;} 521 | .nav-collapse.collapse{height:auto;} 522 | .navbar{color:#999999;}.navbar .brand:hover{text-decoration:none;} 523 | .navbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;font-size:20px;font-weight:200;line-height:1;color:#ffffff;} 524 | .navbar .navbar-text{margin-bottom:0;line-height:40px;} 525 | .navbar .btn,.navbar .btn-group{margin-top:5px;} 526 | .navbar .btn-group .btn{margin-top:0;} 527 | .navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";} 528 | .navbar-form:after{clear:both;} 529 | .navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px;} 530 | .navbar-form input,.navbar-form select{display:inline-block;margin-bottom:0;} 531 | .navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;} 532 | .navbar-form .input-append,.navbar-form .input-prepend{margin-top:6px;white-space:nowrap;}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0;} 533 | .navbar-search{position:relative;float:left;margin-top:6px;margin-bottom:0;}.navbar-search .search-query{padding:4px 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;color:#ffffff;background-color:#626262;border:1px solid #151515;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.15);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.navbar-search .search-query:-moz-placeholder{color:#cccccc;} 534 | .navbar-search .search-query::-webkit-input-placeholder{color:#cccccc;} 535 | .navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;} 536 | .navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;} 537 | .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;} 538 | .navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;} 539 | .navbar-fixed-top{top:0;} 540 | .navbar-fixed-bottom{bottom:0;} 541 | .navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;} 542 | .navbar .nav.pull-right{float:right;} 543 | .navbar .nav>li{display:block;float:left;} 544 | .navbar .nav>li>a{float:none;padding:10px 10px 11px;line-height:19px;color:#999999;text-decoration:none;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);} 545 | .navbar .nav>li>a:hover{background-color:transparent;color:#ffffff;text-decoration:none;} 546 | .navbar .nav .active>a,.navbar .nav .active>a:hover{color:#ffffff;text-decoration:none;background-color:#222222;} 547 | .navbar .divider-vertical{height:40px;width:1px;margin:0 9px;overflow:hidden;background-color:#222222;border-right:1px solid #333333;} 548 | .navbar .nav.pull-right{margin-left:10px;margin-right:0;} 549 | .navbar .dropdown-menu{margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.navbar .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;} 550 | .navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;position:absolute;top:-6px;left:10px;} 551 | .navbar-fixed-bottom .dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0, 0, 0, 0.2);border-bottom:0;bottom:-7px;top:auto;} 552 | .navbar-fixed-bottom .dropdown-menu:after{border-top:6px solid #ffffff;border-bottom:0;bottom:-6px;top:auto;} 553 | .navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} 554 | .navbar .nav .active .caret{opacity:1;filter:alpha(opacity=100);} 555 | .navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;} 556 | .navbar .nav .active>.dropdown-toggle:hover{color:#ffffff;} 557 | .navbar .nav.pull-right .dropdown-menu,.navbar .nav .dropdown-menu.pull-right{left:auto;right:0;}.navbar .nav.pull-right .dropdown-menu:before,.navbar .nav .dropdown-menu.pull-right:before{left:auto;right:12px;} 558 | .navbar .nav.pull-right .dropdown-menu:after,.navbar .nav .dropdown-menu.pull-right:after{left:auto;right:13px;} 559 | .breadcrumb{padding:7px 14px;margin:0 0 18px;list-style:none;background-color:#fbfbfb;background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);background-image:-o-linear-gradient(top, #ffffff, #f5f5f5);background-image:linear-gradient(top, #ffffff, #f5f5f5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;}.breadcrumb li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #ffffff;} 560 | .breadcrumb .divider{padding:0 5px;color:#999999;} 561 | .breadcrumb .active a{color:#333333;} 562 | .pagination{height:36px;margin:18px 0;} 563 | .pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);} 564 | .pagination li{display:inline;} 565 | .pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0;} 566 | .pagination a:hover,.pagination .active a{background-color:#f5f5f5;} 567 | .pagination .active a{color:#999999;cursor:default;} 568 | .pagination .disabled span,.pagination .disabled a,.pagination .disabled a:hover{color:#999999;background-color:transparent;cursor:default;} 569 | .pagination li:first-child a{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} 570 | .pagination li:last-child a{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;} 571 | .pagination-centered{text-align:center;} 572 | .pagination-right{text-align:right;} 573 | .pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";} 574 | .pager:after{clear:both;} 575 | .pager li{display:inline;} 576 | .pager a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} 577 | .pager a:hover{text-decoration:none;background-color:#f5f5f5;} 578 | .pager .next a{float:right;} 579 | .pager .previous a{float:left;} 580 | .pager .disabled a,.pager .disabled a:hover{color:#999999;background-color:#fff;cursor:default;} 581 | .modal-open .dropdown-menu{z-index:2050;} 582 | .modal-open .dropdown.open{*z-index:2050;} 583 | .modal-open .popover{z-index:2060;} 584 | .modal-open .tooltip{z-index:2070;} 585 | .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;} 586 | .modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);} 587 | .modal{position:fixed;top:50%;left:50%;z-index:1050;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-ms-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;} 588 | .modal.fade.in{top:50%;} 589 | .modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;} 590 | .modal-body{overflow-y:auto;max-height:400px;padding:15px;} 591 | .modal-form{margin-bottom:0;} 592 | .modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";} 593 | .modal-footer:after{clear:both;} 594 | .modal-footer .btn+.btn{margin-left:5px;margin-bottom:0;} 595 | .modal-footer .btn-group .btn+.btn{margin-left:-1px;} 596 | .tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} 597 | .tooltip.top{margin-top:-2px;} 598 | .tooltip.right{margin-left:2px;} 599 | .tooltip.bottom{margin-top:2px;} 600 | .tooltip.left{margin-left:-2px;} 601 | .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} 602 | .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;} 603 | .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;} 604 | .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;} 605 | .tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} 606 | .tooltip-arrow{position:absolute;width:0;height:0;} 607 | .popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px;}.popover.top{margin-top:-5px;} 608 | .popover.right{margin-left:5px;} 609 | .popover.bottom{margin-top:5px;} 610 | .popover.left{margin-left:-5px;} 611 | .popover.top .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} 612 | .popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;} 613 | .popover.bottom .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;} 614 | .popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;} 615 | .popover .arrow{position:absolute;width:0;height:0;} 616 | .popover-inner{padding:3px;width:280px;overflow:hidden;background:#000000;background:rgba(0, 0, 0, 0.8);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);} 617 | .popover-title{padding:9px 15px;line-height:1;background-color:#f5f5f5;border-bottom:1px solid #eee;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;} 618 | .popover-content{padding:14px;background-color:#ffffff;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0;} 619 | .thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";} 620 | .thumbnails:after{clear:both;} 621 | .thumbnails>li{float:left;margin:0 0 18px 20px;} 622 | .thumbnail{display:block;padding:4px;line-height:1;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);} 623 | 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);} 624 | .thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;} 625 | .thumbnail .caption{padding:9px;} 626 | .label{padding:1px 4px 2px;font-size:10.998px;font-weight:bold;line-height:13px;color:#ffffff;vertical-align:middle;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} 627 | .label:hover{color:#ffffff;text-decoration:none;} 628 | .label-important{background-color:#b94a48;} 629 | .label-important:hover{background-color:#953b39;} 630 | .label-warning{background-color:#f89406;} 631 | .label-warning:hover{background-color:#c67605;} 632 | .label-success{background-color:#468847;} 633 | .label-success:hover{background-color:#356635;} 634 | .label-info{background-color:#3a87ad;} 635 | .label-info:hover{background-color:#2d6987;} 636 | .label-inverse{background-color:#333333;} 637 | .label-inverse:hover{background-color:#1a1a1a;} 638 | .badge{padding:1px 9px 2px;font-size:12.025px;font-weight:bold;white-space:nowrap;color:#ffffff;background-color:#999999;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;} 639 | .badge:hover{color:#ffffff;text-decoration:none;cursor:pointer;} 640 | .badge-error{background-color:#b94a48;} 641 | .badge-error:hover{background-color:#953b39;} 642 | .badge-warning{background-color:#f89406;} 643 | .badge-warning:hover{background-color:#c67605;} 644 | .badge-success{background-color:#468847;} 645 | .badge-success:hover{background-color:#356635;} 646 | .badge-info{background-color:#3a87ad;} 647 | .badge-info:hover{background-color:#2d6987;} 648 | .badge-inverse{background-color:#333333;} 649 | .badge-inverse:hover{background-color:#1a1a1a;} 650 | @-webkit-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@-ms-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-ms-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(top, #f5f5f5, #f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} 651 | .progress .bar{width:0%;height:18px;color:#ffffff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-ms-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));background-image:-webkit-linear-gradient(top, #149bdf, #0480be);background-image:-o-linear-gradient(top, #149bdf, #0480be);background-image:linear-gradient(top, #149bdf, #0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width 0.6s ease;-moz-transition:width 0.6s ease;-ms-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;} 652 | .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:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;} 653 | .progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;} 654 | .progress-danger .bar{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);} 655 | .progress-danger.progress-striped .bar{background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} 656 | .progress-success .bar{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);} 657 | .progress-success.progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} 658 | .progress-info .bar{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);} 659 | .progress-info.progress-striped .bar{background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} 660 | .progress-warning .bar{background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-ms-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(top, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);} 661 | .progress-warning.progress-striped .bar{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:-ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} 662 | .accordion{margin-bottom:18px;} 663 | .accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} 664 | .accordion-heading{border-bottom:0;} 665 | .accordion-heading .accordion-toggle{display:block;padding:8px 15px;} 666 | .accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;} 667 | .carousel{position:relative;margin-bottom:18px;line-height:1;} 668 | .carousel-inner{overflow:hidden;width:100%;position:relative;} 669 | .carousel .item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-moz-transition:0.6s ease-in-out left;-ms-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;} 670 | .carousel .item>img{display:block;line-height:1;} 671 | .carousel .active,.carousel .next,.carousel .prev{display:block;} 672 | .carousel .active{left:0;} 673 | .carousel .next,.carousel .prev{position:absolute;top:0;width:100%;} 674 | .carousel .next{left:100%;} 675 | .carousel .prev{left:-100%;} 676 | .carousel .next.left,.carousel .prev.right{left:0;} 677 | .carousel .active.left{left:-100%;} 678 | .carousel .active.right{left:100%;} 679 | .carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);}.carousel-control.right{left:auto;right:15px;} 680 | .carousel-control:hover{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);} 681 | .carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 15px 5px;background:#333333;background:rgba(0, 0, 0, 0.75);} 682 | .carousel-caption h4,.carousel-caption p{color:#ffffff;} 683 | .hero-unit{padding:60px;margin-bottom:30px;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;} 684 | .hero-unit p{font-size:18px;font-weight:200;line-height:27px;color:inherit;} 685 | .pull-right{float:right;} 686 | .pull-left{float:left;} 687 | .hide{display:none;} 688 | .show{display:block;} 689 | .invisible{visibility:hidden;} 690 | --------------------------------------------------------------------------------