├── .gitignore ├── README.md ├── README.txt ├── README_en.txt ├── css ├── jquery.css └── termite.css ├── img ├── feature_divide.png ├── header_bg.jpg ├── main_bg.png ├── main_bg.png.bak ├── nav_bg.png ├── sprite.png └── tabbg.png ├── index-en.html ├── index.html ├── js ├── bootstrap.js ├── jquery-1.js ├── jquery-lang.js ├── jquery.js └── zh_cn.js └── termite_img ├── feature01.png ├── feature02.png ├── feature03.png ├── feature04.png ├── feature05.png └── feature06.png /.gitignore: -------------------------------------------------------------------------------- 1 | <<<<<<< HEAD 2 | .DS_Store 3 | download/.DS_Store 4 | _site/ 5 | ======= 6 | _site/ 7 | _drafts/ 8 | .DS_Store 9 | >>>>>>> a69eb28787f880dad8e18669effd8bb44663584e 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | --- 2 | name : Termite 用法 3 | --- 4 | 5 | # Usage 6 | 7 | 1. 以服务模式启动一个agent服务。 8 | 9 | > $ ./agent -l 8888 10 | 11 | 2. 令管理端连接到agent并对agent进行管理。 12 | 13 | > $ ./admin -c 127.0.0.1 -p 8888 14 | 15 | 3. 此时,admin端会得到一个内置的shell, 输入help指令可以得到帮助信息。 16 | 17 | >> help 18 | 19 | 4. 通过show指令可以得到当前agent的拓扑情况。 20 | 21 | >> show 22 | 0M 23 | +-- 1M 24 | 由于当前拓扑中只有一个agent,所以展示结果只有 1M , 25 | 其中1 为节点的ID号, 26 | M为MacOS系统的简写,Linux为L,Windows简写为W。 27 | 28 | 5. 将新agent加入当前拓扑 29 | > ./agent -c 127.0.0.1 -p 8888 30 | 31 | 6. 此时show指令将得到如下效果 32 | 0M 33 | +-- 1M 34 | | +-- 2M 35 | 这表明,当前拓扑中有两个节点,其中由于2节点需要通过1节点才能访问,所以下挂在1节点下方。 36 | 37 | 7. 在2节点开启socks代理,并绑定在本地端口 38 | >> goto 2 39 | 将当前被管理节点切换为 2 号节点。 40 | >> socks 1080 41 | 此时,本地1080 端口会启动个监听服务,而服务提供者为2号节点。 42 | 43 | 8. 在1号节点开启一个shell并绑定到本地端口 44 | >> goto 1 45 | >> shell 7777 46 | 此时,通过nc本地的 7777 端口,就可以得到一个 1 节点提供的 shell. 47 | 48 | 9. 将远程的文件下载至本地 49 | >> goto 1 50 | >> downfile 1.txt 2.txt 51 | 将1 节点,目录下的 1.txt 下载至本地,并命名为2.txt 52 | 53 | 10. 上传文件至远程节点 54 | >> goto 2 55 | >> upfile 2.txt 3.txt 56 | 将本地的 2.txt 上传至 2号节点的目录,并命名为3.txt 57 | 58 | 11. 端口转接 59 | >> goto 2 60 | >> lcxtran 3388 10.0.0.1 3389 61 | 以2号节点为跳板,将 10.0.0.1 的 3389 端口映射至本地的 3388 端口 62 | 63 | 64 | # 更多支持 65 | http://rootkiter.com/toolvideo/toolmp4/1maintalk.mp4 66 | http://rootkiter.com/toolvideo/toolmp4/2socks.mp4 67 | http://rootkiter.com/toolvideo/toolmp4/3lcxtran.mp4 68 | http://rootkiter.com/toolvideo/toolmp4/4shell.mp4 69 | http://rootkiter.com/toolvideo/toolmp4/5file.mp4 70 | 71 | # 联系作者 72 | rootkiter@rootkiter.com 73 | -------------------------------------------------------------------------------- /README.txt: -------------------------------------------------------------------------------- 1 | --- 2 | name : Termite 用法 3 | --- 4 | 5 | # Usage 6 | 7 | 1. 以服务模式启动一个agent服务。 8 | 9 | > $ ./agent -l 8888 10 | 11 | 2. 令管理端连接到agent并对agent进行管理。 12 | 13 | > $ ./admin -c 127.0.0.1 -p 8888 14 | 15 | 3. 此时,admin端会得到一个内置的shell, 输入help指令可以得到帮助信息。 16 | 17 | >> help 18 | 19 | 4. 通过show指令可以得到当前agent的拓扑情况。 20 | 21 | >> show 22 | 0M 23 | +-- 1M 24 | 由于当前拓扑中只有一个agent,所以展示结果只有 1M , 25 | 其中1 为节点的ID号, 26 | M为MacOS系统的简写,Linux为L,Windows简写为W。 27 | 28 | 5. 将新agent加入当前拓扑 29 | > ./agent -c 127.0.0.1 -p 8888 30 | 31 | 6. 此时show指令将得到如下效果 32 | 0M 33 | +-- 1M 34 | | +-- 2M 35 | 这表明,当前拓扑中有两个节点,其中由于2节点需要通过1节点才能访问,所以下挂在1节点下方。 36 | 37 | 7. 在2节点开启socks代理,并绑定在本地端口 38 | >> goto 2 39 | 将当前被管理节点切换为 2 号节点。 40 | >> socks 1080 41 | 此时,本地1080 端口会启动个监听服务,而服务提供者为2号节点。 42 | 43 | 8. 在1号节点开启一个shell并绑定到本地端口 44 | >> goto 1 45 | >> shell 7777 46 | 此时,通过nc本地的 7777 端口,就可以得到一个 1 节点提供的 shell. 47 | 48 | 9. 将远程的文件下载至本地 49 | >> goto 1 50 | >> downfile 1.txt 2.txt 51 | 将1 节点,目录下的 1.txt 下载至本地,并命名为2.txt 52 | 53 | 10. 上传文件至远程节点 54 | >> goto 2 55 | >> upfile 2.txt 3.txt 56 | 将本地的 2.txt 上传至 2号节点的目录,并命名为3.txt 57 | 58 | 11. 端口转接 59 | >> goto 2 60 | >> lcxtran 3388 10.0.0.1 3389 61 | 以2号节点为跳板,将 10.0.0.1 的 3389 端口映射至本地的 3388 端口 62 | 63 | 64 | # 更多支持 65 | http://rootkiter.com/toolvideo/toolmp4/1maintalk.mp4 66 | http://rootkiter.com/toolvideo/toolmp4/2socks.mp4 67 | http://rootkiter.com/toolvideo/toolmp4/3lcxtran.mp4 68 | http://rootkiter.com/toolvideo/toolmp4/4shell.mp4 69 | http://rootkiter.com/toolvideo/toolmp4/5file.mp4 70 | 71 | # 联系作者 72 | rootkiter@rootkiter.com 73 | -------------------------------------------------------------------------------- /README_en.txt: -------------------------------------------------------------------------------- 1 | --- 2 | name : Termite 3 | --- 4 | 5 | # Usage 6 | 7 | 1. Node in service mode. 8 | 9 | > $ ./agent -l 8888 10 | 11 | 2. Use admin (client mode) to connect the node above. 12 | 13 | > $ ./admin -c 127.0.0.1 -p 8888 14 | 15 | 3. You will get a built-in shell and get help through the help command. 16 | 17 | >> help 18 | 19 | 4. Check current node topology. 20 | 21 | >> show 22 | 0M 23 | +-- 1M 24 | 25 | * There is currently only one node. 26 | * Its ID is 1. 27 | * M --> MacOS, L --> Linux, W --> Windows 28 | 29 | 5. Add a new node ( client mode ). 30 | > ./agent -c 127.0.0.1 -p 8888 31 | 32 | 6. Check current node topology. 33 | 0M 34 | +-- 1M 35 | | +-- 2M 36 | 37 | * Now there are two node, and the 2 node is located below the 1 node. 38 | 39 | 7. Binding a socks service for node 2 at the local port. 40 | >> goto 2 41 | Switch 2 node. 42 | >> socks 1080 43 | A 1080 port socks service will appear on the local machine, but the provider of the service is node 2. 44 | localhost:1080 -----> [@2-node] socks service. 45 | 46 | 8. Binding a shell services for node 1 at the local port. 47 | >> goto 1 48 | >> shell 7777 49 | nc 127.0.0.1 7777, you will catch it. And the provider of the service is node 1. 50 | localhost:7777 -----> [@1-node] shell console. 51 | 52 | 9. Download file from remote node. 53 | >> goto 1 54 | >> downfile 1.txt 2.txt 55 | [@1-node] 1.txt ------> [@localhost] 2.txt 56 | 57 | 10. Upload file from local machine. 58 | >> goto 2 59 | >> upfile 2.txt 3.txt 60 | [@localhost] 2.txt ------> [@2-node] 3.txt 61 | 62 | 11. Port forwarding 63 | >> goto 2 64 | >> lcxtran 3388 10.0.0.1 3389 65 | localhost:3388 -------> [@2-node] 10.0.0.1:3389 66 | 67 | 68 | # Videos [Chinese...] 69 | http://rootkiter.com/toolvideo/toolmp4/1maintalk.mp4 70 | http://rootkiter.com/toolvideo/toolmp4/2socks.mp4 71 | http://rootkiter.com/toolvideo/toolmp4/3lcxtran.mp4 72 | http://rootkiter.com/toolvideo/toolmp4/4shell.mp4 73 | http://rootkiter.com/toolvideo/toolmp4/5file.mp4 74 | 75 | # Author: 76 | rootkiter@rootkiter.com 77 | -------------------------------------------------------------------------------- /css/jquery.css: -------------------------------------------------------------------------------- 1 | /* 2 | * FancyBox - jQuery Plugin 3 | * Simple and fancy lightbox alternative 4 | * 5 | * Examples and documentation at: http://fancybox.net 6 | * 7 | * Copyright (c) 2008 - 2010 Janis Skarnelis 8 | * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. 9 | * 10 | * Version: 1.3.4 (11/11/2010) 11 | * Requires: jQuery v1.3+ 12 | * 13 | * Dual licensed under the MIT and GPL licenses: 14 | * http://www.opensource.org/licenses/mit-license.php 15 | * http://www.gnu.org/licenses/gpl.html 16 | */ 17 | 18 | #fancybox-loading { 19 | position: fixed; 20 | top: 50%; 21 | left: 50%; 22 | width: 40px; 23 | height: 40px; 24 | margin-top: -20px; 25 | margin-left: -20px; 26 | cursor: pointer; 27 | overflow: hidden; 28 | z-index: 1104; 29 | display: none; 30 | } 31 | 32 | #fancybox-loading div { 33 | position: absolute; 34 | top: 0; 35 | left: 0; 36 | width: 40px; 37 | height: 540px; 38 | background-image: url('../img/fancybox/fancybox.png'); 39 | } 40 | 41 | #fancybox-overlay { 42 | position: absolute; 43 | top: 0; 44 | left: 0; 45 | width: 100%; 46 | z-index: 1100; 47 | display: none; 48 | } 49 | 50 | #fancybox-tmp { 51 | padding: 0; 52 | margin: 0; 53 | border: 0; 54 | overflow: auto; 55 | display: none; 56 | } 57 | 58 | #fancybox-wrap { 59 | position: absolute; 60 | top: 0; 61 | left: 0; 62 | padding: 20px; 63 | z-index: 1101; 64 | outline: none; 65 | display: none; 66 | } 67 | 68 | #fancybox-outer { 69 | position: relative; 70 | width: 100%; 71 | height: 100%; 72 | background: transparent; 73 | } 74 | 75 | #fancybox-content { 76 | width: 0; 77 | height: 0; 78 | padding: 0; 79 | outline: none; 80 | position: relative; 81 | overflow: hidden; 82 | z-index: 1102; 83 | border: 0px solid rgba(0,0,0,.6); 84 | border-radius: 5px; 85 | background:black; 86 | } 87 | 88 | #fancybox-hide-sel-frame { 89 | position: absolute; 90 | top: 0; 91 | left: 0; 92 | width: 100%; 93 | height: 100%; 94 | background: transparent; 95 | z-index: 1101; 96 | } 97 | 98 | #fancybox-close { 99 | position: absolute; 100 | top: -15px; 101 | left: -15px; 102 | width: 30px; 103 | height: 30px; 104 | background: transparent url('../img/fancybox/fancybox.png') -40px 0px; 105 | cursor: pointer; 106 | z-index: 1103; 107 | display: none; 108 | } 109 | 110 | #fancybox-error { 111 | color: #444; 112 | font: normal 12px/20px Arial; 113 | padding: 14px; 114 | margin: 0; 115 | } 116 | 117 | #fancybox-img { 118 | width: 100%; 119 | height: 100%; 120 | padding: 0; 121 | margin: 0; 122 | border: none; 123 | outline: none; 124 | line-height: 0; 125 | vertical-align: top; 126 | } 127 | 128 | #fancybox-frame { 129 | width: 100%; 130 | height: 100%; 131 | border: none; 132 | display: block; 133 | } 134 | 135 | #fancybox-left, #fancybox-right { 136 | position: absolute; 137 | bottom: 0px; 138 | height: 100%; 139 | width: 35%; 140 | cursor: pointer; 141 | outline: none; 142 | background: transparent url('../img/fancybox/blank.gif'); 143 | z-index: 1102; 144 | display: none; 145 | } 146 | 147 | #fancybox-left { 148 | left: 0px; 149 | } 150 | 151 | #fancybox-right { 152 | right: 0px; 153 | } 154 | 155 | #fancybox-left-ico, #fancybox-right-ico { 156 | position: absolute; 157 | top: 50%; 158 | left: -9999px; 159 | width: 30px; 160 | height: 30px; 161 | margin-top: -15px; 162 | cursor: pointer; 163 | z-index: 1102; 164 | display: block; 165 | } 166 | 167 | #fancybox-left-ico { 168 | background-image: url('../img/fancybox/fancybox.png'); 169 | background-position: -40px -30px; 170 | } 171 | 172 | #fancybox-right-ico { 173 | background-image: url('../img/fancybox/fancybox.png'); 174 | background-position: -40px -60px; 175 | } 176 | 177 | #fancybox-left:hover, #fancybox-right:hover { 178 | visibility: visible; /* IE6 */ 179 | } 180 | 181 | #fancybox-left:hover span { 182 | left: 20px; 183 | } 184 | 185 | #fancybox-right:hover span { 186 | left: auto; 187 | right: 20px; 188 | } 189 | 190 | .fancybox-bg { 191 | position: absolute; 192 | padding: 0; 193 | margin: 0; 194 | border: 0; 195 | width: 20px; 196 | height: 20px; 197 | z-index: 1001; 198 | } 199 | 200 | #fancybox-bg-n { 201 | top: -20px; 202 | left: 0; 203 | width: 100%; 204 | background-image: url('../img/fancybox/fancybox-x.png'); 205 | } 206 | 207 | #fancybox-bg-ne { 208 | top: -20px; 209 | right: -20px; 210 | background-image: url('../img/fancybox/fancybox.png'); 211 | background-position: -40px -162px; 212 | } 213 | 214 | #fancybox-bg-e { 215 | top: 0; 216 | right: -20px; 217 | height: 100%; 218 | background-image: url('../img/fancybox/fancybox-y.png'); 219 | background-position: -20px 0px; 220 | } 221 | 222 | #fancybox-bg-se { 223 | bottom: -20px; 224 | right: -20px; 225 | background-image: url('../img/fancybox/fancybox.png'); 226 | background-position: -40px -182px; 227 | } 228 | 229 | #fancybox-bg-s { 230 | bottom: -20px; 231 | left: 0; 232 | width: 100%; 233 | background-image: url('../img/fancybox/fancybox-x.png'); 234 | background-position: 0px -20px; 235 | } 236 | 237 | #fancybox-bg-sw { 238 | bottom: -20px; 239 | left: -20px; 240 | background-image: url('../img/fancybox/fancybox.png'); 241 | background-position: -40px -142px; 242 | } 243 | 244 | #fancybox-bg-w { 245 | top: 0; 246 | left: -20px; 247 | height: 100%; 248 | background-image: url('../img/fancybox/fancybox-y.png'); 249 | } 250 | 251 | #fancybox-bg-nw { 252 | top: -20px; 253 | left: -20px; 254 | background-image: url('../img/fancybox/fancybox.png'); 255 | background-position: -40px -122px; 256 | } 257 | 258 | #fancybox-title { 259 | font-family: Helvetica; 260 | font-size: 12px; 261 | z-index: 1102; 262 | } 263 | 264 | .fancybox-title-inside { 265 | padding-bottom: 10px; 266 | text-align: center; 267 | color: #333; 268 | background: #fff; 269 | position: relative; 270 | } 271 | 272 | .fancybox-title-outside { 273 | padding-top: 10px; 274 | color: #fff; 275 | } 276 | 277 | .fancybox-title-over { 278 | position: absolute; 279 | bottom: 0; 280 | left: 0; 281 | color: #FFF; 282 | text-align: left; 283 | } 284 | 285 | #fancybox-title-over { 286 | padding: 10px; 287 | background-image: url('../img/fancybox/fancy_title_over.png'); 288 | display: block; 289 | } 290 | 291 | .fancybox-title-float { 292 | position: absolute; 293 | left: 0; 294 | bottom: -20px; 295 | height: 32px; 296 | } 297 | 298 | #fancybox-title-float-wrap { 299 | border: none; 300 | border-collapse: collapse; 301 | width: auto; 302 | } 303 | 304 | #fancybox-title-float-wrap td { 305 | border: none; 306 | white-space: nowrap; 307 | } 308 | 309 | #fancybox-title-float-left { 310 | padding: 0 0 0 15px; 311 | background: url('../img/fancybox/fancybox.png') -40px -90px no-repeat; 312 | } 313 | 314 | #fancybox-title-float-main { 315 | color: #FFF; 316 | line-height: 29px; 317 | font-weight: bold; 318 | padding: 0 0 3px 0; 319 | background: url('../img/fancybox/fancybox-x.png') 0px -40px; 320 | } 321 | 322 | #fancybox-title-float-right { 323 | padding: 0 0 0 15px; 324 | background: url('../img/fancybox/fancybox.png') -55px -90px no-repeat; 325 | } 326 | 327 | /* IE6 */ 328 | 329 | .fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_close.png', sizingMethod='scale'); } 330 | 331 | .fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_nav_left.png', sizingMethod='scale'); } 332 | .fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_nav_right.png', sizingMethod='scale'); } 333 | 334 | .fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; } 335 | .fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_title_left.png', sizingMethod='scale'); } 336 | .fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_title_main.png', sizingMethod='scale'); } 337 | .fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_title_right.png', sizingMethod='scale'); } 338 | 339 | .fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame { 340 | height: expression(this.parentNode.clientHeight + "px"); 341 | } 342 | 343 | #fancybox-loading.fancybox-ie6 { 344 | position: absolute; margin-top: 0; 345 | top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'); 346 | } 347 | 348 | #fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_loading.png', sizingMethod='scale'); } 349 | 350 | /* IE6, IE7, IE8 */ 351 | 352 | .fancybox-ie .fancybox-bg { background: transparent !important; } 353 | 354 | .fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_shadow_n.png', sizingMethod='scale'); } 355 | .fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_shadow_ne.png', sizingMethod='scale'); } 356 | .fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_shadow_e.png', sizingMethod='scale'); } 357 | .fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_shadow_se.png', sizingMethod='scale'); } 358 | .fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_shadow_s.png', sizingMethod='scale'); } 359 | .fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_shadow_sw.png', sizingMethod='scale'); } 360 | .fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_shadow_w.png', sizingMethod='scale'); } 361 | .fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/fancybox/fancy_shadow_nw.png', sizingMethod='scale'); } -------------------------------------------------------------------------------- /css/termite.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v2.0.2 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";} 11 | .clearfix:after{clear:both;} 12 | .hide-text{overflow:hidden;text-indent:100%;white-space:nowrap;} 13 | .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;} 14 | article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;} 15 | audio,canvas,video{display:inline-block;*display:inline;*zoom:1;} 16 | audio:not([controls]){display:none;} 17 | html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;} 18 | a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} 19 | a:hover,a:active{outline:0;} 20 | sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;} 21 | sup{top:-0.5em;} 22 | sub{bottom:-0.25em;} 23 | img{height:auto;border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;} 24 | button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;} 25 | button,input{*overflow:visible;line-height:normal;} 26 | button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;} 27 | button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;} 28 | input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;} 29 | input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;} 30 | textarea{overflow:auto;vertical-align:top;} 31 | body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#ffffff;background:#1e1e1e;} 32 | a{color:#238bcd;text-decoration:none;} 33 | a:hover{color:#5aaee3;text-decoration:underline;} 34 | .container{margin-left:auto;margin-right:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";} 35 | .container:after{clear:both;} 36 | .container-fluid{padding-left:20px;padding-right:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";} 37 | .container-fluid:after{clear:both;} 38 | p{margin:0 0 11px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:22px;}p small{font-size:12px;color:#999999;} 39 | .lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px;} 40 | 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;} 41 | h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;} 42 | h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;} 43 | h3{line-height:27px;font-size:18px;}h3 small{font-size:14px;} 44 | h4,h5,h6{line-height:18px;} 45 | h4{font-size:14px;}h4 small{font-size:12px;} 46 | h5{font-size:12px;} 47 | h6{font-size:11px;color:#999999;text-transform:uppercase;} 48 | .page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eeeeee;} 49 | .page-header h1{line-height:1;} 50 | ul,ol{padding:0;margin:0 0 9px 25px;} 51 | ul ul,ul ol,ol ol,ol ul{margin-bottom:0;} 52 | ul{list-style:disc;} 53 | ol{list-style:decimal;} 54 | li{line-height:20px;} 55 | ul.unstyled,ol.unstyled{margin-left:0;list-style:none;} 56 | dl{margin-bottom:18px;} 57 | dt,dd{line-height:18px;} 58 | dt{font-weight:bold;line-height:17px;} 59 | dd{margin-left:9px;} 60 | .dl-horizontal dt{float:left;clear:left;width:120px;text-align:right;} 61 | .dl-horizontal dd{margin-left:130px;} 62 | hr{margin:18px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;} 63 | strong{font-weight:bold;} 64 | em{font-style:italic;} 65 | .muted{color:#999999;} 66 | abbr[title]{border-bottom:1px dotted #ddd;cursor:help;} 67 | abbr.initialism{font-size:90%;text-transform:uppercase;} 68 | 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;} 69 | blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';} 70 | 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;} 71 | q:before,q:after,blockquote:before,blockquote:after{content:"";} 72 | address{display:block;margin-bottom:18px;line-height:18px;font-style:normal;} 73 | small{font-size:100%;} 74 | cite{font-style:normal;} 75 | 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;} 76 | code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;} 77 | 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;} 78 | pre code{padding:0;color:inherit;background-color:transparent;border:0;} 79 | .pre-scrollable{max-height:340px;overflow-y:scroll;} 80 | .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;} 81 | .label:hover{color:#ffffff;text-decoration:none;} 82 | .label-important{background-color:#b94a48;} 83 | .label-important:hover{background-color:#953b39;} 84 | .label-warning{background-color:#f89406;} 85 | .label-warning:hover{background-color:#c67605;} 86 | .label-success{background-color:#468847;} 87 | .label-success:hover{background-color:#356635;} 88 | .label-info{background-color:#3a87ad;} 89 | .label-info:hover{background-color:#2d6987;} 90 | .label-inverse{background-color:#333333;} 91 | .label-inverse:hover{background-color:#1a1a1a;} 92 | .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;} 93 | .badge:hover{color:#ffffff;text-decoration:none;cursor:pointer;} 94 | .badge-error{background-color:#b94a48;} 95 | .badge-error:hover{background-color:#953b39;} 96 | .badge-warning{background-color:#f89406;} 97 | .badge-warning:hover{background-color:#c67605;} 98 | .badge-success{background-color:#468847;} 99 | .badge-success:hover{background-color:#356635;} 100 | .badge-info{background-color:#3a87ad;} 101 | .badge-info:hover{background-color:#2d6987;} 102 | .badge-inverse{background-color:#333333;} 103 | .badge-inverse:hover{background-color:#1a1a1a;} 104 | table{max-width:100%;border-collapse:collapse;border-spacing:0;background-color:transparent;} 105 | .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;} 106 | .table th{font-weight:bold;} 107 | .table thead th{vertical-align:bottom;} 108 | .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;} 109 | .table tbody+tbody{border-top:2px solid #dddddd;} 110 | .table-condensed th,.table-condensed td{padding:4px 5px;} 111 | .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;} 112 | .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;} 113 | .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;} 114 | .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;} 115 | .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;} 116 | .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;} 117 | .table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;} 118 | .table tbody tr:hover td,.table tbody tr:hover th{background-color:#f5f5f5;} 119 | table .span1{float:none;width:44px;margin-left:0;} 120 | table .span2{float:none;width:124px;margin-left:0;} 121 | table .span3{float:none;width:204px;margin-left:0;} 122 | table .span4{float:none;width:284px;margin-left:0;} 123 | table .span5{float:none;width:364px;margin-left:0;} 124 | table .span6{float:none;width:444px;margin-left:0;} 125 | table .span7{float:none;width:524px;margin-left:0;} 126 | table .span8{float:none;width:604px;margin-left:0;} 127 | table .span9{float:none;width:684px;margin-left:0;} 128 | table .span10{float:none;width:764px;margin-left:0;} 129 | table .span11{float:none;width:844px;margin-left:0;} 130 | table .span12{float:none;width:924px;margin-left:0;} 131 | table .span13{float:none;width:1004px;margin-left:0;} 132 | table .span14{float:none;width:1084px;margin-left:0;} 133 | table .span15{float:none;width:1164px;margin-left:0;} 134 | table .span16{float:none;width:1244px;margin-left:0;} 135 | table .span17{float:none;width:1324px;margin-left:0;} 136 | table .span18{float:none;width:1404px;margin-left:0;} 137 | table .span19{float:none;width:1484px;margin-left:0;} 138 | table .span20{float:none;width:1564px;margin-left:0;} 139 | table .span21{float:none;width:1644px;margin-left:0;} 140 | table .span22{float:none;width:1724px;margin-left:0;} 141 | table .span23{float:none;width:1804px;margin-left:0;} 142 | table .span24{float:none;width:1884px;margin-left:0;} 143 | form{margin:0 0 18px;} 144 | fieldset{padding:0;margin:0;border:0;} 145 | 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;} 146 | label,input,button,select,textarea{font-size:13px;font-weight:normal;line-height:18px;} 147 | input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;} 148 | label{display:block;margin-bottom:5px;color:#333333;} 149 | 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;} 150 | .uneditable-textarea{width:auto;height:auto;} 151 | label input,label textarea,label select{display:block;} 152 | 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;} 153 | input[type="image"]{border:0;} 154 | 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;} 155 | input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto;} 156 | select,input[type="file"]{height:28px;*margin-top:4px;line-height:28px;} 157 | input[type="file"]{line-height:18px \9;} 158 | select{width:220px;background-color:#ffffff;} 159 | select[multiple],select[size]{height:auto;} 160 | input[type="image"]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} 161 | textarea{height:auto;} 162 | input[type="hidden"]{display:none;} 163 | .radio,.checkbox{padding-left:18px;} 164 | .radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px;} 165 | .controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;} 166 | .radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;} 167 | .radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;} 168 | 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;} 169 | 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;} 170 | 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;} 171 | .input-mini{width:60px;} 172 | .input-small{width:90px;} 173 | .input-medium{width:150px;} 174 | .input-large{width:210px;} 175 | .input-xlarge{width:270px;} 176 | .input-xxlarge{width:530px;} 177 | input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{float:none;margin-left:0;} 178 | input,textarea,.uneditable-input{margin-left:0;} 179 | input.span12, textarea.span12, .uneditable-input.span12{width:930px;} 180 | input.span11, textarea.span11, .uneditable-input.span11{width:850px;} 181 | input.span10, textarea.span10, .uneditable-input.span10{width:770px;} 182 | input.span9, textarea.span9, .uneditable-input.span9{width:690px;} 183 | input.span8, textarea.span8, .uneditable-input.span8{width:610px;} 184 | input.span7, textarea.span7, .uneditable-input.span7{width:530px;} 185 | input.span6, textarea.span6, .uneditable-input.span6{width:450px;} 186 | input.span5, textarea.span5, .uneditable-input.span5{width:370px;} 187 | input.span4, textarea.span4, .uneditable-input.span4{width:290px;} 188 | input.span3, textarea.span3, .uneditable-input.span3{width:210px;} 189 | input.span2, textarea.span2, .uneditable-input.span2{width:130px;} 190 | input.span1, textarea.span1, .uneditable-input.span1{width:50px;} 191 | input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#eeeeee;border-color:#ddd;cursor:not-allowed;} 192 | .control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;} 193 | .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;} 194 | .control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;} 195 | .control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;} 196 | .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;} 197 | .control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;} 198 | .control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;} 199 | .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;} 200 | .control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;} 201 | 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;} 202 | .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:"";} 203 | .form-actions:after{clear:both;} 204 | .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;} 205 | :-moz-placeholder{color:#999999;} 206 | ::-webkit-input-placeholder{color:#999999;} 207 | .help-block,.help-inline{color:#555555;} 208 | .help-block{display:block;margin-bottom:9px;} 209 | .help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px;} 210 | .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;} 211 | .input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc;} 212 | .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;} 213 | .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;} 214 | .input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546;} 215 | .input-prepend .add-on,.input-prepend .btn{margin-right:-1px;} 216 | .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;} 217 | .input-append .uneditable-input{border-left-color:#eee;border-right-color:#ccc;} 218 | .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;} 219 | .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;} 220 | .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;} 221 | .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;} 222 | .search-query{padding-left:14px;padding-right:14px;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;} 223 | .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;} 224 | .form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none;} 225 | .form-search label,.form-inline label{display:inline-block;} 226 | .form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0;} 227 | .form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle;} 228 | .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;} 229 | .control-group{margin-bottom:9px;} 230 | legend+.control-group{margin-top:18px;-webkit-margin-top-collapse:separate;} 231 | .form-horizontal .control-group{margin-bottom:18px;*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";} 232 | .form-horizontal .control-group:after{clear:both;} 233 | .form-horizontal .control-label{float:left;width:140px;padding-top:5px;text-align:right;} 234 | .form-horizontal .controls{margin-left:160px;*display:inline-block;*margin-left:0;*padding-left:20px;} 235 | .form-horizontal .help-block{margin-top:9px;margin-bottom:0;} 236 | .form-horizontal .form-actions{padding-left:160px;} 237 | .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;} 238 | .btn:active,.btn.active{background-color:#cccccc \9;} 239 | .btn:first-child{*margin-left:0;} 240 | .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;} 241 | .btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} 242 | .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;} 243 | .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;} 244 | .btn-large{padding:9px 14px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} 245 | .btn-large [class^="icon-"]{margin-top:1px;} 246 | .btn-small{padding:5px 9px;font-size:11px;line-height:16px;} 247 | .btn-small [class^="icon-"]{margin-top:-1px;} 248 | .btn-mini{padding:2px 6px;font-size:11px;line-height:14px;} 249 | .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;} 250 | .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);} 251 | .btn-primary{background-color:#237acd;background-image:-moz-linear-gradient(top, #238bcd, #2360cd);background-image:-ms-linear-gradient(top, #238bcd, #2360cd);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#238bcd), to(#2360cd));background-image:-webkit-linear-gradient(top, #238bcd, #2360cd);background-image:-o-linear-gradient(top, #238bcd, #2360cd);background-image:linear-gradient(top, #238bcd, #2360cd);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#238bcd', endColorstr='#2360cd', GradientType=0);border-color:#2360cd #2360cd #18428c;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:#2360cd;} 252 | .btn-primary:active,.btn-primary.active{background-color:#1c4ca1 \9;} 253 | .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;} 254 | .btn-warning:active,.btn-warning.active{background-color:#c67605 \9;} 255 | .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;} 256 | .btn-danger:active,.btn-danger.active{background-color:#942a25 \9;} 257 | .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;} 258 | .btn-success:active,.btn-success.active{background-color:#408140 \9;} 259 | .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;} 260 | .btn-info:active,.btn-info.active{background-color:#24748c \9;} 261 | .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;} 262 | .btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;} 263 | 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;} 264 | button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px;} 265 | button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px;} 266 | button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px;} 267 | [class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;line-height:14px;vertical-align:text-top;background-image:url("../img/sprite.png");background-position:14px 14px;background-repeat:no-repeat;*margin-right:.3em;}[class^="icon-"]:last-child,[class*=" icon-"]:last-child{*margin-left:0;} 268 | .icon-play{ width: 17px; height: 17px; background-position:0 -230px;} 269 | .icon-question{ width: 22px; height: 22px; background-position: 0 -146px;} 270 | .icon-answer{ width: 22px; height: 22px; background-position: 0 -188px;} 271 | .icon-weibo{width: 32px; height: 32px; background-position: 0 -371px;} 272 | .icon-tencentweibo{width: 32px; height: 32px; background-position: 0 -319px;} 273 | .icon-mail{width: 32px; height: 32px; background-position: 0 -267px;} 274 | .icon-tencentweibo_small{width: 24px; height: 24px; background-position: 0 -425px;} 275 | 276 | .btn-group{position:relative;*zoom:1;*margin-left:.3em;}.btn-group:before,.btn-group:after{display:table;content:"";} 277 | .btn-group:after{clear:both;} 278 | .btn-group:first-child{*margin-left:0;} 279 | .btn-group+.btn-group{margin-left:5px;} 280 | .btn-toolbar{margin-top:9px;margin-bottom:9px;}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1;} 281 | .btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 282 | .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;} 283 | .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;} 284 | .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;} 285 | .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;} 286 | .btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active,.btn-group .btn.active{z-index:2;} 287 | .btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;} 288 | .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;} 289 | .btn-group .btn-mini.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:1px;*padding-bottom:1px;} 290 | .btn-group .btn-small.dropdown-toggle{*padding-top:4px;*padding-bottom:4px;} 291 | .btn-group .btn-large.dropdown-toggle{padding-left:12px;padding-right:12px;} 292 | .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;} 293 | .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);} 294 | .btn .caret{margin-top:7px;margin-left:0;} 295 | .btn:hover .caret,.open.btn-group .caret{opacity:1;filter:alpha(opacity=100);} 296 | .btn-mini .caret{margin-top:5px;} 297 | .btn-small .caret{margin-top:6px;} 298 | .btn-large .caret{margin-top:6px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} 299 | .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);} 300 | .nav{margin-left:0;margin-bottom:18px;list-style:none;} 301 | .nav>li>a{display:block;} 302 | .nav>li>a:hover{text-decoration:none;background-color:#eeeeee;} 303 | .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;} 304 | .nav li+.nav-header{margin-top:9px;} 305 | .nav-list{padding-left:15px;padding-right:15px;margin-bottom:0;} 306 | .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);} 307 | .nav-list>li>a{padding:3px 15px;} 308 | .nav-list>.active>a,.nav-list>.active>a:hover{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#238bcd;} 309 | .nav-list [class^="icon-"]{margin-right:2px;} 310 | .nav-list .divider{height:1px;margin:8px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;*width:100%;*margin:-5px 0 5px;} 311 | .nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";} 312 | .nav-tabs:after,.nav-pills:after{clear:both;} 313 | .nav-tabs>li,.nav-pills>li{float:left;} 314 | .nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;} 315 | .nav-tabs{border-bottom:1px solid #ddd;} 316 | .nav-tabs>li{margin-bottom:-1px;} 317 | .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;} 318 | .nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;} 319 | .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;} 320 | .nav-pills>.active>a,.nav-pills>.active>a:hover{color:#ffffff;background-color:#238bcd;} 321 | .nav-stacked>li{float:none;} 322 | .nav-stacked>li>a{margin-right:0;} 323 | .nav-tabs.nav-stacked{border-bottom:0;} 324 | .nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} 325 | .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;} 326 | .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;} 327 | .nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2;} 328 | .nav-pills.nav-stacked>li>a{margin-bottom:3px;} 329 | .nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;} 330 | .nav-tabs .dropdown-menu,.nav-pills .dropdown-menu{margin-top:1px;border-width:1px;} 331 | .nav-pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} 332 | .nav-tabs .dropdown-toggle .caret,.nav-pills .dropdown-toggle .caret{border-top-color:#238bcd;border-bottom-color:#238bcd;margin-top:6px;} 333 | .nav-tabs .dropdown-toggle:hover .caret,.nav-pills .dropdown-toggle:hover .caret{border-top-color:#5aaee3;border-bottom-color:#5aaee3;} 334 | .nav-tabs .active .dropdown-toggle .caret,.nav-pills .active .dropdown-toggle .caret{border-top-color:#333333;border-bottom-color:#333333;} 335 | .nav>.dropdown.active>a:hover{color:#000000;cursor:pointer;} 336 | .nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;} 337 | .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);} 338 | .tabs-stacked .open>a:hover{border-color:#999999;} 339 | .tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";} 340 | .tabbable:after{clear:both;} 341 | .tab-content{display:table;width:100%;} 342 | .tabs-below .nav-tabs,.tabs-right .nav-tabs,.tabs-left .nav-tabs{border-bottom:0;} 343 | .tab-content>.tab-pane,.pill-content>.pill-pane{display:none;} 344 | .tab-content>.active,.pill-content>.active{display:block;} 345 | .tabs-below .nav-tabs{border-top:1px solid #ddd;} 346 | .tabs-below .nav-tabs>li{margin-top:-1px;margin-bottom:0;} 347 | .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;} 348 | .tabs-below .nav-tabs .active>a,.tabs-below .nav-tabs .active>a:hover{border-color:transparent #ddd #ddd #ddd;} 349 | .tabs-left .nav-tabs>li,.tabs-right .nav-tabs>li{float:none;} 350 | .tabs-left .nav-tabs>li>a,.tabs-right .nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;} 351 | .tabs-left .nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;} 352 | .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;} 353 | .tabs-left .nav-tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;} 354 | .tabs-left .nav-tabs .active>a,.tabs-left .nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;} 355 | .tabs-right .nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;} 356 | .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;} 357 | .tabs-right .nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;} 358 | .tabs-right .nav-tabs .active>a,.tabs-right .nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;} 359 | .navbar{*position:relative;*z-index:2;overflow:visible;margin-bottom:18px;} 360 | .navbar-inner{padding-left:20px;padding-right:20px;background-color:transparent;background-image: url(../img/nav_bg.png);background-repeat:repeat-x;} 361 | .navbar .container{width:auto;} 362 | .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;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);}.btn-navbar:hover,.btn-navbar:active,.btn-navbar.active,.btn-navbar.disabled,.btn-navbar[disabled]{background-color:#222222;} 363 | .btn-navbar:active,.btn-navbar.active{background-color:#080808 \9;} 364 | .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);} 365 | .btn-navbar .icon-bar+.icon-bar{margin-top:3px;} 366 | .nav-collapse.collapse{height:auto;} 367 | .navbar{color:#ffffff;}.navbar .brand:hover{text-decoration:none;} 368 | .navbar .brand{float:left;display:block;padding:8px 20px 10px 0;/*margin-left:-20px;*/font-size:20px;font-weight:200;line-height:42px;color:#ffffff;} 369 | .navbar .navbar-text{margin-bottom:0;line-height:60px;} 370 | .navbar .btn,.navbar .btn-group{margin-top:15px;} 371 | .navbar .btn-group .btn{margin-top:0;} 372 | .navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";} 373 | .navbar-form:after{clear:both;} 374 | .navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:15px;} 375 | .navbar-form input,.navbar-form select{display:inline-block;margin-bottom:0;} 376 | .navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;} 377 | .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;} 378 | .navbar-search{position:relative;float:left;margin-top:16px;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;} 379 | .navbar-search .search-query::-webkit-input-placeholder{color:#cccccc;} 380 | .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;} 381 | .navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;} 382 | .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;} 383 | .navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px;} 384 | .navbar-fixed-top{top:0;} 385 | .navbar-fixed-bottom{bottom:0;} 386 | .navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 120px;} 387 | .navbar .nav.pull-right{float:right;} 388 | .navbar .nav>li{display:block;float:left;} 389 | .navbar .nav>li>a{float:none;padding:10px 0 11px;line-height:43px;width: 140px;color:#ffffff;text-decoration:none;text-align: center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);outline: none; opacity: .8;-webkit-transition: font-size 0.2s ease-out;-moz-transition: font-size 0.2s ease-out;transition: font-size 0.2s ease-out;} 390 | .navbar .nav>li>a:hover{background-color:transparent;color:#ffffff;text-decoration:none; font-size: 20px; opacity: 1;} 391 | .navbar .nav .active>a,.navbar .nav .active>a:hover{color:#ffffff;text-decoration:none;background-color:transparent; font-size: 20px;background-image: url(../img/tabbg.png); background-position: bottom; background-repeat:no-repeat; opacity: 1;} 392 | .navbar .divider-vertical{height:60px;width:1px;margin:0 9px;overflow:hidden;background-color:#222222;border-right:1px solid #333333;} 393 | .navbar .nav.pull-right{margin-left:10px;margin-right:0;} 394 | .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;} 395 | .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;} 396 | .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;} 397 | .navbar-fixed-bottom .dropdown-menu:after{border-top:6px solid #ffffff;border-bottom:0;bottom:-6px;top:auto;} 398 | .navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} 399 | .navbar .nav .active .caret{opacity:1;filter:alpha(opacity=100);} 400 | .navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent;} 401 | .navbar .nav .active>.dropdown-toggle:hover{color:#ffffff;} 402 | .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;} 403 | .navbar .nav.pull-right .dropdown-menu:after,.navbar .nav .dropdown-menu.pull-right:after{left:auto;right:13px;} 404 | .thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";} 405 | .thumbnails:after{clear:both;} 406 | .thumbnails>li{float:left;margin:0 0 18px 20px;} 407 | .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);} 408 | a.thumbnail:hover{border-color:#238bcd;-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);} 409 | .thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;} 410 | .thumbnail .caption{padding:9px;} 411 | .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;} 412 | .alert-heading{color:inherit;} 413 | .alert .close{position:relative;top:-2px;right:-21px;line-height:18px;} 414 | .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847;} 415 | .alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48;} 416 | .alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad;} 417 | .alert-block{padding-top:14px;padding-bottom:14px;} 418 | .alert-block>p,.alert-block>ul{margin-bottom:0;} 419 | .alert-block p+p{margin-top:5px;} 420 | .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;} 421 | .hero-unit p{font-size:18px;font-weight:200;line-height:27px;color:inherit;} 422 | .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);} 423 | .well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} 424 | .well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} 425 | .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;} 426 | .pull-right{float:right;} 427 | .pull-left{float:left;} 428 | .hide{display:none;} 429 | .show{display:block;} 430 | .invisible{visibility:hidden;} 431 | .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;} 432 | .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;} 433 | .hidden{display:none;visibility:hidden;} 434 | .visible-phone{display:none;} 435 | .visible-tablet{display:none;} 436 | .visible-desktop{display:block;} 437 | .hidden-phone{display:block;} 438 | .hidden-tablet{display:block;} 439 | .hidden-desktop{display:none;} 440 | 441 | /* 442 | * snip.css 443 | * 444 | */ 445 | .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:960px;} 446 | a{ 447 | -webkit-transition: all 0.15s ease-out; 448 | -moz-transition: all 0.15s ease-out; 449 | transition: all 0.15s ease-out; 450 | } 451 | .brand{width: 121px; height: 42px; outline: none; opacity: 0.9; 452 | -webkit-transition: all 0.15s ease-out; 453 | -moz-transition: all 0.15s ease-out; 454 | transition: all 0.15s ease-out; 455 | } 456 | .brand:hover{opacity: 1;} 457 | .brand:focus{outline: none;} 458 | .navbar .language{float: right; margin-top: 19px;} 459 | .language .btn{ padding: 3px 0; width: 55px; line-height: 12px; font-size: 11px; font-weight: normal; text-shadow: 0 -1px 0 rgba(0,0,0,0.6);} 460 | 461 | .main{height: 565px; background: #000 url(../img/header_bg.jpg) top center no-repeat; box-shadow: 0 5px 25px rgba(0,0,0,.5);} 462 | .main .container{ height: 100%; background: url(../img/main_bg.png) no-repeat 0 90%;} 463 | 464 | .description{ float: right; margin: 240px 0 0 0; display: block; width: 450px; line-height: 1.2; font-size: 46px; font-weight: normal; color: #fafafa; letter-spacing: 1px; text-shadow: 0 1px 2px rgba(0,0,0,.8); /*text-indent: -9999px; background: url(../img/h2_description.png);*/} 465 | .download{clear: right; float: right; margin: 28px 0 0; width: 423px;} 466 | .download li{float: left; margin-right: 28px; list-style: none;} 467 | .download li a{position:relative;display: block; height: 53px; text-indent: -9999px; background: url(../img/sprite.png) no-repeat; outline: none; 468 | -webkit-transition: box-shadow 0.15s ease-out; 469 | -moz-transition: box-shadow 0.15s ease-out; 470 | transition: box-shadow 0.15s ease-out; 471 | } 472 | .download li a:hover{box-shadow:0 0 25px rgba(255,255,255,.3)} 473 | .download .appstore a{width: 174px; background-position: 0 0;} 474 | .download .direct a{width: 168px; background-position: 0 -73px;} 475 | .ico_v2 {position:absolute;top:-16px;right:-14px;width:32px;height:32px;} 476 | .info{clear: right; float: right; margin: 23px 0 0; width: 445px; color: #fafafa; text-shadow: 0 1px 2px rgba(0,0,0,.8);} 477 | .info a{color: #fafafa;} 478 | .info a:hover{text-shadow:0 0 20px rgba(255,255,255,.2); text-decoration: none;} 479 | .info p [class^="icon-"], .info p [class*=" icon-"]{float: left; margin:0 2px 0 0;} 480 | .features{padding: 20px 0 20px; box-shadow: 0 -5px 40px rgba(0,0,0,.5) inset;} 481 | .feature{overflow: hidden; padding: 50px 0; background: url(../img/feature_divide.png) bottom no-repeat; text-shadow: 0 -1px 0 #000; } 482 | .feature h3{ margin-bottom: 25px; font-weight: normal; font-size: 30px;} 483 | .feature p{color: #c4c4c4;} 484 | .feature .figure{position:relative;float: left; padding: 0; margin: -2px 80px 0 0;} 485 | .feature .figure {box-shadow:0 5px 15px rgba(0,0,0,.4); opacity: .7; 486 | -webkit-transition: opacity 0.25s ease-out; 487 | -moz-transition: opacity 0.25s ease-out; 488 | transition: opacity 0.25s ease-out; 489 | } 490 | .feature .figure:hover{opacity: 1;} 491 | .feature figure{margin:0;} 492 | .features section:last-child .feature{background: none;} 493 | .features section:nth-child(odd) .feature .figure{float: right; margin: 0 0 0 80px;} 494 | .feature .icon-play{float: left;margin:2px 5px 0 0;} 495 | .figure_v2 {position:absolute;top:0;right:0;width:44px;height:45px;} 496 | 497 | .faq{padding-top: 30px; background: #333; box-shadow: 0 1px 0 rgba(255,255,255,.05) inset; text-shadow: 0 -1px 0 #000; } 498 | .faq-inner{background: #1e1e1e; text-shadow: 0 -1px 0 #000; box-shadow: 0 1px 0 #3c3c3c;} 499 | 500 | .faq h3{ margin: 20px 0 30px; text-align: center; font-weight: normal; font-size: 30px;} 501 | .faq-tabs{width: 300px; border: none !important; margin: 0 !important; background: #272727;} 502 | 503 | 504 | .faq-inner .faq-tabs > li{margin-bottom: 0; list-style: none;} 505 | .faq-inner .faq-tabs > li > a {display: block; margin-bottom: 0; margin-right: 0; border-top-color:#2b2b2b; border-bottom-color:#222; border-width: 1px 0; color: #b7b7b7; padding: 12px 18px; outline: none;} 506 | .faq-inner .faq-tabs li a:hover, .faq-inner .faq-tabs .active > a, .faq-inner .faq-tabs .active > a:hover { background: #1e1e1e; border-top-color:#1b1b1b; border-bottom-color:#222; border-width: 1px 0; border-radius: 0; margin-right: 0; color: #fff; text-decoration: none; box-shadow: 3px 0 2px #1b1b1b inset; } 507 | .faq-inner .faq-tabs li a:hover{background-color: #232323; box-shadow: none; border-top-color:#222; } 508 | .faq-contents{ width: auto; padding: 40px 50px;} 509 | .faq-question{margin-bottom: 20px;} 510 | .faq-question [class^="icon-"], .faq-question [class*=" icon-"]{float: left; margin:2px 15px 0 0;} 511 | .faq-question h4{font-size: 22px; font-weight: normal; line-height: 28px; margin-left: 35px;} 512 | .faq-answer [class^="icon-"], .faq-answer [class*=" icon-"]{float: left;} 513 | .faq-answer p{ margin:0 0 20px 35px; color: #c4c4c4;} 514 | 515 | 516 | .help {margin: 20px 0 30px;} 517 | .help p{text-align: center; color: #5a5a5a; text-shadow: 0 -1px 0 rgba(0,0,0,.6);} 518 | .help ul{overflow: hidden; width: 110px; margin: 10px auto;} 519 | .help ul li{float: left; margin-right: 10px; list-style: none;} 520 | .help ul li:last-child{margin-right: 0;} 521 | .help ul li [class^="icon-"], .help ul li [class*=" icon-"]{text-indent: -9999px; opacity: 0.4; display:block; 522 | -webkit-transition: opacity 0.15s ease-out; 523 | -moz-transition: opacity 0.15s ease-out; 524 | transition: opacity 0.15s ease-out; 525 | } 526 | .help ul li [class^="icon-"]:hover, .help ul li [class*=" icon-"]:hover{opacity: 1;} 527 | 528 | .footer{padding: 20px 0 150px;text-align: center; color: #464646; text-shadow: 0 -1px 0 #000; box-shadow: 0 10px 10px rgba(0,0,0,.1) inset;} 529 | .footer p{margin-bottom: 0;} 530 | .footer a {margin-right: 10px; color: #808080; } 531 | .footer a:last-child {margin-right: 0; } 532 | .footer a:hover {color: #ccc; } 533 | .copright{font-size: 11px;} 534 | 535 | 536 | .lang_en .download .direct a{background-position: -188px -73px;} 537 | .lang_en .description{font-size: 40px;} 538 | 539 | .lang-display-ctrl{display: none;} 540 | .lang_en .lang-display-ctrl-en{display: block;} 541 | .lang_zh_cn .lang-display-ctrl-zh_cn{display: block;} 542 | 543 | #page_plugin .features{padding-top: 90px; padding-bottom:40px; background: #272727; border-bottom: 1px solid rgba(255,255,255,.1); box-shadow:none; text-shadow: 0 -1px 0 #000; } 544 | #page_plugin .features .feature img{opacity:1;} 545 | #page_plugin .features .feature p, #page_plugin .features .feature li{color:#bbb;} 546 | #page_plugin .button-extension{display: block; margin:25px 0 35px; width:156px; height: 49px; text-indent: -9999px; background: url(../img/btn_download_plugin.png) no-repeat 0 0; outline: none; opacity:.9; 547 | -webkit-transition: opacity 0.15s ease-out; 548 | -moz-transition: opacity 0.15s ease-out; 549 | transition: opacity 0.15s ease-out; 550 | } 551 | #page_plugin .button-extension:hover{opacity:1; box-shadow:0 0 25px rgba(0,0,0,.3)} 552 | 553 | .lang_en .button-extension{background-position: 0px -50px !important;} 554 | .fromapp-show{display:none;} 555 | .fromapp .fromapp-hide{display:none;} 556 | .fromapp .fromapp-show{display:block;} 557 | 558 | @media (max-width:767px){.visible-phone{display:block;} .hidden-phone{display:none;} .hidden-desktop{display:block;} .visible-desktop{display:none;}} 559 | @media (min-width:768px) and (max-width:979px){.visible-tablet{display:block;} .hidden-tablet{display:none;} .hidden-desktop{display:block;} .visible-desktop{display:none;}} 560 | @media (max-width:480px){.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:auto;}.nav-collapse{-webkit-transform:translate3d(0, 0, 0);} .page-header h1 small{display:block;line-height:18px;} input[type="checkbox"],input[type="radio"]{border:1px solid #ccc;} .form-horizontal .control-group>label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:10px;padding-right:10px;} .modal{position:absolute;top:10px;left:10px;right:10px;width:auto;margin:0;}.modal.fade.in{top:auto;} .modal-header .close{padding:10px;margin:-10px;} .carousel-caption{position:static;}} 561 | 562 | @media (max-width:480px){body{padding-top:0;} .navbar-fixed-top{position:static;margin-bottom:18px;} .navbar-fixed-top .navbar-inner{padding:0;} .navbar .container{width:auto;padding:0;} .navbar .language{margin-right: 20px;} .navbar .brand{padding-left:10px;padding-right:10px;margin:0 0 0 -5px;} .navbar .nav-collapse{clear:left;} .navbar .nav{clear:both;float:none;margin:0 0 9px;} .navbar .nav>li{float:none; border-bottom: 1px solid #2b2b2b;} .navbar .nav>li>a{margin-bottom:0; width: auto; text-align: left; line-height: 30px; font-size: 1em;} .navbar .nav>li>a:hover, .navbar .nav>li.active>a, .navbar .nav>li.active>a:hover{font-size: 1em; background-image: none;} .navbar .nav>.divider-vertical{display:none;} .navbar .nav .nav-header{color:#ffffff;text-shadow:none;} .navbar .nav>li>a,.navbar .dropdown-menu a{padding:6px 15px;font-weight:bold;color:#ffffff;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} .navbar .dropdown-menu li+li a{margin-bottom:2px;} .navbar .nav>li>a:hover,.navbar .dropdown-menu a:hover{background-color:#222222;} .navbar .dropdown-menu{position:static;top:auto;left:auto;float:none;display:block;max-width:none;margin:0 15px;padding:0;background-color:transparent;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} .navbar .dropdown-menu:before,.navbar .dropdown-menu:after{display:none;} .navbar .dropdown-menu .divider{display:none;} .navbar-form,.navbar-search{float:none;padding:9px 15px;margin:9px 0;border-top:1px solid #222222;border-bottom:1px solid #222222;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);} .navbar .nav.pull-right{float:none;margin-left:0;} .navbar-static .navbar-inner{padding-left:10px;padding-right:10px;} .btn-navbar{display:block;} .nav-collapse{overflow:hidden;height:0;}.main{height: auto; padding-bottom: 20px; background: none;} .main .container{background: none; text-align: center; } .description{margin: 30px 0 0; float: none; width: 100%; font-size: 2em;} .direct{display: none;} .download{clear: none; float: none; width: 100%; text-align: center; margin: 20px 0 0;}.download li{float: none; margin: 0;} .download li a{display: inline-block;}.info{float: none; width: auto;} .info p [class^="icon-"], .info p [class*=" icon-"]{float:none} .feature{padding: 30px 20px;} .feature figure, .feature:nth-child(odd) figure{float: none; margin: 0 0 30px;}.faq-answer p img{width: 90%;} .tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs{display: none;} .tab-content > .tab-pane, .pill-content > .pill-pane{display: block; margin-bottom: 30px;} .fade{opacity: 1;} .faq-inner {background: transparent;} .faq-contents{padding: 20px;} .help{padding: 0 20px;} footer{padding-bottom: 60px;}} 563 | /*@media (min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important;} .container, .navbar-fixed-top .container, .navbar-fixed-bottom .container {width: 750px;} .navbar .nav{margin-left: 0;} .description{width: auto; max-width: 250px; margin: 160px 0 0; font-size: 26px;} .download{width: 250px;} .download li {margin-bottom: 20px;}}*/ 564 | @media (min-width:768px){.row{margin-left:-30px;*zoom:1;}.row:before,.row:after{display:table;content:"";} .row:after{clear:both;} [class*="span"]{float:left;margin-left:30px;} .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:960px;} .span12{width:1170px;} .span11{width:1070px;} .span10{width:970px;} .span9{width:870px;} .span8{width:770px;} .span7{width:670px;} .span6{width:570px;} .span5{width:470px;} .span4{width:370px;} .span3{width:270px;} .span2{width:170px;} .span1{width:70px;} .offset12{margin-left:1230px;} .offset11{margin-left:1130px;} .offset10{margin-left:1030px;} .offset9{margin-left:930px;} .offset8{margin-left:830px;} .offset7{margin-left:730px;} .offset6{margin-left:630px;} .offset5{margin-left:530px;} .offset4{margin-left:430px;} .offset3{margin-left:330px;} .offset2{margin-left:230px;} .offset1{margin-left:130px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";} .row-fluid:after{clear:both;} .row-fluid>[class*="span"]{float:left;margin-left:2.564102564%;} .row-fluid>[class*="span"]:first-child{margin-left:0;} .row-fluid > .span12{width:100%;} .row-fluid > .span11{width:91.45299145300001%;} .row-fluid > .span10{width:82.905982906%;} .row-fluid > .span9{width:74.358974359%;} .row-fluid > .span8{width:65.81196581200001%;} .row-fluid > .span7{width:57.264957265%;} .row-fluid > .span6{width:48.717948718%;} .row-fluid > .span5{width:40.170940171000005%;} .row-fluid > .span4{width:31.623931624%;} .row-fluid > .span3{width:23.076923077%;} .row-fluid > .span2{width:14.529914530000001%;} .row-fluid > .span1{width:5.982905983%;} input,textarea,.uneditable-input{margin-left:0;} input.span12, textarea.span12, .uneditable-input.span12{width:1160px;} input.span11, textarea.span11, .uneditable-input.span11{width:1060px;} input.span10, textarea.span10, .uneditable-input.span10{width:960px;} input.span9, textarea.span9, .uneditable-input.span9{width:860px;} input.span8, textarea.span8, .uneditable-input.span8{width:760px;} input.span7, textarea.span7, .uneditable-input.span7{width:660px;} input.span6, textarea.span6, .uneditable-input.span6{width:560px;} input.span5, textarea.span5, .uneditable-input.span5{width:460px;} input.span4, textarea.span4, .uneditable-input.span4{width:360px;} input.span3, textarea.span3, .uneditable-input.span3{width:260px;} input.span2, textarea.span2, .uneditable-input.span2{width:160px;} input.span1, textarea.span1, .uneditable-input.span1{width:60px;} .thumbnails{margin-left:-30px;} .thumbnails>li{margin-left:30px;} .navbar .nav{margin-left:120px;} .description{width: 450px; max-width:450px; margin: 220px 0 0 0; font-size: 46px;} .download{width: 446px;} .download li {margin-bottom: 0;}} 565 | 566 | @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2){ 567 | .brand {} 568 | .navbar .nav .active > a, .navbar .nav .active > a:hover {} 569 | /*.main {background-image:-webkit-image-set(url(../img/header_bg.jpg) 1x,url(../img/header_bg@2X.jpg) 2x);}*/ 570 | .main .container {} 571 | [class^="icon-"], [class*=" icon-"], .download li a {} 572 | 573 | .feature img {opacity:0;} 574 | .feature01 .figure {background-image:-webkit-image-set(url(../img/feature01.jpg) 1x,url(../img/feature01@2X.jpg) 2x);} 575 | .feature02 .figure {background-image:-webkit-image-set(url(../img/feature02.jpg) 1x,url(../img/feature02@2X.jpg) 2x);} 576 | .feature03 .figure {background-image:-webkit-image-set(url(../img/feature03.jpg) 1x,url(../img/feature03@2X.jpg) 2x);} 577 | .feature04 .figure {background-image:-webkit-image-set(url(../img/feature04.jpg) 1x,url(../img/feature04@2X.jpg) 2x);} 578 | .feature05 .figure {background-image:-webkit-image-set(url(../img/feature05.jpg) 1x,url(../img/feature05@2X.jpg) 2x);} 579 | .feature06 .figure {background-image:-webkit-image-set(url(../img/feature06.jpg) 1x,url(../img/feature06@2X.jpg) 2x);} 580 | 581 | .ico_v2 {background-image:-webkit-image-set(url(../img/v2.0.png) 1x,url(../img/v2.0@2X.png) 2x);} 582 | .figure_v2 {background-image:-webkit-image-set(url(../img/v2.0star.png) 1x,url(../img/v2.0star@2X.png) 2x);} 583 | } 584 | 585 | -------------------------------------------------------------------------------- /img/feature_divide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rootkiter/Termite/e0c5b307182a085309ec488fa0e5cd20fc13ad87/img/feature_divide.png -------------------------------------------------------------------------------- /img/header_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rootkiter/Termite/e0c5b307182a085309ec488fa0e5cd20fc13ad87/img/header_bg.jpg -------------------------------------------------------------------------------- /img/main_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rootkiter/Termite/e0c5b307182a085309ec488fa0e5cd20fc13ad87/img/main_bg.png -------------------------------------------------------------------------------- /img/main_bg.png.bak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rootkiter/Termite/e0c5b307182a085309ec488fa0e5cd20fc13ad87/img/main_bg.png.bak -------------------------------------------------------------------------------- /img/nav_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rootkiter/Termite/e0c5b307182a085309ec488fa0e5cd20fc13ad87/img/nav_bg.png -------------------------------------------------------------------------------- /img/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rootkiter/Termite/e0c5b307182a085309ec488fa0e5cd20fc13ad87/img/sprite.png -------------------------------------------------------------------------------- /img/tabbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rootkiter/Termite/e0c5b307182a085309ec488fa0e5cd20fc13ad87/img/tabbg.png -------------------------------------------------------------------------------- /index-en.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Termite 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 29 | 30 |
31 |
32 | 52 |
53 | 54 |
55 |
56 |
57 |

A Stepping Stone Management Tool

58 |
59 | 64 |
65 |

66 | Last Version:Free 1.8.4
67 | Support System:Linux/MacOS/Windows
68 | Support CPU: x86/x64/arm/mips[el]/SH4/PowerPC/Sparc/M68k
69 | Last Update:2018-09-26
70 | Stopping:2019-03-09

71 | 72 | Update: It is unfortunate to learn that my tool has been abused by attackers. I have to stop updating the tools and shutdown the download as a precaution to prevent further possible misuse from happening. Also there are existing yara rules can be used to detect the tools. Please visit here ht tps://github.com/rootkiter/Binary-files for more details. 73 |

74 |
75 |
76 |
77 | 78 |
79 |
80 |
81 |
82 |
83 |
84 | 85 |
86 |
87 |
88 |
89 | 90 |
91 |
92 |

Multiple Support

93 |

Implementations for different mainstream CPU/operating systems are provided. More will be included in the future.

94 |
95 |
96 |
97 |
98 |
99 |
100 | 101 |
102 |
103 |
104 |
105 | 106 |
107 |
108 |

Convenient Stepping Stone Access

109 |

Stepping stone agents are connected and organized as a tree structure, with which user can conveniently access any nodes in the tree at any time.

110 |
111 |
112 |
113 |
114 |
115 |
116 | 117 |
118 |
119 |
120 |
121 | 122 |
123 |
124 |

Connection

125 |

Each agent can be either a server, a client or both through TCP interconnection.

126 |
127 |
128 |
129 |
130 |
131 |
132 | 133 |
134 |
135 |
136 |
137 | 138 |
139 |
140 |

Tiny and No Dependency

141 |

All implementations only use operating system built-in libraries and are in static compilation. The sizes of the programs are all as small as only around 200KB.

142 |
143 |
144 |
145 |
146 |
147 |
148 | 149 |
150 |
151 |
152 |
153 | 154 |
155 |
156 |

Built-in Management Shell

157 |

Administrator can manage agent nodes easily through built-in shell, including but not limited to file transfer/console command execution/socks proxy service/port forwarding, etc.

158 |
159 |
160 |
161 |
162 |
163 |
164 | 165 |
166 |
167 |
168 |
169 | 170 |
171 |
172 |

Regular Maintenance

173 |

More functionalities are under development. Bug report is welcome. The author will actively update the tool and grow up with it.

174 |
175 |
176 |
177 |
178 | 179 |
180 |
181 |

Q&A

182 |
183 | 208 |
209 |
210 |
211 | 212 |

Why is this name?

213 |
214 |
215 | 216 |

Ants are social animals, and the size of the ant colony determines the ability of the ant colony. This ability comes from collaboration and interconnection, which is very consistent with the characteristics of this tool.

217 |
218 |
219 | 231 |
232 |
233 | 234 |

How to report bugs?

235 |
236 |
237 | 238 |

E-mail: rootkiter@rootkiter.com

239 |

240 |
241 |
242 |
243 |
244 | 245 |

How to raise demand?

246 |
247 |
248 | 249 |

E-mail: rootkiter@rootkiter.com

250 |
251 |
252 |
253 |
254 | 255 |

Update too slow?

256 |
257 |
258 | 259 |

Inner peacer...

260 |
261 |
262 |
263 |
264 | 265 |

How to use it?

266 |
267 |
268 | 269 |

Here is a README_en.txt, help your self. http://rootkiter.com/Termite/README_en.txt

270 |
271 |
272 |
273 |
274 | 275 |

Updates history?

276 |
277 |
278 | 279 |

[20180302] ( Free 1.0 ) More platorm support. I/O code rewriting.

280 |

[20180630] ( Free 1.2 ) Tunnel creation bug, file transfer bug, interaction optimization.

281 |

[20180807] ( Free 1.6 ) Release of wild pointer in tunnel.

282 |

[20180814] ( Free 1.8 ) New command, {backtran} support(reverse-lcxtran), Access to local services in remote environment.

283 |

[20180906] ( Free 1.8.1 ) Reconnection bug.

284 |

[20180915] ( Free 1.8.2 ) Wild pointer bug in tunnels.

285 |

[20180921] ( Free 1.8.3 ) Fix on_close free bug.

286 |

[20180926] ( Free 1.8.4 ) Fix socks connect ip bug.

287 |

[20190309] No more updates and downloads.

288 |
289 |
290 |
291 |
292 |
293 |

E-mail: rootkiter@rootkiter.com

294 | 297 |
298 |
299 |
300 | 301 | 302 | 313 |
314 | 315 | 316 | 408 | 409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 | 426 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Termite 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 29 | 30 |
31 |
32 | 53 |
54 | 55 |
56 |
57 |
58 |

跳板机管理工具

59 |
60 | 65 |
66 |

67 | Last Version:Free 1.8.4
68 | Support System:Linux/MacOS/Windows
69 | Support CPU: x86/x64/arm/mips[el]/SH4/PowerPC/Sparc/M68k
70 | Last Update:2018-09-26
71 | Stopping:2019-03-09

72 | PS: 考虑到该工具影响很坏,这里将不再更新。如果你有更好的安全建议或规则,欢迎通过 https://github.com/rootkiter/Binary-files 提交。 73 |

74 |
75 |
76 |
77 | 78 |
79 |
80 |
81 |
82 |
83 |
84 | 85 |
86 |
87 |
88 |
89 | 90 |
91 |
92 |

多平台支持

93 |

工具在多种操作系统下均有Agent实现,由于代码为标准C实现,所以未来还将有更多的平台被支持。

94 |
95 |
96 |
97 |
98 |
99 |
100 | 101 |
102 |
103 |
104 |
105 | 106 |
107 |
108 |

跳板机互联

109 |

Agent节点可相互连接,进而形成一条树状管理拓扑,依赖该拓扑结构,使用者可实时管理拓扑中的任意主机节点。

110 | 111 |
112 |
113 |
114 |
115 |
116 |
117 | 118 |
119 |
120 |
121 |
122 | 123 |
124 |
125 |

正反向级联

126 |

任意Agent节点间均可随时正向或反向连接,只要两个节点间能够正常建立TCP会话,就可以将新主机节点纳入树状管理拓扑图。

127 |
128 |
129 |
130 |
131 |
132 |
133 | 134 |
135 |
136 |
137 |
138 | 139 |
140 |
141 |

小巧无依赖

142 |

工具在实现中,所有和系统有关的API调用,都选择为系统自带的基础库,无需额外修改或配置目标主机,就可直接使用工具中提供的所有功能。所有版本的Agent文件中,最大的版本也不到600k大小,大部分版本都在200k字节左右。

143 |
144 |
145 |
146 |
147 |
148 |
149 | 150 |
151 |
152 |
153 |
154 | 155 |
156 |
157 |

内置Shell令主机管理更方便

158 |

管理员可通过Admin程序,对拓扑中的任意节点进行管控,包括但不限于文件传输/控制台命令执行/开启远程 SOCKS5 代理服务/远程端口转发,等功能。

159 |
160 |
161 |
162 |
163 |
164 |
165 | 166 |
167 |
168 |
169 |
170 | 171 |
172 |
173 |

长期维护

174 |

开发者将尽其所能,利用闲暇时间,对工具进行升级维护。除天灾人祸或突然转行等不可抗力外,开发者都将同工具一起成长,直到它到达其应有的状态为止。

175 |
176 |
177 |
178 |
179 | 180 |
181 |
182 |

Q&A

183 |
184 | 207 |
208 |
209 |
210 | 211 |

好听名字有很多,为嘛叫这个?

212 |
213 |
214 | 215 |

蚂蚁是一种群居动物,分工明确且协作能力极强,其破坏力同社群的大小成正比,这些特性和当前工具都极为吻合。该提议,由一位小伙伴(syc4mor3)提供。与此同时,随着原部门小伙伴们各奔东西,该名字也被赋予了新的含义。希望我们这一群人,在未来的日子里,能越过越好,并永远记得:我们是群居动物,一个都不能少。

216 |
217 |
218 |
219 |
220 | 221 |

不是号称多平台支持么,为何目前只有这样几个平台?

222 |
223 |
224 | 225 |

原因有二: 一)更多的平台支持意味着更多的适配性测试,以及各基础API在不同平台下的属性测试,这些繁琐的工作要花费非常大量的时间,而开发者只有一人。 二)更多的平台支持,意味着手头要有足够多的实体测试设备支持,而目前本人条件艰苦。 综上所述,为了这一目标,本人会尽力的。

226 |
227 |
228 |
229 |
230 | 231 |

程序不够稳定,发现可复现问题,怎么办?

232 |
233 |
234 | 235 |

由于开发者对多线程下多网络会话的开发经验有待提高,会导致程序的稳定性欠佳,如发现可复现的问题,请一定要联系开发者,定位问题后,会尽可能在恰当的时间予以修正。在开发中成长也是本人开发本程序的初衷。

236 |

237 |
238 |
239 |
240 |
241 | 242 |

工具不够优秀,想提建议怎么办?

243 |
244 |
245 | 246 |

从第一版工具放出后,陆续收到过非常多的小伙伴的建议邮件,有的希望有文件传输,有的希望能断线重连,这些好建议都已经被加入了实现计划,会在后续更新中陆续实现,开发者将以工具的主要目标实现为主,由于时间有限; 支线建议,将在闲暇时,慢慢实现。

247 |
248 |
249 |
250 |
251 | 252 |

工具更新进度太慢,是否可以提高更新频率?

253 |
254 |
255 | 256 |

除工作,生活,学习睡觉外,剩余的闲暇时间确实不太充足,只能期盼大家多多包含呗。

257 |
258 |
259 |
260 |
261 | 262 |

不会用怎么办?

263 |
264 |
265 | 266 |

在这里有一个README,以供阅读。http://rootkiter.com/Termite/README.txt

267 |
268 |
269 |
270 |
271 | 272 |

更新情况

273 |
274 |
275 | 276 |

[20180302] ( Free 1.0 ) 支持更多的Iot设备,重制IO基础。

277 |

[20180630] ( Free 1.2 ) 修复隧道创建bug,修复文件上传bug,美化控制台交互,增加*unix的shell指令中的提示符。

278 |

[20180807] ( Free 1.6 ) 修复隧道关闭时释放资源的bug,该bug会导致socks代理中出现未知异常。

279 |

[20180814] ( Free 1.8 ) 增加反向隧道的功能(backtran指令,是lcxtran的镜像操作),将本地可达的一个地址端口,映射至agent的一个指定端口,在后渗透测试中可以用于构造反弹木马的上线隧道,或反向访问本地可达的任意TCP服务。

280 |

[20180906] ( Free 1.8.1 )修复管理节点断线重连后无法重构拓扑的bug。

281 |

[20180915] ( Free 1.8.2 )修复隧道关闭后空间为释放的的bug。

282 |

[20180921] ( Free 1.8.3 )修复on_close 双次释放bug。

283 |

[20180926] ( Free 1.8.4 )修复socks ip 模式bug。

284 |

[20190309] 不再更新,停止下载,保留该页面作为一个回忆。

285 |
286 |
287 |
288 |
289 |
290 |

若您在使用 Termite 中还遇到了其他问题,欢迎通过以下方式和本人联系:

291 |

rootkiter@rootkiter.com

292 |
293 |
294 |
295 | 296 | 297 | 308 |
309 | 310 | 311 | 403 | 404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 | 421 | -------------------------------------------------------------------------------- /js/bootstrap.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bootstrap.js by @fat & @mdo 3 | * plugins: bootstrap-transition.js, bootstrap-modal.js, bootstrap-dropdown.js, bootstrap-scrollspy.js, bootstrap-tab.js, bootstrap-tooltip.js, bootstrap-popover.js, bootstrap-alert.js, bootstrap-button.js, bootstrap-collapse.js, bootstrap-carousel.js, bootstrap-typeahead.js 4 | * Copyright 2012 Twitter, Inc. 5 | * http://www.apache.org/licenses/LICENSE-2.0.txt 6 | */ 7 | !function(a){a(function(){a.support.transition=function(){var b=document.body||document.documentElement,c=b.style,d=c.transition!==undefined||c.WebkitTransition!==undefined||c.MozTransition!==undefined||c.MsTransition!==undefined||c.OTransition!==undefined;return d&&{end:function(){var b="TransitionEnd";return a.browser.webkit?b="webkitTransitionEnd":a.browser.mozilla?b="transitionend":a.browser.opera&&(b="oTransitionEnd"),b}()}}()})}(window.jQuery),!function(a){function c(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),d.call(b)},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),d.call(b)})}function d(a){this.$element.hide().trigger("hidden"),e.call(this)}function e(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('