]> de.git.xonotic.org Git - xonotic/xonstat.git/commitdiff
Merge pull request #5 from dmazary/patch-1
authorantzucaro <azucaro@gmail.com>
Wed, 14 Mar 2012 01:27:22 +0000 (18:27 -0700)
committerantzucaro <azucaro@gmail.com>
Wed, 14 Mar 2012 01:27:22 +0000 (18:27 -0700)
More Pythonic check for qfont character range :)

31 files changed:
xonstat/__init__.py
xonstat/static/css/fonts/xolonium-webfont.eot [changed mode: 0755->0644]
xonstat/static/css/fonts/xolonium-webfont.svg [changed mode: 0755->0644]
xonstat/static/css/fonts/xolonium-webfont.ttf [changed mode: 0755->0644]
xonstat/static/css/fonts/xolonium-webfont.woff [changed mode: 0755->0644]
xonstat/static/css/img/Xonotic_icon.png [new file with mode: 0644]
xonstat/static/css/img/Xonotic_icon.svg [new file with mode: 0644]
xonstat/static/css/img/web_border.png
xonstat/static/css/style.css
xonstat/static/css/style.min.css [new file with mode: 0644]
xonstat/static/js/bootstrap-collapse.min.js [new file with mode: 0644]
xonstat/static/js/jquery-1.7.1.min.js [new file with mode: 0644]
xonstat/templates/accuracy.mako
xonstat/templates/base.mako
xonstat/templates/game_index.mako
xonstat/templates/game_info.mako
xonstat/templates/main_index.mako
xonstat/templates/map_index.mako
xonstat/templates/map_info.mako
xonstat/templates/nav.mako [new file with mode: 0755]
xonstat/templates/navlinks.mako
xonstat/templates/player_game_index.mako
xonstat/templates/player_index.mako
xonstat/templates/player_info.mako
xonstat/templates/scoreboard.mako
xonstat/templates/search.mako
xonstat/templates/server_index.mako
xonstat/templates/server_info.mako
xonstat/views/player.py
xonstat/views/search.py
xonstat/views/submission.py

index 9eb3599bbf2dd9273e9cf3800b3cc86f180ca354..d47c365679b6765329754d39acf83baee21c5512 100755 (executable)
@@ -27,14 +27,15 @@ def main(global_config, **settings):
         renderer="main_index.mako")
 
     # PLAYER ROUTES
-    config.add_route("player_game_index_default",
-            "/player/{player_id:\d+}/games")
-    config.add_view(player_game_index, route_name="player_game_index_default",
+    config.add_route("player_game_index_paged",
+            "/player/{player_id:\d+}/games/page/{page:\d+}")
+    config.add_view(player_game_index, route_name="player_game_index_paged",
         renderer="player_game_index.mako")
 
     config.add_route("player_game_index",
-            "/player/{player_id:\d+}/games/page/{page:\d+}")
-    config.add_view(player_game_index, renderer="player_game_index.mako")
+            "/player/{player_id:\d+}/games")
+    config.add_view(player_game_index, route_name="player_game_index",
+        renderer="player_game_index.mako")
 
     config.add_route("player_index_paged", "/players/page/{page:\d+}")
     config.add_view(player_index, route_name="player_index_paged",
old mode 100755 (executable)
new mode 100644 (file)
index 80179b2..08db089
Binary files a/xonstat/static/css/fonts/xolonium-webfont.eot and b/xonstat/static/css/fonts/xolonium-webfont.eot differ
old mode 100755 (executable)
new mode 100644 (file)
index 09f41d2..4b356e0
@@ -8,11 +8,14 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <defs>
 <font id="XoloniumNormal" horiz-adv-x="1433" >
 <font-face units-per-em="2048" ascent="1638" descent="-410" />
-<missing-glyph horiz-adv-x="500" />
+<missing-glyph horiz-adv-x="1024" />
+<glyph unicode=" "  horiz-adv-x="1024" />
+<glyph unicode="&#x09;" horiz-adv-x="1024" />
+<glyph unicode="&#xa0;" horiz-adv-x="1024" />
 <glyph unicode="!" horiz-adv-x="614" d="M154 0v246h307v-246h-307zM154 461v891h307v-891h-307z" />
 <glyph unicode="&#x22;" horiz-adv-x="1044" d="M154 829v523h245v-523h-245zM645 829v523h246v-523h-246z" />
 <glyph unicode="#" horiz-adv-x="1781" d="M123 307v185h205l123 368h-246v184h307l102 308h267l-103 -308h471l103 308h266l-102 -308h143v-184h-205l-123 -368h246v-185h-307l-103 -307h-266l103 307h-472l-102 -307h-266l102 307h-143zM594 492h471l123 368h-471z" />
-<glyph unicode="$" horiz-adv-x="1781" d="M123 911v195q0 59 17.5 103t57.5 70t76.5 42t105.5 22.5t110.5 7.5t123.5 1h154v174h246v-174h542v-174h-542v-338h153q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-348q0 -59 -17.5 -103.5t-57.5 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-153 v-174h-246v174h-645v174h645v492h-154q-82 0 -123.5 1t-110.5 7t-105.5 22.5t-76.5 42t-57.5 69.5t-17.5 103zM430 901q0 -29 20.5 -43t41 -16t61.5 -2h215v338h-215q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-215zM1014 174h215q41 0 61.5 2t41 16.5t20.5 43.5v368 q0 29 -20.5 43.5t-41 16.5t-61.5 2h-215v-492z" />
+<glyph unicode="$" horiz-adv-x="1781" d="M123 0v174h645v492h-154q-82 0 -123.5 1t-110.5 7t-105.5 22.5t-76.5 42t-57.5 69.5t-17.5 103v195q0 59 17.5 103t57.5 70t76.5 42t105.5 22.5t110.5 7.5t123.5 1h154v174h246v-174h542v-174h-542v-338h153q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70 t17.5 -103v-348q0 -59 -17.5 -103.5t-57.5 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-153v-174h-246v174h-645zM430 901q0 -29 20.5 -43t41 -16t61.5 -2h215v338h-215q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-215zM1014 174h215q41 0 61.5 2t41 16.5t20.5 43.5v368 q0 29 -20.5 43.5t-41 16.5t-61.5 2h-215v-492z" />
 <glyph unicode="%" horiz-adv-x="2232" d="M123 819v369q0 39 11 68.5t38 47t51.5 27.5t70.5 14.5t73.5 5.5t83.5 1h204q55 0 83 -1t74 -5.5t70.5 -14.5t51.5 -27.5t38 -47t11 -68.5v-369q0 -39 -11 -68.5t-38 -47t-51.5 -27.5t-70.5 -14.5t-73.5 -5.5t-83.5 -1h-204q-55 0 -83 1t-74 5.5t-70.5 14.5t-51.5 27.5 t-38 47t-11 68.5zM369 819q0 -18 13 -28.5t27.5 -11.5t41.5 -1h204q27 0 41.5 1t27.5 11.5t13 28.5v369q0 18 -13 28.5t-27.5 11.5t-41.5 1h-204q-27 0 -41.5 -1t-27.5 -11.5t-13 -28.5v-369zM655 0l676 1352h246l-676 -1352h-246zM1249 164v368q0 39 11.5 69t38 47.5 t51 27.5t70.5 14t74 5t83 1h205q55 0 82.5 -1t74 -5t71 -14t51 -27.5t37.5 -47.5t11 -69v-368q0 -39 -11 -68.5t-37.5 -47t-51 -28t-71 -14.5t-74 -5t-82.5 -1h-205q-55 0 -83 1t-74 5t-70.5 14.5t-51 28t-38 47t-11.5 68.5zM1495 164q0 -18 13.5 -28.5t27.5 -11.5t41 -1 h205q27 0 41 1t27.5 11t13.5 29v368q0 18 -13.5 28.5t-28 11.5t-40.5 1h-205q-27 0 -41 -1t-27.5 -11t-13.5 -29v-368z" />
 <glyph unicode="&#x26;" horiz-adv-x="1781" d="M123 246v338q0 246 317 245l-71 72q-27 27 -41.5 43.5t-27.5 49t-13 71.5v41q0 59 17.5 103t57 70t76.5 42t105.5 22.5t110.5 7.5t124 1h164q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-123h-308v133q0 29 -20.5 43.5t-41 16.5t-60.5 2h-287 q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-51q0 -41 41 -82l717 -717v348h307v-368q0 -59 -17.5 -103.5t-57.5 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -123.5 1t-110.5 7t-105.5 22.5t-76.5 42t-57.5 70t-17.5 103.5zM430 236q0 -29 20.5 -43.5t41 -16.5 t61.5 -2h543l-482 481h-61q-41 0 -61.5 -2t-41 -16t-20.5 -43v-358z" />
 <glyph unicode="'" horiz-adv-x="552" d="M154 829v523h245v-523h-245z" />
@@ -27,12 +30,12 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="0" horiz-adv-x="1781" d="M123 246v860q0 59 17.5 103t57.5 70t76.5 42t105.5 22.5t110.5 7.5t123.5 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-860q0 -59 -17.5 -103.5t-57.5 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -123.5 1t-110.5 7t-105.5 22.5 t-76.5 42t-57.5 70t-17.5 103.5zM430 236q0 -29 20.5 -43.5t41 -16.5t61.5 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v880q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-880z" />
 <glyph unicode="1" horiz-adv-x="1781" d="M573 1044v205l410 103h307v-1352h-307v1147z" />
 <glyph unicode="2" horiz-adv-x="1781" d="M123 0v594q0 59 17.5 103t57.5 70t76.5 42t105.5 22.5t110.5 7.5t123.5 1h615q41 0 61.5 2t41 16t20.5 43v215q0 29 -20.5 43.5t-41 16.5t-61.5 2h-1004v174h942q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-195q0 -59 -17.5 -103t-57.5 -69.5 t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-614q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-430h1229v-174h-1536z" />
-<glyph unicode="3" horiz-adv-x="1781" d="M205 0v174h1024q41 0 61.5 2t41 16.5t20.5 43.5v368q0 29 -20.5 43t-41 16.5t-61.5 2.5h-819v174h819q41 0 61.5 2t41 16t20.5 43v215q0 29 -20.5 43.5t-41 16.5t-61.5 2h-1024v174h962q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-143 q0 -154 -127 -197l-27 -8q6 -2 16.5 -5t37 -19.5t47 -37t37 -59.5t16.5 -84v-307q0 -59 -17.5 -103.5t-57.5 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-962z" />
+<glyph unicode="3" horiz-adv-x="1781" d="M205 0v174h1024q41 0 61.5 2t41 16.5t20.5 43.5v368q0 29 -20.5 43.5t-41 16.5t-61.5 2h-819v174h819q41 0 61.5 2t41 16t20.5 43v215q0 29 -20.5 43.5t-41 16.5t-61.5 2h-1024v174h962q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-143 q0 -154 -127 -197l-27 -8q6 -2 16.5 -5t37 -19.5t47 -37t37 -59.5t16.5 -84v-307q0 -59 -17.5 -103.5t-57.5 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-962z" />
 <glyph unicode="4" horiz-adv-x="1781" d="M123 440v174l737 738h389l-737 -738h840v738h307v-1352h-307v440h-1229z" />
 <glyph unicode="5" horiz-adv-x="1781" d="M123 0v174h1106q41 0 61.5 2t41 16.5t20.5 43.5v368q0 29 -20.5 43.5t-41 16.5t-61.5 2h-1106v686h1433v-174h-1126v-338h737q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-348q0 -59 -17.5 -103.5t-57.5 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1 h-1044z" />
 <glyph unicode="6" horiz-adv-x="1781" d="M123 246v860q0 59 17.5 103t57.5 70t76.5 42t105.5 22.5t110.5 7.5t123.5 1h942v-174h-1003q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-276h737q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-348q0 -59 -17.5 -103.5t-57.5 -70t-77 -42t-105.5 -22.5 t-110.5 -7t-124 -1h-553q-82 0 -123.5 1t-110.5 7t-105.5 22.5t-76.5 42t-57.5 70t-17.5 103.5zM430 236q0 -29 20.5 -43.5t41 -16.5t61.5 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v368q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-368z " />
 <glyph unicode="7" horiz-adv-x="1781" d="M123 1178v174h1536v-174l-778 -1178h-349l779 1178h-1188z" />
-<glyph unicode="8" horiz-adv-x="1781" d="M123 963v143q0 59 17.5 103t57.5 70t76.5 42t105.5 22.5t110.5 7.5t123.5 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-143q0 -154 -127 -197l-27 -8q6 -2 16.5 -5t37 -19.5t47 -37t37 -59.5t16.5 -84v-307q0 -59 -17.5 -103.5t-57.5 -70 t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -123.5 1t-110.5 7t-105.5 22.5t-76.5 42t-57.5 69.5t-17.5 104v307q0 139 129 197l24 8q-6 0 -16 3t-36.5 16.5t-47 33.5t-37 60.5t-16.5 91.5zM430 236q0 -29 20.5 -43.5t41 -16.5t61.5 -2h676q41 0 61.5 2t41 16.5 t20.5 43.5v368q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-368zM430 901q0 -29 20.5 -43t41 -16t61.5 -2h676q41 0 61.5 2t41 16t20.5 43v215q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-215z" />
+<glyph unicode="8" horiz-adv-x="1781" d="M123 246v307q0 139 129 197l24 8q-6 0 -16 3t-36.5 16.5t-47 33.5t-37 60t-16.5 92v143q0 59 17.5 103t57.5 70t76.5 42t105.5 22.5t110.5 7.5t123.5 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-143q0 -154 -127 -197l-27 -8q6 -2 16.5 -5 t37 -19.5t47 -37t37 -59.5t16.5 -84v-307q0 -59 -17.5 -103.5t-57.5 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -123.5 1t-110.5 7t-105.5 22.5t-76.5 42t-57.5 70t-17.5 103.5zM430 236q0 -29 20.5 -43.5t41 -16.5t61.5 -2h676q41 0 61.5 2t41 16.5 t20.5 43.5v368q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-368zM430 901q0 -29 20.5 -43t41 -16t61.5 -2h676q41 0 61.5 2t41 16t20.5 43v215q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-215z" />
 <glyph unicode="9" horiz-adv-x="1781" d="M123 911v195q0 59 17.5 103t57.5 70t76.5 42t105.5 22.5t110.5 7.5t123.5 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-860q0 -59 -17.5 -103.5t-57.5 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-962v174h1024q41 0 61.5 2t41 16.5 t20.5 43.5v430h-738q-82 0 -123.5 1t-110.5 7t-105.5 22.5t-76.5 42t-57.5 69.5t-17.5 103zM430 901q0 -29 20.5 -43t41 -16t61.5 -2h676q41 0 61.5 2t41 16t20.5 43v215q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-215z" />
 <glyph unicode=":" horiz-adv-x="716" d="M205 0v246h307v-246h-307zM205 737v246h307v-246h-307z" />
 <glyph unicode=";" horiz-adv-x="757" d="M123 -307l123 553h286l-245 -553h-164zM246 737v246h307v-246h-307z" />
@@ -42,9 +45,9 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="?" horiz-adv-x="1740" d="M154 1178v174h942q82 0 124 -1t110.5 -7.5t105.5 -22.5t76.5 -42t57 -70t17.5 -103v-195q0 -59 -17.5 -103t-57 -69.5t-76.5 -42t-105.5 -22.5t-110.5 -7t-124 -1h-123q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-143h-307v133q0 59 17.5 103t57 70t76.5 42t105.5 22.5 t110.5 7.5t124 1h123q41 0 61.5 2t41 16t20.5 43v215q0 29 -20.5 43.5t-41 16.5t-61.5 2h-1003zM543 0v246h307v-246h-307z" />
 <glyph unicode="@" horiz-adv-x="2621" d="M123 -154v1301q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t102 1h1557q68 0 102.5 -1t93 -6.5t88 -18.5t63.5 -34.5t48.5 -58.5t14.5 -86v-1147h-1373q-68 0 -102.5 1t-93 6t-88 18.5t-63.5 35t-48 58.5t-14 86v573q0 49 14 86t48 58.5t63.5 35t88 18.5t93.5 6 t102 1h779v-829h307v993q0 35 -25.5 43t-77.5 8h-1597q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-1301q0 -35 25.5 -43t76.5 -8h1864v-153h-1844q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58t-14.5 85.5zM1004 205q0 -35 25.5 -43t76.5 -8h512v675h-512q-35 0 -51.5 -2 t-33.5 -13t-17 -36v-573z" />
 <glyph unicode="A" horiz-adv-x="1822" d="M41 0l676 1352h389l676 -1352h-328l-215 430h-655l-215 -430h-328zM676 614h471l-236 471z" />
-<glyph unicode="B" horiz-adv-x="1822" d="M143 0v1352h1024q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-143q0 -141 -115 -197l-18 -8q6 -2 16 -5t37 -19.5t47.5 -37t36.5 -59.5t16 -84v-307q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-1045zM451 174h798 q41 0 61.5 2t41 16.5t20.5 43.5v368q0 29 -20.5 43t-41 16.5t-61.5 2.5h-798v-492zM451 840h778q41 0 61.5 2t41 16t20.5 43v215q0 29 -20.5 43t-41 16.5t-61.5 2.5h-778v-338z" />
+<glyph unicode="B" horiz-adv-x="1822" d="M143 0v1352h1024q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-143q0 -141 -115 -197l-18 -8q6 -2 16 -5t37 -19.5t47.5 -37t36.5 -59.5t16 -84v-307q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-1045zM451 174h798 q41 0 61.5 2t41 16.5t20.5 43.5v368q0 29 -20.5 43.5t-41 16.5t-61.5 2h-798v-492zM451 840h778q41 0 61.5 2t41 16t20.5 43v215q0 29 -20.5 43.5t-41 16.5t-61.5 2h-778v-338z" />
 <glyph unicode="C" horiz-adv-x="1720" d="M143 246v860q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h942v-174h-1004q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-880q0 -29 20.5 -43.5t40.5 -16.5t61 -2h1004v-174h-942q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42t-57.5 70t-17.5 103.5z" />
-<glyph unicode="D" horiz-adv-x="1822" d="M143 0v1352h820q162 0 285.5 -30t224 -96.5t153.5 -189.5t53 -299v-409q0 -80 -23.5 -138.5t-72.5 -93.5t-95 -55.5t-126 -28.5t-126 -10t-130 -2h-963zM451 174h716q205 0 205 143v451q0 86 -16.5 151.5t-39 108.5t-67.5 73t-78.5 45t-98 22.5t-101.5 8.5t-111 1h-409 v-1004z" />
+<glyph unicode="D" horiz-adv-x="1822" d="M143 0v1352h820q162 0 285.5 -30t224 -96.5t153.5 -189.5t53 -299v-409q0 -80 -23.5 -138.5t-72.5 -93.5t-95 -55.5t-126 -28.5t-126 -10t-130 -2h-963zM451 174h716q205 0 205 143v451q0 86 -16.5 151.5t-39 108.5t-67.5 72.5t-78.5 45t-98 23t-101.5 8.5t-111 1h-409 v-1004z" />
 <glyph unicode="E" horiz-adv-x="1720" d="M143 0v1352h1434v-174h-1126v-338h1024v-174h-1024v-492h1126v-174h-1434z" />
 <glyph unicode="F" horiz-adv-x="1720" d="M143 0v1352h1434v-174h-1126v-338h1024v-174h-1024v-666h-308z" />
 <glyph unicode="G" horiz-adv-x="1822" d="M143 246v860q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h942v-174h-1004q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-880q0 -29 20.5 -43.5t40.5 -16.5t61 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v430h-307v174h614v-594q0 -59 -17 -103.5t-57 -70t-77 -42 t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42t-57.5 70t-17.5 103.5z" />
@@ -56,10 +59,10 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="M" horiz-adv-x="2150" d="M143 0v1352h410l522 -1045l522 1045h410v-1352h-307v1004l-502 -1004h-246l-501 1004v-1004h-308z" />
 <glyph unicode="N" horiz-adv-x="1822" d="M143 0v1352h328l901 -1004v1004h307v-1352h-327l-901 1004v-1004h-308z" />
 <glyph unicode="O" horiz-adv-x="1822" d="M143 246v860q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-860q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42 t-57.5 70t-17.5 103.5zM451 236q0 -29 20.5 -43.5t40.5 -16.5t61 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v880q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-880z" />
-<glyph unicode="P" horiz-adv-x="1822" d="M143 0v1352h1045q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-266q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-737v-594h-308zM451 768h798q41 0 61.5 2t41 16.5t20.5 42.5v287q0 29 -20.5 43t-41 16.5t-61.5 2.5h-798v-410z " />
+<glyph unicode="P" horiz-adv-x="1822" d="M143 0v1352h1045q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-266q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-737v-594h-308zM451 768h798q41 0 61.5 2t41 16.5t20.5 42.5v287q0 29 -20.5 43.5t-41 16.5t-61.5 2h-798v-410z " />
 <glyph unicode="Q" horiz-adv-x="1822" d="M143 246v860q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-860q0 -59 -18.5 -103.5t-57 -70t-73.5 -42t-91.5 -22.5t-87 -7t-81.5 -1l205 -205h-390l-204 205h-246q-82 0 -124 1t-110.5 7 t-105.5 22.5t-77 42t-57.5 70t-17.5 103.5zM451 236q0 -29 20.5 -43.5t40.5 -16.5t61 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v880q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-880z" />
-<glyph unicode="R" horiz-adv-x="1802" d="M123 0v1352h1044q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-195q0 -59 -17.5 -103t-57.5 -69.5t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-92l666 -666h-389l-666 666h-256v-666h-307zM430 840h799q41 0 61.5 2t41 16t20.5 43v215q0 29 -20.5 43 t-41 16.5t-61.5 2.5h-799v-338z" />
-<glyph unicode="S" horiz-adv-x="1822" d="M143 911v195q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h942v-174h-1004q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-215q0 -29 20.5 -43t40.5 -16t61 -2h615q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-348q0 -59 -17 -103.5t-57 -70 t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-1045v174h1106q41 0 61.5 2t41 16.5t20.5 43.5v368q0 29 -20.5 43.5t-41 16.5t-61.5 2h-614q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42t-57.5 69.5t-17.5 103z" />
+<glyph unicode="R" horiz-adv-x="1802" d="M123 0v1352h1044q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-195q0 -59 -17.5 -103t-57.5 -69.5t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-92l666 -666h-389l-666 666h-256v-666h-307zM430 840h799q41 0 61.5 2t41 16t20.5 43v215q0 29 -20.5 43.5 t-41 16.5t-61.5 2h-799v-338z" />
+<glyph unicode="S" horiz-adv-x="1822" d="M143 0v174h1106q41 0 61.5 2t41 16.5t20.5 43.5v368q0 29 -20.5 43.5t-41 16.5t-61.5 2h-614q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42t-57.5 69.5t-17.5 103v195q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h942v-174h-1004q-41 0 -61 -2t-40.5 -16.5 t-20.5 -43.5v-215q0 -29 20.5 -43t40.5 -16t61 -2h615q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-348q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-1045z" />
 <glyph unicode="T" horiz-adv-x="1822" d="M41 1178v174h1741v-174h-717v-1178h-307v1178h-717z" />
 <glyph unicode="U" horiz-adv-x="1822" d="M143 246v1106h308v-1116q0 -29 20.5 -43.5t40.5 -16.5t61 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v1116h307v-1106q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42t-57.5 70t-17.5 103.5z" />
 <glyph unicode="V" horiz-adv-x="1822" d="M41 1352h328l542 -1086l543 1086h328l-676 -1352h-389z" />
@@ -74,7 +77,7 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="_" horiz-adv-x="1310" d="M41 -307h1229v-154h-1229v154z" />
 <glyph unicode="`" horiz-adv-x="860" d="M154 1352h307l246 -369h-185z" />
 <glyph unicode="a" d="M123 205v205q0 49 14.5 85.5t48 58t63.5 35t88 18.5t93 6t102 1h492v164q0 35 -25.5 43t-76.5 8h-717v154h696q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-778h-779q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM410 205 q0 -35 25.5 -43t76.5 -8h512v307h-512q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-205z" />
-<glyph unicode="b" d="M123 0v1352h287v-369h491q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-778zM410 829v-675h512q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-512z" />
+<glyph unicode="b" d="M123 0v1352h287v-369h491q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-778zM410 154h512q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-512v-675z" />
 <glyph unicode="c" horiz-adv-x="1351" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h697v-154h-717q-35 0 -51.5 -2t-33.5 -13t-17 -36v-573q0 -35 25.5 -43t76.5 -8h717v-154h-697q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86z" />
 <glyph unicode="d" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h492v369h287v-1352h-779q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM410 205q0 -35 25.5 -43t76.5 -8h512v675h-512q-35 0 -51.5 -2t-33.5 -13t-17 -36v-573z" />
 <glyph unicode="e" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h369q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-317h-901v-256q0 -35 25.5 -43t76.5 -8h758v-154h-738q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM410 614h614v164 q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-164z" />
@@ -88,10 +91,10 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="m" horiz-adv-x="1925" d="M123 0v983h1270q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48 -58.5t14 -86v-778h-286v778q0 35 -26 43t-77 8h-307v-829h-287v778q0 35 -25.5 43t-76.5 8h-307v-829h-287z" />
 <glyph unicode="n" d="M123 0v983h778q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-778h-287v778q0 35 -25.5 43t-76.5 8h-512v-829h-287z" />
 <glyph unicode="o" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h369q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5 t-14.5 86zM410 205q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-573z" />
-<glyph unicode="p" d="M123 -461v1444h778q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-491v-461h-287zM410 829v-675h512q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-512z" />
+<glyph unicode="p" d="M123 -461v1444h778q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-491v-461h-287zM410 154h512q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-512v-675z" />
 <glyph unicode="q" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h779v-1444h-287v461h-492q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM410 205q0 -35 25.5 -43t76.5 -8h512v675h-512q-35 0 -51.5 -2t-33.5 -13t-17 -36v-573z" />
 <glyph unicode="r" horiz-adv-x="942" d="M123 0v778q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h287v-154h-307q-35 0 -51.5 -2t-33.5 -13t-17 -36v-778h-287z" />
-<glyph unicode="s" d="M123 666v112q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h697v-154h-717q-35 0 -51.5 -2t-33.5 -13t-17 -36v-112q0 -35 25.5 -43.5t76.5 -8.5h389q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58t14.5 -85.5v-205q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35 t-88 -18.5t-93 -6t-102.5 -1h-778v154h799q35 0 51 2t33.5 13t17.5 36v205q0 35 -25.5 43t-76.5 8h-390q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86z" />
+<glyph unicode="s" d="M123 0v154h799q35 0 51 2t33.5 13t17.5 36v205q0 35 -25.5 43t-76.5 8h-390q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58t-14.5 86.5v112q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h697v-154h-717q-35 0 -51.5 -2t-33.5 -13t-17 -36v-112q0 -35 25.5 -43.5 t76.5 -8.5h389q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58t14.5 -85.5v-205q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-778z" />
 <glyph unicode="t" horiz-adv-x="942" d="M123 205v1147h287v-369h409v-154h-409v-624q0 -35 25.5 -43t76.5 -8h307v-154h-287q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86z" />
 <glyph unicode="u" d="M123 205v778h287v-778q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v778h287v-778q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86z" />
 <glyph unicode="v" horiz-adv-x="1392" d="M41 983h287l368 -737l369 737h287l-492 -983h-328z" />
@@ -101,8 +104,8 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="z" d="M123 0v154l778 675h-737v154h1106v-154l-778 -675h819v-154h-1188z" />
 <glyph unicode="{" horiz-adv-x="1280" d="M154 358v205l348 174v410q0 49 14 86t48 58.5t63.5 34.5t88 18.5t93.5 6.5t102 1h246v-154h-307q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-512l-349 -174l349 -174v-543q0 -35 25.5 -43t76.5 -8h307v-154h-246q-68 0 -102.5 1t-93 6t-88 18.5t-63.5 35t-48 58.5t-14 86 v440z" />
 <glyph unicode="|" horiz-adv-x="655" d="M205 -461v1813h246v-1813h-246z" />
-<glyph unicode="}" horiz-adv-x="1280" d="M123 1198v154h246q68 0 102.5 -1t93 -6.5t88 -18.5t63.5 -34.5t48 -58.5t14 -86v-410l348 -174v-205l-348 -174v-440q0 -49 -14 -86t-48 -58.5t-63.5 -35t-88 -18.5t-93.5 -6t-102 -1h-246v154h307q35 0 51.5 2t33.5 13t17 36v543l349 174l-349 174v512q0 35 -25.5 43 t-76.5 8h-307z" />
-<glyph unicode="~" horiz-adv-x="1454" d="M123 471q106 215 168.5 292t169.5 77q51 0 133 -41l307 -154q12 -6 31 -6q16 0 30.5 12.5t34 42t31.5 52.5l37 73h266q-106 -215 -168.5 -291.5t-169.5 -76.5q-51 0 -133 41l-307 153q-12 6 -31 6q-16 0 -30.5 -12t-34 -42t-31.5 -53l-37 -73h-266z" />
+<glyph unicode="}" horiz-adv-x="1280" d="M123 -307h307q35 0 51.5 2t33.5 13t17 36v543l349 174l-349 174v512q0 35 -25.5 43t-76.5 8h-307v154h246q68 0 102.5 -1t93 -6.5t88 -18.5t63.5 -34.5t48 -58.5t14 -86v-410l348 -174v-205l-348 -174v-440q0 -49 -14 -86t-48 -58.5t-63.5 -35t-88 -18.5t-93.5 -6 t-102 -1h-246v154z" />
+<glyph unicode="~" horiz-adv-x="1454" d="M123 471q106 215 168.5 292t169.5 77q51 0 133 -41l307 -154q12 -6 31 -6q16 0 30.5 12.5t34 42t31.5 53t37 72.5h266q-106 -215 -168.5 -291.5t-169.5 -76.5q-51 0 -133 41l-307 153q-12 6 -31 6q-16 0 -30.5 -12t-34 -42t-31.5 -53.5t-37 -72.5h-266z" />
 <glyph unicode="&#xa1;" horiz-adv-x="614" d="M154 430h307v-891h-307v891zM154 645v246h307v-246h-307z" />
 <glyph unicode="&#xa2;" horiz-adv-x="1351" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h123v154h205v-154h369v-154h-369v-675h369v-154h-369v-154h-205v154h-123q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM410 205q0 -35 25.5 -43t76.5 -8h143v675h-143q-35 0 -51.5 -2 t-33.5 -13t-17 -36v-573z" />
 <glyph unicode="&#xa3;" horiz-adv-x="1781" d="M123 0v174h205v492h-205v153h205v287q0 59 17 103t57 70t77 42t105.5 22.5t110.5 7.5t124 1h348q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-123h-307v133q0 29 -20.5 43.5t-41 16.5t-61.5 2h-471q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-297h512 v-153h-512v-492h1024v-174h-1536z" />
@@ -128,7 +131,7 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="&#xb7;" horiz-adv-x="716" d="M205 369v245h307v-245h-307z" />
 <glyph unicode="&#xb8;" horiz-adv-x="921" d="M154 -205h327q27 0 41.5 1t27.5 11.5t13 28.5v164h205v-143q0 -39 -11.5 -69t-38 -47t-51 -27.5t-70.5 -14.5t-73.5 -5t-83.5 -1h-286v102z" />
 <glyph unicode="&#xb9;" horiz-adv-x="655" d="M123 1167v144l164 41h245v-697h-245v553z" />
-<glyph unicode="&#xba;" horiz-adv-x="1105" d="M123 819v369q0 39 11 68.5t38 47t51.5 27.5t70.5 14.5t73.5 5.5t83.5 1h204q55 0 83 -1t74 -5.5t70.5 -14.5t51.5 -27.5t38 -47t11 -68.5v-369q0 -39 -11 -68.5t-38 -47t-51.5 -27.5t-70.5 -14.5t-73.5 -5.5t-83.5 -1h-204q-55 0 -83 1t-74 5.5t-70.5 14.5t-51.5 27.5 t-38 47t-11 68.5zM123 410v122h860v-122h-860zM369 819q0 -18 13 -28.5t27.5 -11.5t41.5 -1h204q27 0 41.5 1t27.5 11.5t13 28.5v369q0 18 -13 28.5t-27.5 11.5t-41.5 1h-204q-27 0 -41.5 -1t-27.5 -11.5t-13 -28.5v-369z" />
+<glyph unicode="&#xba;" horiz-adv-x="1105" d="M123 410v122h860v-122h-860zM123 819v369q0 39 11 68.5t38 47t51.5 27.5t70.5 14.5t73.5 5.5t83.5 1h204q55 0 83 -1t74 -5.5t70.5 -14.5t51.5 -27.5t38 -47t11 -68.5v-369q0 -39 -11 -68.5t-38 -47t-51.5 -27.5t-70.5 -14.5t-73.5 -5.5t-83.5 -1h-204q-55 0 -83 1 t-74 5.5t-70.5 14.5t-51.5 27.5t-38 47t-11 68.5zM369 819q0 -18 13 -28.5t27.5 -11.5t41.5 -1h204q27 0 41.5 1t27.5 11.5t13 28.5v369q0 18 -13 28.5t-27.5 11.5t-41.5 1h-204q-27 0 -41.5 -1t-27.5 -11.5t-13 -28.5v-369z" />
 <glyph unicode="&#xbb;" horiz-adv-x="1351" d="M123 82l369 410l-369 409h246l409 -409l-409 -410h-246zM573 82l369 410l-369 409h246l410 -409l-410 -410h-246z" />
 <glyph unicode="&#xbc;" horiz-adv-x="2027" d="M123 1167v144l164 41h245v-697h-245v553zM451 0l675 1352h246l-676 -1352h-245zM1044 205v123l369 368h492v-696h-246v205h-615zM1311 328h348v348z" />
 <glyph unicode="&#xbd;" horiz-adv-x="2027" d="M123 1167v144l164 41h245v-697h-245v553zM451 0l675 1352h246l-676 -1352h-245zM1044 0v276q0 39 11.5 69t38 47.5t51 27.5t71 14t74 5t82.5 1h205q27 0 41 1t27.5 11.5t13.5 28.5v51q0 18 -13.5 28.5t-27.5 11.5t-41 1h-492v123h492q55 0 83 -1t74 -5t70.5 -14t51 -27.5 t38 -47.5t11.5 -69v-51q0 -39 -11.5 -68.5t-38 -47t-51 -27.5t-70.5 -14.5t-74 -5.5t-83 -1h-205q-27 0 -41 -1t-27.5 -11t-13.5 -29v-153h615v-123h-861z" />
@@ -137,7 +140,7 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="&#xc0;" horiz-adv-x="1822" d="M41 0l676 1352h389l676 -1352h-328l-215 430h-655l-215 -430h-328zM451 1864h307l246 -369h-185zM676 614h471l-236 471z" />
 <glyph unicode="&#xc1;" horiz-adv-x="1822" d="M41 0l676 1352h389l676 -1352h-328l-215 430h-655l-215 -430h-328zM676 614h471l-236 471zM819 1495l246 369h307l-368 -369h-185z" />
 <glyph unicode="&#xc2;" horiz-adv-x="1822" d="M41 0l676 1352h389l676 -1352h-328l-215 430h-655l-215 -430h-328zM502 1495l307 307h205l307 -307h-205l-205 174l-204 -174h-205zM676 614h471l-236 471z" />
-<glyph unicode="&#xc3;" horiz-adv-x="1822" d="M41 0l676 1352h389l676 -1352h-328l-215 430h-655l-215 -430h-328zM430 1516q66 197 113 262t143 65q45 0 113 -41l205 -123q68 -41 92 -41q14 0 27.5 11.5t29.5 45.5l25 53l30 75h185q-66 -197 -113 -262.5t-143 -65.5q-45 0 -113 41l-205 123q-68 41 -92 41 q-14 0 -27.5 -11.5t-30 -45t-24.5 -53.5l-31 -74h-184zM676 614h471l-236 471z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1822" d="M41 0l676 1352h389l676 -1352h-328l-215 430h-655l-215 -430h-328zM430 1516q66 197 113 262t143 65q45 0 113 -41l205 -123q68 -41 92 -41q14 0 27.5 11.5t29.5 45.5t24.5 53t30.5 75h185q-66 -197 -113 -262.5t-143 -65.5q-45 0 -113 41l-205 123q-68 41 -92 41 q-14 0 -27.5 -11.5t-30 -45t-24.5 -53t-31 -74.5h-184zM676 614h471l-236 471z" />
 <glyph unicode="&#xc4;" horiz-adv-x="1822" d="M41 0l676 1352h389l676 -1352h-328l-215 430h-655l-215 -430h-328zM543 1495v205h245v-205h-245zM676 614h471l-236 471zM1034 1495v205h246v-205h-246z" />
 <glyph unicode="&#xc5;" horiz-adv-x="1822" d="M41 0l676 1352h389l676 -1352h-328l-215 430h-655l-215 -430h-328zM553 1563v82q0 41 11 69.5t38 46t51.5 27.5t70.5 14t73.5 5t83.5 1h61q55 0 83 -1t74 -5t70.5 -14t51 -27.5t38 -46t11.5 -69.5v-82q0 -39 -11.5 -69t-38 -46t-51 -27.5t-70.5 -15.5t-74 -5t-83 -1h-61 q-55 0 -83 1t-74 5t-70.5 15.5t-51.5 27.5t-38 46t-11 69zM676 614h471l-236 471zM758 1542q0 -18 13 -27.5t27.5 -11.5t41.5 -2h143q27 0 41 2t27.5 11.5t13.5 27.5v123q0 20 -13.5 29.5t-27.5 10.5t-41 1h-143q-27 0 -41.5 -1t-27.5 -10t-13 -30v-123z" />
 <glyph unicode="&#xc6;" horiz-adv-x="2641" d="M41 0l676 1352h1782v-174h-1024v-338h921v-174h-921v-492h1024v-174h-1332v430h-583l-215 -430h-328zM676 614h491v562h-211z" />
@@ -150,12 +153,12 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="&#xcd;" horiz-adv-x="593" d="M102 1495l246 369h307l-368 -369h-185zM143 0v1352h308v-1352h-308z" />
 <glyph unicode="&#xce;" horiz-adv-x="593" d="M-113 1495l308 307h204l308 -307h-205l-205 174l-205 -174h-205zM143 0v1352h308v-1352h-308z" />
 <glyph unicode="&#xcf;" horiz-adv-x="593" d="M-72 1495v205h246v-205h-246zM143 0v1352h308v-1352h-308zM420 1495v205h246v-205h-246z" />
-<glyph unicode="&#xd0;" horiz-adv-x="1884" d="M41 676v153h164v523h819q162 0 286 -30t224 -96.5t153.5 -189.5t53.5 -299v-409q0 -80 -23.5 -138.5t-73 -93.5t-95.5 -55.5t-126 -28.5t-126 -10t-130 -2h-962v676h-164zM512 174h717q205 0 205 143v451q0 86 -16.5 151.5t-39 108.5t-67.5 73t-79 45t-98.5 22.5 t-101.5 8.5t-110 1h-410v-349h461v-153h-461v-502z" />
-<glyph unicode="&#xd1;" horiz-adv-x="1822" d="M143 0v1352h328l901 -1004v1004h307v-1352h-327l-901 1004v-1004h-308zM430 1516q66 197 113 262t143 65q45 0 113 -41l205 -123q68 -41 92 -41q14 0 27.5 11.5t29.5 45.5l25 53l30 75h185q-66 -197 -113 -262.5t-143 -65.5q-45 0 -113 41l-205 123q-68 41 -92 41 q-14 0 -27.5 -11.5t-30 -45t-24.5 -53.5l-31 -74h-184z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1884" d="M41 676v153h164v523h819q162 0 286 -30t224 -96.5t153.5 -189.5t53.5 -299v-409q0 -80 -23.5 -138.5t-73 -93.5t-95.5 -55.5t-126 -28.5t-126 -10t-130 -2h-962v676h-164zM512 174h717q205 0 205 143v451q0 86 -16.5 151.5t-39 108.5t-67.5 72.5t-79 45t-98.5 23 t-101.5 8.5t-110 1h-410v-349h461v-153h-461v-502z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1822" d="M143 0v1352h328l901 -1004v1004h307v-1352h-327l-901 1004v-1004h-308zM430 1516q66 197 113 262t143 65q45 0 113 -41l205 -123q68 -41 92 -41q14 0 27.5 11.5t29.5 45.5t24.5 53t30.5 75h185q-66 -197 -113 -262.5t-143 -65.5q-45 0 -113 41l-205 123q-68 41 -92 41 q-14 0 -27.5 -11.5t-30 -45t-24.5 -53t-31 -74.5h-184z" />
 <glyph unicode="&#xd2;" horiz-adv-x="1822" d="M143 246v860q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-860q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42 t-57.5 70t-17.5 103.5zM451 236q0 -29 20.5 -43.5t40.5 -16.5t61 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v880q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-880zM451 1864h307l246 -369h-185z" />
 <glyph unicode="&#xd3;" horiz-adv-x="1822" d="M143 246v860q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-860q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42 t-57.5 70t-17.5 103.5zM451 236q0 -29 20.5 -43.5t40.5 -16.5t61 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v880q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-880zM819 1495l246 369h307l-368 -369h-185z" />
 <glyph unicode="&#xd4;" horiz-adv-x="1822" d="M143 246v860q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-860q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42 t-57.5 70t-17.5 103.5zM451 236q0 -29 20.5 -43.5t40.5 -16.5t61 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v880q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-880zM502 1495l307 307h205l307 -307h-205l-205 174l-204 -174h-205z" />
-<glyph unicode="&#xd5;" horiz-adv-x="1822" d="M143 246v860q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-860q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42 t-57.5 70t-17.5 103.5zM430 1516q66 197 113 262t143 65q45 0 113 -41l205 -123q68 -41 92 -41q14 0 27.5 11.5t29.5 45.5l25 53l30 75h185q-66 -197 -113 -262.5t-143 -65.5q-45 0 -113 41l-205 123q-68 41 -92 41q-14 0 -27.5 -11.5t-30 -45t-24.5 -53.5l-31 -74h-184z M451 236q0 -29 20.5 -43.5t40.5 -16.5t61 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v880q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-880z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1822" d="M143 246v860q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-860q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42 t-57.5 70t-17.5 103.5zM430 1516q66 197 113 262t143 65q45 0 113 -41l205 -123q68 -41 92 -41q14 0 27.5 11.5t29.5 45.5t24.5 53t30.5 75h185q-66 -197 -113 -262.5t-143 -65.5q-45 0 -113 41l-205 123q-68 41 -92 41q-14 0 -27.5 -11.5t-30 -45t-24.5 -53t-31 -74.5h-184 zM451 236q0 -29 20.5 -43.5t40.5 -16.5t61 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v880q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-880z" />
 <glyph unicode="&#xd6;" horiz-adv-x="1822" d="M143 246v860q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57 -70t17 -103v-860q0 -59 -17 -103.5t-57 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42 t-57.5 70t-17.5 103.5zM451 236q0 -29 20.5 -43.5t40.5 -16.5t61 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v880q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-880zM543 1495v205h245v-205h-245zM1034 1495v205h246v-205h-246z" />
 <glyph unicode="&#xd7;" horiz-adv-x="1228" d="M123 164l328 328l-328 327l164 164l327 -328l328 328l164 -164l-328 -327l328 -328l-164 -164l-328 328l-327 -328z" />
 <glyph unicode="&#xd8;" horiz-adv-x="2027" d="M41 195v184l205 82v645q0 59 17.5 103t57 70t76.5 42t105.5 22.5t110.5 7.5t124 1h553q82 0 124 -1t110.5 -7.5t105.5 -22.5t77 -42t57.5 -70t17.5 -103v-31l205 82v-184l-205 -82v-645q0 -59 -17.5 -103.5t-57.5 -70t-77 -42t-105.5 -22.5t-110.5 -7t-124 -1h-553 q-82 0 -124 1t-110.5 7t-105.5 22.5t-76.5 42t-57 69.5t-17.5 104v30zM553 236q0 -29 20.5 -43.5t41 -16.5t61.5 -2h676q41 0 61.5 2t41 16.5t20.5 43.5v532l-922 -369v-163zM553 584l922 368v164q0 29 -20.5 43.5t-41 16.5t-61.5 2h-676q-41 0 -61.5 -2t-41 -16.5 t-20.5 -43.5v-532z" />
@@ -169,7 +172,7 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="&#xe0;" d="M123 205v205q0 49 14.5 85.5t48 58t63.5 35t88 18.5t93 6t102 1h492v164q0 35 -25.5 43t-76.5 8h-717v154h696q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-778h-779q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM256 1495h307 l246 -369h-184zM410 205q0 -35 25.5 -43t76.5 -8h512v307h-512q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-205z" />
 <glyph unicode="&#xe1;" d="M123 205v205q0 49 14.5 85.5t48 58t63.5 35t88 18.5t93 6t102 1h492v164q0 35 -25.5 43t-76.5 8h-717v154h696q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-778h-779q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM410 205 q0 -35 25.5 -43t76.5 -8h512v307h-512q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-205zM625 1126l245 369h308l-369 -369h-184z" />
 <glyph unicode="&#xe2;" d="M123 205v205q0 49 14.5 85.5t48 58t63.5 35t88 18.5t93 6t102 1h492v164q0 35 -25.5 43t-76.5 8h-717v154h696q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-778h-779q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM307 1126l307 308 h205l307 -308h-204l-205 174l-205 -174h-205zM410 205q0 -35 25.5 -43t76.5 -8h512v307h-512q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-205z" />
-<glyph unicode="&#xe3;" d="M123 205v205q0 49 14.5 85.5t48 58t63.5 35t88 18.5t93 6t102 1h492v164q0 35 -25.5 43t-76.5 8h-717v154h696q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-778h-779q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM236 1147 q66 197 113.5 262.5t142.5 65.5q45 0 112 -41l205 -123q68 -41 92 -41q14 0 27.5 11t30 45t24.5 53l31 75h184q-66 -197 -114 -262.5t-142 -65.5q-45 0 -113 41l-204 123q-68 41 -93 41q-14 0 -27 -11t-29.5 -45t-24.5 -53l-31 -75h-184zM410 205q0 -35 25.5 -43t76.5 -8 h512v307h-512q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-205z" />
+<glyph unicode="&#xe3;" d="M123 205v205q0 49 14.5 85.5t48 58t63.5 35t88 18.5t93 6t102 1h492v164q0 35 -25.5 43t-76.5 8h-717v154h696q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-778h-779q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM236 1147 q66 197 113.5 262.5t142.5 65.5q45 0 112 -41l205 -123q68 -41 92 -41q14 0 27.5 11t30 45t24.5 53.5t31 74.5h184q-66 -197 -114 -262.5t-142 -65.5q-45 0 -113 41l-204 123q-68 41 -93 41q-14 0 -27 -11t-29.5 -45t-25 -53.5t-30.5 -74.5h-184zM410 205q0 -35 25.5 -43 t76.5 -8h512v307h-512q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-205z" />
 <glyph unicode="&#xe4;" d="M123 205v205q0 49 14.5 85.5t48 58t63.5 35t88 18.5t93 6t102 1h492v164q0 35 -25.5 43t-76.5 8h-717v154h696q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-778h-779q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM348 1126v205h246 v-205h-246zM410 205q0 -35 25.5 -43t76.5 -8h512v307h-512q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-205zM840 1126v205h245v-205h-245z" />
 <glyph unicode="&#xe5;" d="M123 205v205q0 49 14.5 85.5t48 58t63.5 35t88 18.5t93 6t102 1h492v164q0 35 -25.5 43t-76.5 8h-717v154h696q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-778h-779q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM358 1290v82 q0 39 11.5 68.5t38 47t51 28t70.5 14.5t74 5t83 1h62q55 0 82.5 -1t73.5 -5t70.5 -14.5t51.5 -28t38 -47t11 -68.5v-82q0 -39 -11 -68.5t-38 -47t-51.5 -27.5t-70.5 -14.5t-73.5 -5.5t-82.5 -1h-62q-55 0 -83 1t-74 5.5t-70.5 14.5t-51 27.5t-38 47t-11.5 68.5zM410 205 q0 -35 25.5 -43t76.5 -8h512v307h-512q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-205zM563 1270q0 -18 13.5 -28.5t27.5 -11.5t41 -1h143q27 0 41.5 1t27.5 11t13 29v123q0 18 -13 28.5t-27.5 11.5t-41.5 1h-143q-27 0 -41 -1t-27.5 -11.5t-13.5 -28.5v-123z" />
 <glyph unicode="&#xe6;" horiz-adv-x="2334" d="M123 205v205q0 49 14.5 85.5t48 58t63.5 35t88 18.5t93 6t102 1h492v164q0 35 -25.5 43t-76.5 8h-717v154h1597q68 0 102.5 -1t93 -6t88.5 -18.5t63.5 -35t48 -58.5t14.5 -86v-317h-901v-256q0 -35 25.5 -43t76.5 -8h758v-154h-1639q-68 0 -102.5 1t-92.5 6t-88 18.5 t-63.5 35t-48 58.5t-14.5 86zM410 205q0 -35 25.5 -43t76.5 -8h512v307h-512q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-205zM1311 614h614v164q0 35 -25.5 43t-76.5 8h-410q-35 0 -51 -2t-33.5 -13t-17.5 -36v-164z" />
@@ -182,12 +185,12 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="&#xed;" horiz-adv-x="593" d="M20 1126l246 369h307l-368 -369h-185zM154 0v983h286v-983h-286z" />
 <glyph unicode="&#xee;" horiz-adv-x="593" d="M-113 1126l308 308h204l308 -308h-205l-205 174l-205 -174h-205zM154 0v983h286v-983h-286z" />
 <glyph unicode="&#xef;" horiz-adv-x="593" d="M-72 1126v205h246v-205h-246zM154 0v983h286v-983h-286zM420 1126v205h246v-205h-246z" />
-<glyph unicode="&#xf0;" d="M123 205v358q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h369q61 0 72 20q3 7 3 16q0 18 -13 46l-62 123l-225 -113l-62 123l226 113l-123 245h307l61 -122l164 81l62 -122l-164 -82l82 -164q39 -76 57.5 -166t21.5 -148.5t3 -166.5v-246q0 -49 -14.5 -86 t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM410 205q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v358q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-358z" />
-<glyph unicode="&#xf1;" d="M123 0v983h778q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-778h-287v778q0 35 -25.5 43t-76.5 8h-512v-829h-287zM236 1147q66 197 113.5 262.5t142.5 65.5q45 0 112 -41l205 -123q68 -41 92 -41q14 0 27.5 11t30 45t24.5 53l31 75h184 q-66 -197 -114 -262.5t-142 -65.5q-45 0 -113 41l-204 123q-68 41 -93 41q-14 0 -27 -11t-29.5 -45t-24.5 -53l-31 -75h-184z" />
+<glyph unicode="&#xf0;" d="M123 205v358q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h369q61 0 71.5 20.5t-9.5 61.5l-62 123l-225 -113l-62 123l226 113l-123 245h307l61 -122l164 81l62 -122l-164 -82l82 -164q39 -76 57.5 -166t21.5 -148.5t3 -166.5v-246q0 -49 -14.5 -86t-48.5 -58.5 t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM410 205q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v358q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-358z" />
+<glyph unicode="&#xf1;" d="M123 0v983h778q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-778h-287v778q0 35 -25.5 43t-76.5 8h-512v-829h-287zM236 1147q66 197 113.5 262.5t142.5 65.5q45 0 112 -41l205 -123q68 -41 92 -41q14 0 27.5 11t30 45t24.5 53.5t31 74.5h184 q-66 -197 -114 -262.5t-142 -65.5q-45 0 -113 41l-204 123q-68 41 -93 41q-14 0 -27 -11t-29.5 -45t-25 -53.5t-30.5 -74.5h-184z" />
 <glyph unicode="&#xf2;" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h369q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5 t-14.5 86zM256 1495h307l246 -369h-184zM410 205q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-573z" />
 <glyph unicode="&#xf3;" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h369q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5 t-14.5 86zM410 205q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-573zM625 1126l245 369h308l-369 -369h-184z" />
 <glyph unicode="&#xf4;" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h369q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5 t-14.5 86zM307 1126l307 308h205l307 -308h-204l-205 174l-205 -174h-205zM410 205q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-573z" />
-<glyph unicode="&#xf5;" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h369q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5 t-14.5 86zM236 1147q66 197 113.5 262.5t142.5 65.5q45 0 112 -41l205 -123q68 -41 92 -41q14 0 27.5 11t30 45t24.5 53l31 75h184q-66 -197 -114 -262.5t-142 -65.5q-45 0 -113 41l-204 123q-68 41 -93 41q-14 0 -27 -11t-29.5 -45t-24.5 -53l-31 -75h-184zM410 205 q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-573z" />
+<glyph unicode="&#xf5;" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h369q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5 t-14.5 86zM236 1147q66 197 113.5 262.5t142.5 65.5q45 0 112 -41l205 -123q68 -41 92 -41q14 0 27.5 11t30 45t24.5 53.5t31 74.5h184q-66 -197 -114 -262.5t-142 -65.5q-45 0 -113 41l-204 123q-68 41 -93 41q-14 0 -27 -11t-29.5 -45t-25 -53.5t-30.5 -74.5h-184z M410 205q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-573z" />
 <glyph unicode="&#xf6;" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h369q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5 t-14.5 86zM348 1126v205h246v-205h-246zM410 205q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-573zM840 1126v205h245v-205h-245z" />
 <glyph unicode="&#xf7;" d="M123 389v205h1188v-205h-1188zM563 0v246h307v-246h-307zM563 737v246h307v-246h-307z" />
 <glyph unicode="&#xf8;" horiz-adv-x="1597" d="M41 186v156l164 49v387q0 49 14 86t48 58.5t63.5 35t88 18.5t93.5 6t102 1h369q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-30l163 49v-156l-163 -49v-387q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1 t-93 6t-88 18.5t-63.5 35t-48 58.5t-14 86v31zM492 205q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v301l-614 -184v-117zM492 477l614 185v116q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-301z" />
@@ -196,13 +199,13 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="&#xfb;" d="M123 205v778h287v-778q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v778h287v-778q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM307 1126l307 308h205l307 -308 h-204l-205 174l-205 -174h-205z" />
 <glyph unicode="&#xfc;" d="M123 205v778h287v-778q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v778h287v-778q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-369q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM348 1126v205h246v-205h-246z M840 1126v205h245v-205h-245z" />
 <glyph unicode="&#xfd;" horiz-adv-x="1392" d="M41 983h287l368 -737l369 737h287l-615 -1229q-39 -76 -65.5 -113.5t-88 -69.5t-153.5 -32h-266v154h164q66 0 86 15.5t47 66.5l51 102q31 61 31 82t-31 82zM625 1126l245 369h308l-369 -369h-184z" />
-<glyph unicode="&#xfe;" d="M123 -461v1813h287v-369h491q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-491v-461h-287zM410 829v-675h512q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-512z" />
+<glyph unicode="&#xfe;" d="M123 -461v1813h287v-369h491q68 0 102.5 -1t93 -6t88 -18.5t63.5 -35t48.5 -58.5t14.5 -86v-573q0 -49 -14.5 -86t-48.5 -58.5t-63.5 -35t-88 -18.5t-93 -6t-102.5 -1h-491v-461h-287zM410 154h512q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-512v-675z" />
 <glyph unicode="&#xff;" horiz-adv-x="1392" d="M41 983h287l368 -737l369 737h287l-615 -1229q-39 -76 -65.5 -113.5t-88 -69.5t-153.5 -32h-266v154h164q66 0 86 15.5t47 66.5l51 102q31 61 31 82t-31 82zM328 1126v205h245v-205h-245zM819 1126v205h246v-205h-246z" />
 <glyph unicode="&#x152;" horiz-adv-x="2744" d="M143 246v860q0 59 17.5 103t57.5 70t77 42t105.5 22.5t110.5 7.5t124 1h1966v-174h-1024v-338h922v-174h-922v-492h1024v-174h-1966q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42t-57.5 70t-17.5 103.5zM451 236q0 -29 20.5 -43.5t40.5 -16.5t61 -2h574q41 0 61.5 2 t41 16.5t20.5 43.5v880q0 29 -20.5 43.5t-41 16.5t-61.5 2h-574q-41 0 -61 -2t-40.5 -16.5t-20.5 -43.5v-880z" />
 <glyph unicode="&#x153;" horiz-adv-x="2334" d="M123 205v573q0 49 14.5 86t48 58.5t63.5 35t88 18.5t93 6t102 1h1270q68 0 102.5 -1t93 -6t88.5 -18.5t63.5 -35t48 -58.5t14.5 -86v-317h-901v-256q0 -35 25.5 -43t76.5 -8h758v-154h-1639q-68 0 -102.5 1t-92.5 6t-88 18.5t-63.5 35t-48 58.5t-14.5 86zM410 205 q0 -35 25.5 -43t76.5 -8h410q35 0 51 2t33.5 13t17.5 36v573q0 35 -25.5 43t-76.5 8h-410q-35 0 -51.5 -2t-33.5 -13t-17 -36v-573zM1311 614h614v164q0 35 -25.5 43t-76.5 8h-410q-35 0 -51 -2t-33.5 -13t-17.5 -36v-164z" />
 <glyph unicode="&#x178;" horiz-adv-x="1822" d="M41 1352h389l481 -482l482 482h389l-717 -717v-635h-307v635zM543 1495v205h245v-205h-245zM1034 1495v205h246v-205h-246z" />
 <glyph unicode="&#x2c6;" horiz-adv-x="1126" d="M154 1044l307 308h205l307 -308h-205l-205 175l-205 -175h-204z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="1269" d="M154 1004q66 197 113.5 262t142.5 65q45 0 112 -41l205 -123q68 -41 92 -41q14 0 27.5 11.5t30 45.5t24.5 53l31 75h184q-66 -197 -114 -262.5t-142 -65.5q-45 0 -112 41l-205 123q-68 41 -92 41q-14 0 -27.5 -11.5t-30 -45t-24.5 -53.5l-31 -74h-184z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1269" d="M154 1004q66 197 113.5 262t142.5 65q45 0 112 -41l205 -123q68 -41 92 -41q14 0 27.5 11.5t30 45.5t24.5 53t31 75h184q-66 -197 -114 -262.5t-142 -65.5q-45 0 -112 41l-205 123q-68 41 -92 41q-14 0 -27.5 -11.5t-30 -45t-25 -53t-30.5 -74.5h-184z" />
 <glyph unicode="&#x2013;" horiz-adv-x="1024" d="M41 389v205h942v-205h-942z" />
 <glyph unicode="&#x2014;" horiz-adv-x="2048" d="M41 389v205h1966v-205h-1966z" />
 <glyph unicode="&#x2018;" horiz-adv-x="675" d="M154 840l204 512h164l-102 -512h-266z" />
@@ -218,9 +221,9 @@ Copyright   : Copyright C 2011 Severin Meyer Created with FontForge and Inkscape
 <glyph unicode="&#x20ac;" horiz-adv-x="1884" d="M123 492v153h205v123h-205v154h205v184q0 59 17 103t57 70t77 42t105.5 22.5t110.5 7.5t124 1h942v-174h-1003q-41 0 -61.5 -2t-41 -16.5t-20.5 -43.5v-194h768l-51 -154h-717v-123h676l-51 -153h-625v-256q0 -29 20.5 -43.5t41 -16.5t61.5 -2h1003v-174h-942 q-82 0 -124 1t-110.5 7t-105.5 22.5t-77 42t-57 69.5t-17 104v246h-205z" />
 <glyph unicode="&#x2122;" horiz-adv-x="2293" d="M123 1229v123h819v-123h-287v-574h-245v574h-287zM1065 655v697h307l246 -492l246 492h307v-697h-246v430l-205 -409h-204l-205 409v-430h-246z" />
 <glyph unicode="&#xe000;" horiz-adv-x="985" d="M0 985h985v-985h-985v985z" />
-<glyph unicode="&#xfb01;" horiz-adv-x="1474" d="M123 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t102 1h287v-154h-307q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-164h409v-154h-409v-829h-287zM1065 0v983h287v-983h-287zM1065 1147v205h287v-205h-287z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="1474" d="M123 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t102 1h287v-154h-307q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-164h409v-154h-409v-829h-287zM1065 184v1168h287v-1372q-287 -1 -287 204z" />
-<glyph unicode="&#xfb03;" horiz-adv-x="2416" d="M123 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t102 1h287v-154h-307q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-164h409v-154h-409v-829h-287zM1065 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t103 1h286v-154h-307q-35 0 -51.5 -2t-33.5 -13.5 t-17 -35.5v-164h409v-154h-409v-829h-287zM2007 0v983h287v-983h-287zM2007 1147v205h287v-205h-287z" />
-<glyph unicode="&#xfb04;" horiz-adv-x="2416" d="M123 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t102 1h287v-154h-307q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-164h409v-154h-409v-829h-287zM1065 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t103 1h286v-154h-307q-35 0 -51.5 -2t-33.5 -13.5 t-17 -35.5v-164h409v-154h-409v-829h-287zM2007 184v1168h287v-1372q-287 -1 -287 204z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1474" d="M1065 0v983h287v-983h-287zM1065 1147v205h287v-205h-287zM123 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t102 1h287v-154h-307q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-164h409v-154h-409v-829h-287z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1474" d="M1065 184v1168h287v-1372q-287 -1 -287 204zM123 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t102 1h287v-154h-307q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-164h409v-154h-409v-829h-287z" />
+<glyph unicode="&#xfb03;" horiz-adv-x="2416" d="M2007 0v983h287v-983h-287zM2007 1147v205h287v-205h-287zM1065 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t102 1h287v-154h-307q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-164h409v-154h-409v-829h-287zM123 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5 t93 6.5t102 1h287v-154h-307q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-164h409v-154h-409v-829h-287z" />
+<glyph unicode="&#xfb04;" horiz-adv-x="2416" d="M2007 184v1168h287v-1372q-287 -1 -287 204zM1065 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t102 1h287v-154h-307q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-164h409v-154h-409v-829h-287zM123 0v1147q0 49 14.5 86t48 58.5t63.5 34.5t88 18.5t93 6.5t102 1 h287v-154h-307q-35 0 -51.5 -2t-33.5 -13.5t-17 -35.5v-164h409v-154h-409v-829h-287z" />
 </font>
 </defs></svg> 
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
index 4e8e4ae..98e7dd7
Binary files a/xonstat/static/css/fonts/xolonium-webfont.ttf and b/xonstat/static/css/fonts/xolonium-webfont.ttf differ
old mode 100755 (executable)
new mode 100644 (file)
index ab7d537..368cdbd
Binary files a/xonstat/static/css/fonts/xolonium-webfont.woff and b/xonstat/static/css/fonts/xolonium-webfont.woff differ
diff --git a/xonstat/static/css/img/Xonotic_icon.png b/xonstat/static/css/img/Xonotic_icon.png
new file mode 100644 (file)
index 0000000..24170fa
Binary files /dev/null and b/xonstat/static/css/img/Xonotic_icon.png differ
diff --git a/xonstat/static/css/img/Xonotic_icon.svg b/xonstat/static/css/img/Xonotic_icon.svg
new file mode 100644 (file)
index 0000000..d907057
--- /dev/null
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="48" height="48" id="svg2" sodipodi:version="0.32" inkscape:version="0.47 r22583" version="1.0" sodipodi:docname="xonotic_icon.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" inkscape:export-xdpi="120" inkscape:export-ydpi="120">
+  <defs id="defs4">
+    <linearGradient id="linearGradient3663">
+      <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop3667"/>
+      <stop id="stop3629" offset="0.25" style="stop-color:#000000;stop-opacity:1;"/>
+      <stop id="stop3659" offset="0.94" style="stop-color:#000f1f;stop-opacity:1;"/>
+      <stop id="stop3690" offset="1" style="stop-color:#000f1f;stop-opacity:0;"/>
+    </linearGradient>
+    <linearGradient id="linearGradient3698">
+      <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop3700"/>
+      <stop id="stop3706" offset="0.5" style="stop-color:#0f3f6f;stop-opacity:1;"/>
+      <stop style="stop-color:#000000;stop-opacity:1;" offset="1" id="stop3702"/>
+    </linearGradient>
+    <linearGradient id="linearGradient3674">
+      <stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop3676"/>
+      <stop style="stop-color:#4f0f00;stop-opacity:1;" offset="1" id="stop3678"/>
+    </linearGradient>
+    <linearGradient id="linearGradient3666">
+      <stop style="stop-color:#3f0f00;stop-opacity:1;" offset="0" id="stop3668"/>
+      <stop id="stop3671" offset="0.75" style="stop-color:#ff7f2f;stop-opacity:1;"/>
+      <stop style="stop-color:#ff9f5f;stop-opacity:1;" offset="1" id="stop3670"/>
+    </linearGradient>
+    <linearGradient id="linearGradient3606">
+      <stop style="stop-color:#bfdfff;stop-opacity:1;" offset="0" id="stop3608"/>
+      <stop id="stop3616" offset="0.2" style="stop-color:#5fafff;stop-opacity:1;"/>
+      <stop id="stop3614" offset="0.80000001" style="stop-color:#5fafff;stop-opacity:1;"/>
+      <stop style="stop-color:#bfdfff;stop-opacity:1;" offset="1" id="stop3610"/>
+    </linearGradient>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient3674" id="linearGradient4196" x1="1024" y1="640" x2="1024" y2="440" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.17187492,0,0,0.17187492,-151.99994,-63.999955)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient3666" id="linearGradient4204" x1="1024" y1="640" x2="1024" y2="440" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.17187492,0,0,0.17187492,-151.99994,-63.999955)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient3698" id="linearGradient3705" gradientUnits="userSpaceOnUse" x1="1024" y1="640" x2="1024" y2="384" gradientTransform="matrix(0.17187493,0,0,0.17187493,-151.99995,-63.999958)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient3606" id="linearGradient3708" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.17187493,0,0,0.17187493,-151.99995,-239.99988)" x1="1024" y1="1664" x2="1024" y2="1480"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient3663" id="radialGradient3688" cx="24" cy="24" fx="24" fy="24" r="24" gradientUnits="userSpaceOnUse"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient3606" id="linearGradient3659" x1="23.999979" y1="46.000004" x2="23.999979" y2="14.375016" gradientUnits="userSpaceOnUse"/>
+    <filter inkscape:collect="always" id="filter3625" inkscape:label="BlurGlow" color-interpolation-filters="sRGB">
+      <feGaussianBlur inkscape:collect="always" stdDeviation="1.2883372" id="feGaussianBlur3627"/>
+    </filter>
+  </defs>
+  <sodipodi:namedview id="base" pagecolor="#000000" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:zoom="4" inkscape:cx="77.720373" inkscape:cy="24.156634" inkscape:document-units="px" inkscape:current-layer="XonoticIcon" showgrid="false" inkscape:showpageshadow="false" gridtolerance="10" showguides="false" inkscape:guide-bbox="true" inkscape:snap-to-guides="true" inkscape:snap-global="true" borderlayer="true">
+    <inkscape:grid type="xygrid" id="grid2383" visible="true" enabled="true" empspacing="4" snapvisiblegridlinesonly="true"/>
+  </sodipodi:namedview>
+  <metadata id="metadata7">
+    <rdf:RDF>
+      <cc:Work rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title>Xonotic Icon</dc:title>
+        <dc:date>2010</dc:date>
+        <dc:rights>
+          <cc:Agent>
+            <dc:title>Xonotic Community</dc:title>
+          </cc:Agent>
+        </dc:rights>
+        <dc:publisher>
+          <cc:Agent>
+            <dc:title/>
+          </cc:Agent>
+        </dc:publisher>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Xonotic Community</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <cc:license rdf:resource="Dual-licensed under the &quot;GNU LGPL v2.1, or any later version&quot; (http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html) and &quot;CC-BY v3.0&quot; (http://creativecommons.org/licenses/by/3.0/)"/>
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>Xonotic</rdf:li>
+            <rdf:li>Phoenix</rdf:li>
+            <rdf:li>Icon</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+        <dc:description>The icon of the Xonotic project.</dc:description>
+        <dc:relation>Xonotic Logo</dc:relation>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g inkscape:groupmode="layer" id="XonoticIcon">
+    <path style="fill:url(#radialGradient3688);fill-opacity:1;fill-rule:evenodd;stroke:none" d="M 24,0 C 10.745169,0 0,10.745167 0,24.000001 0,37.254834 10.745169,48 24,48 37.254832,48 48,37.254834 48,24.000001 48,10.745167 37.254832,0 24,0 z" id="BackgroundCircle"/>
+    <path id="RingGlow" d="M 14.59521,4.1108501 C 7.1529823,7.6393737 2,15.221066 2,24.000008 2,36.144003 11.855996,46 24.00001,46 36.144004,46 46,36.144003 46,24.000008 46,15.221066 40.847035,7.6393737 33.404798,4.1108501 39.278676,7.4083408 43.250001,13.695036 43.250001,20.90626 43.250001,30.281336 36.536033,38.096723 27.657713,39.807112 26.473118,40.035362 25.031258,45.3125 24.00001,45.3125 22.96876,45.3125 21.526865,40.035362 20.34227,39.807112 11.463975,38.096723 4.7499989,30.281336 4.7499989,20.90626 4.7499989,13.695036 8.7213239,7.4083408 14.59521,4.1108501 z" style="fill:#1f7fff;fill-opacity:1;stroke:#1f7fff;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter3625)"/>
+    <path sodipodi:nodetypes="cccccccsccccccccccc" id="PhoenixHeadGlow" d="M 29.687991,11.576669 C 23.844,12.519302 16.365576,19.817205 9.0791026,25.681248 L 18.038082,21.545414 12.860351,27.050857 17.334467,24.956018 C 15.865814,27.850997 16.023069,32.858195 11.189936,33.845114 13.706493,36.335733 16.940546,38.104313 20.557136,38.797312 22.281242,39.125003 23.484367,43.9375 23.999992,43.9375 24.515616,43.9375 25.718741,39.125003 27.442847,38.797312 31.198015,38.077803 34.539671,36.198563 37.094717,33.555155 24.308519,33.714985 25.116458,20.742195 36.412596,17.903821 35.541363,17.092044 32.641742,17.244152 30.268064,17.619153 30.681719,14.852918 34.604229,13.528101 37.502915,13.886238 35.846316,12.205626 33.829346,10.991435 30.482905,12.387709 L 29.687991,11.576669 z M 28.082024,13.907732 28.952134,14.767107 C 27.816077,15.729188 26.806674,15.793142 25.847649,14.933602 L 28.082024,13.907732 z" style="fill:none;stroke:#ff7f2f;stroke-width:2.20000004999999987;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.37254903;stroke-dasharray:none;filter:url(#filter3625)"/>
+    <path style="fill:url(#linearGradient4196);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4204);stroke-width:0.54999977;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" d="M 29.687991,11.576669 C 23.844,12.519302 16.365576,19.817205 9.0791026,25.681248 L 18.038082,21.545414 12.860351,27.050857 17.334467,24.956018 C 15.865814,27.850997 16.023069,32.858195 11.189936,33.845114 13.706493,36.335733 16.940546,38.104313 20.557136,38.797312 22.281242,39.125003 23.484367,43.9375 23.999992,43.9375 24.515616,43.9375 25.718741,39.125003 27.442847,38.797312 31.198015,38.077803 34.539671,36.198563 37.094717,33.555155 24.308519,33.714985 25.116458,20.742195 36.412596,17.903821 35.541363,17.092044 32.641742,17.244152 30.268064,17.619153 30.681719,14.852918 34.604229,13.528101 37.502915,13.886238 35.846316,12.205626 33.829346,10.991435 30.482905,12.387709 L 29.687991,11.576669 z M 28.082024,13.907732 28.952134,14.767107 C 27.816077,15.729188 26.806674,15.793142 25.847649,14.933602 L 28.082024,13.907732 z" id="PhoenixHead" sodipodi:nodetypes="cccccccsccccccccccc"/>
+    <path style="fill:url(#linearGradient3708);fill-opacity:1;stroke:url(#linearGradient3659);stroke-width:0.25;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" d="M 14.59521,4.1108501 C 7.1529823,7.6393737 2,15.221066 2,24.000008 2,36.144003 11.855996,46 24.00001,46 36.144004,46 46,36.144003 46,24.000008 46,15.221066 40.847035,7.6393737 33.404798,4.1108501 39.278676,7.4083408 43.250001,13.695036 43.250001,20.90626 43.250001,30.281336 36.536033,38.096723 27.657713,39.807112 26.473118,40.035362 25.031258,45.3125 24.00001,45.3125 22.96876,45.3125 21.526865,40.035362 20.34227,39.807112 11.463975,38.096723 4.7499989,30.281336 4.7499989,20.90626 4.7499989,13.695036 8.7213239,7.4083408 14.59521,4.1108501 z" id="RingBorder"/>
+    <path style="fill:url(#linearGradient3705);fill-opacity:1;stroke:none" d="M 6.8876934,11.007341 C 4.1441982,14.615296 2.5156248,19.117726 2.5156248,24.000008 2.5156248,35.635144 11.765684,45.12077 23.312492,45.48432 21.937493,44.28125 20.906243,40.500002 20.218743,40.328072 11.103551,38.569833 4.2343741,30.534776 4.2343741,20.90626 4.2343741,17.300186 5.2008217,13.91782 6.8876934,11.007341 z M 41.11229,11.007341 C 42.799156,13.91782 43.765609,17.300186 43.765609,20.90626 43.765609,30.534776 36.896438,38.569833 27.78124,40.328072 27.09374,40.500002 26.06249,44.28125 24.687491,45.48432 36.234306,45.12077 45.484358,35.635144 45.484358,24.000008 45.484358,19.117726 43.855792,14.615296 41.11229,11.007341 z" id="RingBody" sodipodi:nodetypes="csccsccsccsc"/>
+  </g>
+</svg>
\ No newline at end of file
index 672edafe7aee58262a4147594ba787a9b188af94..a52743806b1810504526ee51c7a1f43709e6a654 100644 (file)
Binary files a/xonstat/static/css/img/web_border.png and b/xonstat/static/css/img/web_border.png differ
index 8f50faab98e99bdbb797ba92097938839f47dda9..f43a3fd1c2fc15e6a25c74dbc13f36544b40a2c4 100755 (executable)
-/* Author: Tyler "-z-" Mulligan
- * Notes: Graphics paritially generated from a Xonotic game theme with
- * the idea of future support for other game skins to be generated and
- * supported by this framework.
- * Reset by Richard Clark @ html5doctor.com, v1.6.1
- * Last Updated: 2011-06-29
- */  html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure,  footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; }  body { line-height:1; }  article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section {  display:block; }  nav ul { list-style:none; }  blockquote, q { quotes:none; }  blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }  a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }  /* change colours to suit your needs */ ins { background-color:#C59240; color:#000; text-decoration:none; }  /* change colours to suit your needs */ mark { background-color:#B58224; color:#000;  font-style:italic; font-weight:bold; }  del { text-decoration: line-through; }  abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }  table { border-collapse:collapse; border-spacing:0; }  /* change border colour to suit your needs */ hr { display:block; height:1px; border:0;  border-top:1px solid #888; margin:1em 0; padding:0; }  input, select { vertical-align:middle; }
-
 @font-face {
-    font-family: 'Xolonium';
+    font-family: 'XoloniumNormal';
     src: url('fonts/xolonium-webfont.eot');
     src: url('fonts/xolonium-webfont.eot?#iefix') format('embedded-opentype'),
          url('fonts/xolonium-webfont.woff') format('woff'),
          url('fonts/xolonium-webfont.ttf') format('truetype'),
-         url('fonts/xolonium-webfont.svg#Xolonium') format('svg');
+         url('fonts/xolonium-webfont.svg#XoloniumNormal') format('svg');
     font-weight: normal;
     font-style: normal;
 }
 
+/*!
+ * Bootstrap v2.0.0
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section {
+  display: block;
+}
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+audio:not([controls]) {
+  display: none;
+}
+html {
+  font-size: 100%;
+  -webkit-text-size-adjust: 100%;
+  -ms-text-size-adjust: 100%;
+}
+a:focus {
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+a:hover, a:active {
+  outline: 0;
+}
+sub, sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+sup {
+  top: -0.5em;
+}
+sub {
+  bottom: -0.25em;
+}
+img {
+  max-width: 100%;
+  height: auto;
+  border: 0;
+  -ms-interpolation-mode: bicubic;
+}
+button,
+input,
+select,
+textarea {
+  margin: 0;
+  font-size: 100%;
+  vertical-align: middle;
+}
+button, input {
+  *overflow: visible;
+  line-height: normal;
+}
+button::-moz-focus-inner, input::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  cursor: pointer;
+  -webkit-appearance: button;
+}
+input[type="search"] {
+  -webkit-appearance: textfield;
+  -webkit-box-sizing: content-box;
+  -moz-box-sizing: content-box;
+  box-sizing: content-box;
+}
+input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {
+  -webkit-appearance: none;
+}
+textarea {
+  overflow: auto;
+  vertical-align: top;
+}
 body {
-       width:100%;
-       background:#000 url('img/web_background.png') 0 0 no-repeat;
-       background-size: 100%;
-    font-family: 'Xolonium', 'Arial', 'Helvetica';
-    font-size: 14px;
-    line-height:1.4em;
-       color:#C7E3FF;
-       overflow-x:hidden;
+  background-color: #000000;
+  background:#000 url('img/web_background.png') 0 0 no-repeat;
+  background-size: 100%;
+  color: #d0d0d0;
+  font-family: "XoloniumNormal", "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 11px;
+  line-height: 18px;
+  margin: 0;
+}
+a {
+  color: #0088cc;
+  text-decoration: none;
+}
+a:hover {
+  color: #005580;
+  text-decoration: underline;
+}
+.row {
+  margin-left: -20px;
+  *zoom: 1;
+}
+.row:before, .row:after {
+  display: table;
+  content: "";
+}
+.row:after {
+  clear: both;
+}
+[class*="span"] {
+  float: left;
+  margin-left: 20px;
+}
+.span1 {
+  width: 60px;
+}
+.span2 {
+  width: 140px;
+}
+.span3 {
+  width: 220px;
+}
+.span4 {
+  width: 300px;
+}
+.span5 {
+  width: 380px;
+}
+.span6 {
+  width: 460px;
+}
+.span7 {
+  width: 540px;
+}
+.span8 {
+  width: 620px;
+}
+.span9 {
+  width: 700px;
+}
+.span10 {
+  width: 780px;
+}
+.span11 {
+  width: 860px;
+}
+.span12, .container {
+  width: 940px;
+}
+.offset1 {
+  margin-left: 100px;
+}
+.offset2 {
+  margin-left: 180px;
+}
+.offset3 {
+  margin-left: 260px;
+}
+.offset4 {
+  margin-left: 340px;
+}
+.offset5 {
+  margin-left: 420px;
+}
+.offset6 {
+  margin-left: 500px;
+}
+.offset7 {
+  margin-left: 580px;
+}
+.offset8 {
+  margin-left: 660px;
+}
+.offset9 {
+  margin-left: 740px;
+}
+.offset10 {
+  margin-left: 820px;
+}
+.offset11 {
+  margin-left: 900px;
+}
+.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.127659574%;
+}
+.row-fluid > [class*="span"]:first-child {
+  margin-left: 0;
+}
+.row-fluid .span1 {
+  width: 6.382978723%;
+}
+.row-fluid .span2 {
+  width: 14.89361702%;
+}
+.row-fluid .span3 {
+  width: 23.404255317%;
+}
+.row-fluid .span4 {
+  width: 31.914893614%;
+}
+.row-fluid .span5 {
+  width: 40.425531911%;
+}
+.row-fluid .span6 {
+  width: 48.93617020799999%;
+}
+.row-fluid .span7 {
+  width: 57.446808505%;
+}
+.row-fluid .span8 {
+  width: 65.95744680199999%;
+}
+.row-fluid .span9 {
+  width: 74.468085099%;
+}
+.row-fluid .span10 {
+  width: 82.97872339599999%;
+}
+.row-fluid .span11 {
+  width: 91.489361693%;
+}
+.row-fluid .span12 {
+  width: 99.99999998999999%;
+}
+.container {
+  width: 940px;
+  margin-left: auto;
+  margin-right: auto;
+  *zoom: 1;
+}
+.container:before, .container:after {
+  display: table;
+  content: "";
+}
+.container:after {
+  clear: both;
+}
+.container-fluid {
+  padding-left: 20px;
+  padding-right: 20px;
+  *zoom: 1;
+}
+.container-fluid:before, .container-fluid:after {
+  display: table;
+  content: "";
+}
+.container-fluid:after {
+  clear: both;
+}
+p {
+  margin: 0 0 9px;
+  //font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 13px;
+  line-height: 18px;
+}
+p small {
+  font-size: 11px;
+  color: #999999;
+}
+.lead {
+  margin-bottom: 18px;
+  font-size: 20px;
+  font-weight: 200;
+  line-height: 27px;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  margin: 0;
+  font-weight: bold;
+  color: #d0d0d0;
+  text-rendering: optimizelegibility;
+}
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small {
+  font-weight: normal;
+  color: #999999;
 }
 h1 {
-       font-size:20px;
-       text-align: center;
+  font-size: 30px;
+  line-height: 36px;
+}
+h1 small {
+  font-size: 18px;
 }
-
 h2 {
-       font-size:18px;
-       color:#D0E8FF;
-       text-shadow:1px 1px 4px #013;
-       margin:15px 0 12px;
+  font-size: 24px;
+  line-height: 36px;
+}
+h2 small {
+  font-size: 18px;
 }
 h3 {
-       font-size:16px;
-       /*color:#FF7000;*/
-       color:#ADC0D2;
-       margin:18px 0 4px;
+  line-height: 27px;
+  font-size: 18px;
+}
+h3 small {
+  font-size: 14px;
+}
+h4, h5, h6 {
+  line-height: 18px;
 }
 h4 {
-       font-size:15px;
-       color:#6D8399;
-       margin:18px 0 4px;
+  font-size: 14px;
+}
+h4 small {
+  font-size: 12px;
 }
 h5 {
-       color:#BD5300;
-       margin:8px 0 4px;
+  font-size: 12px;
 }
-p {
-       margin:8px 0;
-       line-height:18px;
+h6 {
+  font-size: 11px;
+  color: #999999;
+  text-transform: uppercase;
 }
-a {
-       color:#DCE9F5;
-       text-decoration:none;
+.page-header {
+  padding-bottom: 17px;
+  margin: 18px 0;
+  border-bottom: 1px solid #eeeeee;
 }
-a:hover {
-       color:#D95F00;
-}
-th {
-       font-size:13px;
-       padding:2px;
-       border:1px solid #436688;
-       background-color:#001021;
-       cursor:pointer;
-}
-th:hover {
-       color:#fff;
-       text-shadow:1px 1px 3px #5A8BBC !important;
-}
-td {
-       border:1px solid #436688;
-       font-size:10px;
-       padding:4px;
-       vertical-align: middle;
-}
-td.gt_icon {
-    text-align: center;
+.page-header h1 {
+  line-height: 1;
+}
+ul, ol {
+  padding: 0;
+  margin: 0 0 9px 25px;
+}
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+  margin-bottom: 0;
+}
+ul {
+  list-style: disc;
+}
+ol {
+  list-style: decimal;
+}
+li {
+  line-height: 18px;
+}
+ul.unstyled {
+  margin-left: 0;
+  list-style: none;
+}
+dl {
+  margin-bottom: 18px;
+}
+dt, dd {
+  line-height: 18px;
+}
+dt {
+  font-weight: bold;
+}
+dd {
+  margin-left: 9px;
+}
+hr {
+  margin: 18px 0;
+  border: 0;
+  border-top: 1px solid #e5e5e5;
+  border-bottom: 1px solid #ffffff;
+}
+strong {
+  font-weight: bold;
+}
+em {
+  font-style: italic;
+}
+.muted {
+  color: #999999;
+}
+abbr {
+  font-size: 90%;
+  text-transform: uppercase;
+  border-bottom: 1px dotted #ddd;
+  cursor: help;
 }
 blockquote {
-       font-size:14px;
-       color:#fff;
-       margin:12px 15px;
-       line-height:22px;
-       padding:10px;
-       border:1px solid #6D8399;
-       border-left:3px solid #B5DAFF;
-       background-color: rgba(105,105,105,0.1);
+  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;
+}
+blockquote small {
+  display: block;
+  line-height: 18px;
+  color: #999999;
+}
+blockquote small:before {
+  content: '\2014 \00A0';
+}
+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;
+}
+q:before,
+q:after,
+blockquote:before,
+blockquote:after {
+  content: "";
+}
+address {
+  display: block;
+  margin-bottom: 18px;
+  line-height: 18px;
+  font-style: normal;
+}
+small {
+  font-size: 100%;
+}
+cite {
+  font-style: normal;
+}
+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;
 }
 code {
-       display:block;
-       border:1px solid #999;
-       padding:10px;
-       margin:12px 15px;
-       white-space: pre;
-}
-/*table { width:100%; }*/
-input { font-family: 'Xolonium', 'Arial', 'Helvetica'; }
-/* helpers */
-.clearfix:after {
-    content: ".";
-    display: block;
-    height: 0;
-    clear: both;
-    visibility: hidden;
+  padding: 3px 4px;
+  color: #d14;
+  background-color: #f7f7f9;
+  border: 1px solid #e1e1e8;
 }
-
-/* layout */
-#container {
-       position:relative;
-       width:1052px;
-       background: transparent url('img/web_background_l2.png') no-repeat center top;
-       margin:0 auto;
-       padding-top:200px;
-}
-#content {
-       position:relative;
-       top:-20px;
-       /*min-width:512px;
-       max-width:986px;
-       width:auto;*/
-       width:950px;
-       padding-bottom:20px;
+pre {
+  display: block;
+  padding: 8.5px;
+  margin: 0 0 9px;
+  font-size: 12px;
+  line-height: 18px;
+  background-color: #f5f5f5;
+  border: 1px solid #ccc;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  white-space: pre;
+  white-space: pre-wrap;
+  word-break: break-all;
+}
+pre.prettyprint {
+  margin-bottom: 18px;
+}
+pre code {
+  padding: 0;
+  background-color: transparent;
 }
-#title {
-       position:relative;
-       text-align:center;
-       height:25px;
-       line-height:25px;
-       top:-48px;
-       color:#DCE9F5;
-}
-.table_block {
-    float: left;
-    padding-right: 25px;
-}
-.window {
-       border-width: 56px 56px 56px;
-       -moz-border-image: url(img/web_border.png) 85 85 85 stretch;
-       -webkit-border-image: url(img/web_border.png) 72 85 85 stretch;
-       -o-border-image: url(img/web_border.png) 96 96 96 stretch;
-       border-image: url(img/web_border.png) 96 96 96 stretch;
-}
-#main {
-       position:relative;
-       width:610px;
-}
-#sidebar {
-       width: 320px;
-       margin-right:5px;
-}
-#main.left, #sidebar.left {
-       float:left;
-}
-#main.right, #sidebar.right {
-       float:right;
-}
-#footer{
-    clear: both;
-    text-align: center;
+form {
+  margin: 0 0 18px;
 }
+fieldset {
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+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;
+}
+label,
+input,
+button,
+select,
+textarea {
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 13px;
+  font-weight: normal;
+  line-height: 18px;
+}
+label {
+  display: block;
+  margin-bottom: 5px;
+  color: #333333;
+}
+input,
+textarea,
+select,
+.uneditable-input {
+  display: inline-block;
+  width: 210px;
+  height: 18px;
+  padding: 4px;
+  margin-bottom: 9px;
+  font-size: 13px;
+  line-height: 18px;
+  color: #555555;
+  border: 1px solid #ccc;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+}
+.uneditable-textarea {
+  width: auto;
+  height: auto;
+}
+label input, label textarea, label select {
+  display: block;
+}
+input[type="image"], input[type="checkbox"], input[type="radio"] {
+  width: auto;
+  height: auto;
+  padding: 0;
+  margin: 3px 0;
+  *margin-top: 0;
+  /* IE7 */
+
+  line-height: normal;
+  border: 0;
+  cursor: pointer;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
+}
+input[type="file"] {
+  padding: initial;
+  line-height: initial;
+  border: initial;
+  background-color: #ffffff;
+  background-color: initial;
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
+}
+input[type="button"], input[type="reset"], input[type="submit"] {
+  width: auto;
+  height: auto;
+}
+select, input[type="file"] {
+  height: 28px;
+  /* In IE7, the height of the select element cannot be changed by height, only font-size */
 
-/* Main Menu */
-#menu {
-       top: -40px;
-       left:-18px;
-    width: 976px;
-       list-style:none;
-       border:1px solid #AED5FE;
-       border-top:0;
-       -moz-border-radius: 0 0 4px 4px;
-       -webkit-border-radius: 0 0 4px 4px;
-       border-radius: 0 0 4px 4px;
-}
-#menu li {
-       display:inline;
-}
-#menu li a {
-       width:145px;
-       height:32px;
-       line-height:32px;
-       vertical-align:middle;
-       color:#AED5FE;
-       text-align:center;
+  *margin-top: 4px;
+  /* For IE7, add top margin to align select with labels */
+
+  line-height: 28px;
+}
+select {
+  width: 220px;
+  background-color: #ffffff;
+}
+select[multiple], select[size] {
+  height: auto;
+}
+input[type="image"] {
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
+}
+textarea {
+  height: auto;
+}
+input[type="hidden"] {
+  display: none;
 }
+.radio, .checkbox {
+  padding-left: 18px;
+}
+.radio input[type="radio"], .checkbox input[type="checkbox"] {
+  float: left;
+  margin-left: -18px;
+}
+.controls > .radio:first-child, .controls > .checkbox:first-child {
+  padding-top: 5px;
+}
+.radio.inline, .checkbox.inline {
+  display: inline-block;
+  margin-bottom: 0;
+  vertical-align: middle;
+}
+.radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline {
+  margin-left: 10px;
+}
+.controls > .radio.inline:first-child, .controls > .checkbox.inline:first-child {
+  padding-top: 0;
+}
+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;
+}
+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(125, 125, 125, 0.6);
+  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(125, 125, 125, 0.6);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(125, 125, 125, 0.6);
+  outline: 0;
+  outline: thin dotted \9;
+  /* IE6-8 */
 
-/* pagination */
-.pagination {
-    padding-right: 8px;
 }
+input[type="file"]:focus, input[type="checkbox"]:focus, select:focus {
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+.input-mini {
+  width: 60px;
+}
+.input-small {
+  width: 90px;
+}
+.input-medium {
+  width: 150px;
+}
+.input-large {
+  width: 210px;
+}
+.input-xlarge {
+  width: 270px;
+}
+.input-xxlarge {
+  width: 530px;
+}
+input[class*="span"],
+select[class*="span"],
+textarea[class*="span"],
+.uneditable-input {
+  float: none;
+  margin-left: 0;
+}
+input.span1, textarea.span1, .uneditable-input.span1 {
+  width: 50px;
+}
+input.span2, textarea.span2, .uneditable-input.span2 {
+  width: 130px;
+}
+input.span3, textarea.span3, .uneditable-input.span3 {
+  width: 210px;
+}
+input.span4, textarea.span4, .uneditable-input.span4 {
+  width: 290px;
+}
+input.span5, textarea.span5, .uneditable-input.span5 {
+  width: 370px;
+}
+input.span6, textarea.span6, .uneditable-input.span6 {
+  width: 450px;
+}
+input.span7, textarea.span7, .uneditable-input.span7 {
+  width: 530px;
+}
+input.span8, textarea.span8, .uneditable-input.span8 {
+  width: 610px;
+}
+input.span9, textarea.span9, .uneditable-input.span9 {
+  width: 690px;
+}
+input.span10, textarea.span10, .uneditable-input.span10 {
+  width: 770px;
+}
+input.span11, textarea.span11, .uneditable-input.span11 {
+  width: 850px;
+}
+input.span12, textarea.span12, .uneditable-input.span12 {
+  width: 930px;
+}
+input[disabled],
+select[disabled],
+textarea[disabled],
+input[readonly],
+select[readonly],
+textarea[readonly] {
+  background-color: #f5f5f5;
+  border-color: #ddd;
+  cursor: not-allowed;
+}
+.control-group.warning > label, .control-group.warning .help-block, .control-group.warning .help-inline {
+  color: #c09853;
+}
+.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;
+}
+.control-group.warning .input-prepend .add-on, .control-group.warning .input-append .add-on {
+  color: #c09853;
+  background-color: #fcf8e3;
+  border-color: #c09853;
+}
+.control-group.error > label, .control-group.error .help-block, .control-group.error .help-inline {
+  color: #b94a48;
+}
+.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;
+}
+.control-group.error .input-prepend .add-on, .control-group.error .input-append .add-on {
+  color: #b94a48;
+  background-color: #f2dede;
+  border-color: #b94a48;
+}
+.control-group.success > label, .control-group.success .help-block, .control-group.success .help-inline {
+  color: #468847;
+}
+.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;
+}
+.control-group.success .input-prepend .add-on, .control-group.success .input-append .add-on {
+  color: #468847;
+  background-color: #dff0d8;
+  border-color: #468847;
+}
+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;
+}
+.form-actions {
+  padding: 17px 20px 18px;
+  margin-top: 18px;
+  margin-bottom: 18px;
+  background-color: #f5f5f5;
+  border-top: 1px solid #ddd;
+}
+.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;
+}
+:-moz-placeholder {
+  color: #999999;
+}
+::-webkit-input-placeholder {
+  color: #999999;
+}
+.help-block {
+  margin-top: 5px;
+  margin-bottom: 0;
+  color: #999999;
+}
+.help-inline {
+  display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
 
+  *zoom: 1;
+  margin-bottom: 9px;
+  vertical-align: middle;
+  padding-left: 5px;
+}
+.input-prepend, .input-append {
+  margin-bottom: 5px;
+  *zoom: 1;
+}
+.input-prepend:before,
+.input-append:before,
+.input-prepend:after,
+.input-append:after {
+  display: table;
+  content: "";
+}
+.input-prepend:after, .input-append:after {
+  clear: both;
+}
+.input-prepend input,
+.input-append input,
+.input-prepend .uneditable-input,
+.input-append .uneditable-input {
+  -webkit-border-radius: 0 3px 3px 0;
+  -moz-border-radius: 0 3px 3px 0;
+  border-radius: 0 3px 3px 0;
+}
+.input-prepend input:focus,
+.input-append input:focus,
+.input-prepend .uneditable-input:focus,
+.input-append .uneditable-input:focus {
+  position: relative;
+  z-index: 2;
+}
+.input-prepend .uneditable-input, .input-append .uneditable-input {
+  border-left-color: #ccc;
+}
+.input-prepend .add-on, .input-append .add-on {
+  float: left;
+  display: block;
+  width: auto;
+  min-width: 16px;
+  height: 18px;
+  margin-right: -1px;
+  padding: 4px 5px;
+  font-weight: normal;
+  line-height: 18px;
+  color: #999999;
+  text-align: center;
+  text-shadow: 0 1px 0 #ffffff;
+  background-color: #f5f5f5;
+  border: 1px solid #ccc;
+  -webkit-border-radius: 3px 0 0 3px;
+  -moz-border-radius: 3px 0 0 3px;
+  border-radius: 3px 0 0 3px;
+}
+.input-prepend .active, .input-append .active {
+  background-color: #a9dba9;
+  border-color: #46a546;
+}
+.input-prepend .add-on {
+  *margin-top: 1px;
+  /* IE6-7 */
 
-/* drop-down navigation */
-.nav, .nav ul {
-       list-style: none;
-       margin: 0;
-       padding: 0;
+}
+.input-append input, .input-append .uneditable-input {
+  float: left;
+  -webkit-border-radius: 3px 0 0 3px;
+  -moz-border-radius: 3px 0 0 3px;
+  border-radius: 3px 0 0 3px;
+}
+.input-append .uneditable-input {
+  border-right-color: #ccc;
+}
+.input-append .add-on {
+  margin-right: 0;
+  margin-left: -1px;
+  -webkit-border-radius: 0 3px 3px 0;
+  -moz-border-radius: 0 3px 3px 0;
+  border-radius: 0 3px 3px 0;
+}
+.input-append input:first-child {
+  *margin-left: -160px;
+}
+.input-append input:first-child + .add-on {
+  *margin-left: -21px;
+}
+.search-query {
+  padding-left: 14px;
+  padding-right: 14px;
+  margin-bottom: 0;
+  -webkit-border-radius: 14px;
+  -moz-border-radius: 14px;
+  border-radius: 14px;
+}
+.form-search input,
+.form-inline input,
+.form-horizontal input,
+.form-search textarea,
+.form-inline textarea,
+.form-horizontal textarea,
+.form-search select,
+.form-inline select,
+.form-horizontal select,
+.form-search .help-inline,
+.form-inline .help-inline,
+.form-horizontal .help-inline,
+.form-search .uneditable-input,
+.form-inline .uneditable-input,
+.form-horizontal .uneditable-input {
+  display: inline-block;
+  margin-bottom: 0;
+}
+.form-search label,
+.form-inline label,
+.form-search .input-append,
+.form-inline .input-append,
+.form-search .input-prepend,
+.form-inline .input-prepend {
+  display: inline-block;
+}
+.form-search .input-append .add-on,
+.form-inline .input-prepend .add-on,
+.form-search .input-append .add-on,
+.form-inline .input-prepend .add-on {
+  vertical-align: middle;
+}
+.control-group {
+  margin-bottom: 9px;
+}
+.form-horizontal legend + .control-group {
+  margin-top: 18px;
+  -webkit-margin-top-collapse: separate;
+}
+.form-horizontal .control-group {
+  margin-bottom: 18px;
+  *zoom: 1;
+}
+.form-horizontal .control-group:before, .form-horizontal .control-group:after {
+  display: table;
+  content: "";
+}
+.form-horizontal .control-group:after {
+  clear: both;
+}
+.form-horizontal .control-group > label {
+  float: left;
+  width: 140px;
+  padding-top: 5px;
+  text-align: right;
+}
+.form-horizontal .controls {
+  margin-left: 160px;
+}
+.form-horizontal .form-actions {
+  padding-left: 160px;
+}
+table {
+  border: 1px solid #436688;
+  max-width: 100%;
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+table th {
+  border: 1px solid #436688;
+  padding-top: 9px;
+  font-weight: bold;
+  vertical-align: middle;
+}
+table td {
+    border: 1px solid #436688;
+    font-size: 10px;
+    padding: 4px;
+    vertical-align: middle;
 }
 
-.nav {
-  z-index: 100;
+tr:hover {
+    background-color: #222;
+}
+.table {
+  width: 100%;
+  margin-bottom: 10px;
+}
+.table th, .table td {
+  padding: 8px;
+  line-height: 18px;
+  text-align: left;
+//  border-top: 1px solid #ddd;
+}
+.table th {
+  background-color: #001021;
+  font-weight: bold;
+  vertical-align: bottom;
+}
+.table td {
+  vertical-align: middle;
+}
+.table thead:first-child tr th, .table thead:first-child tr td {
+  border-top: 0;
+}
+.table tbody + tbody {
+ // border-top: 2px solid #ddd;
+}
+.table-condensed th, .table-condensed td {
+  padding: 4px 5px;
+}
+.table-bordered {
+}
+.table-bordered th + th,
+.table-bordered td + td,
+.table-bordered th + td,
+.table-bordered td + th {
+  //border-left: 1px solid #ddd;
+}
+.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;
+}
+.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;
+}
+.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;
+}
+.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;
+}
+.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;
+}
+.table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th {
+  background-color: #f9f9f9;
+}
+table .span1 {
+  float: none;
+  width: 44px;
+  margin-left: 0;
+}
+table .span2 {
+  float: none;
+  width: 124px;
+  margin-left: 0;
+}
+table .span3 {
+  float: none;
+  width: 204px;
+  margin-left: 0;
+}
+table .span4 {
+  float: none;
+  width: 284px;
+  margin-left: 0;
+}
+table .span5 {
+  float: none;
+  width: 364px;
+  margin-left: 0;
+}
+table .span6 {
+  float: none;
+  width: 444px;
+  margin-left: 0;
+}
+table .span7 {
+  float: none;
+  width: 524px;
+  margin-left: 0;
+}
+table .span8 {
+  float: none;
+  width: 604px;
+  margin-left: 0;
+}
+table .span9 {
+  float: none;
+  width: 684px;
+  margin-left: 0;
+}
+table .span10 {
+  float: none;
+  width: 764px;
+  margin-left: 0;
+}
+table .span11 {
+  float: none;
+  width: 844px;
+  margin-left: 0;
+}
+table .span12 {
+  float: none;
+  width: 924px;
+  margin-left: 0;
+}
+[class^="icon-"] {
+  display: inline-block;
+  width: 14px;
+  height: 14px;
+  vertical-align: text-top;
+  background-image: url(../img/glyphicons-halflings.png);
+  background-position: 14px 14px;
+  background-repeat: no-repeat;
+  *margin-right: .3em;
+}
+[class^="icon-"]:last-child {
+  *margin-left: 0;
+}
+.icon-white {
+  background-image: url(../img/glyphicons-halflings-white.png);
+}
+.icon-glass {
+  background-position: 0      0;
+}
+.icon-music {
+  background-position: -24px 0;
+}
+.icon-search {
+  background-position: -48px 0;
+}
+.icon-envelope {
+  background-position: -72px 0;
+}
+.icon-heart {
+  background-position: -96px 0;
+}
+.icon-star {
+  background-position: -120px 0;
+}
+.icon-star-empty {
+  background-position: -144px 0;
+}
+.icon-user {
+  background-position: -168px 0;
+}
+.icon-film {
+  background-position: -192px 0;
+}
+.icon-th-large {
+  background-position: -216px 0;
+}
+.icon-th {
+  background-position: -240px 0;
+}
+.icon-th-list {
+  background-position: -264px 0;
+}
+.icon-ok {
+  background-position: -288px 0;
+}
+.icon-remove {
+  background-position: -312px 0;
+}
+.icon-zoom-in {
+  background-position: -336px 0;
+}
+.icon-zoom-out {
+  background-position: -360px 0;
+}
+.icon-off {
+  background-position: -384px 0;
+}
+.icon-signal {
+  background-position: -408px 0;
+}
+.icon-cog {
+  background-position: -432px 0;
+}
+.icon-trash {
+  background-position: -456px 0;
+}
+.icon-home {
+  background-position: 0 -24px;
+}
+.icon-file {
+  background-position: -24px -24px;
+}
+.icon-time {
+  background-position: -48px -24px;
+}
+.icon-road {
+  background-position: -72px -24px;
+}
+.icon-download-alt {
+  background-position: -96px -24px;
+}
+.icon-download {
+  background-position: -120px -24px;
+}
+.icon-upload {
+  background-position: -144px -24px;
+}
+.icon-inbox {
+  background-position: -168px -24px;
+}
+.icon-play-circle {
+  background-position: -192px -24px;
+}
+.icon-repeat {
+  background-position: -216px -24px;
+}
+.icon-refresh {
+  background-position: -240px -24px;
+}
+.icon-list-alt {
+  background-position: -264px -24px;
+}
+.icon-lock {
+  background-position: -287px -24px;
+}
+.icon-flag {
+  background-position: -312px -24px;
+}
+.icon-headphones {
+  background-position: -336px -24px;
+}
+.icon-volume-off {
+  background-position: -360px -24px;
+}
+.icon-volume-down {
+  background-position: -384px -24px;
+}
+.icon-volume-up {
+  background-position: -408px -24px;
+}
+.icon-qrcode {
+  background-position: -432px -24px;
+}
+.icon-barcode {
+  background-position: -456px -24px;
+}
+.icon-tag {
+  background-position: 0 -48px;
+}
+.icon-tags {
+  background-position: -25px -48px;
+}
+.icon-book {
+  background-position: -48px -48px;
+}
+.icon-bookmark {
+  background-position: -72px -48px;
+}
+.icon-print {
+  background-position: -96px -48px;
+}
+.icon-camera {
+  background-position: -120px -48px;
+}
+.icon-font {
+  background-position: -144px -48px;
+}
+.icon-bold {
+  background-position: -167px -48px;
+}
+.icon-italic {
+  background-position: -192px -48px;
+}
+.icon-text-height {
+  background-position: -216px -48px;
+}
+.icon-text-width {
+  background-position: -240px -48px;
+}
+.icon-align-left {
+  background-position: -264px -48px;
+}
+.icon-align-center {
+  background-position: -288px -48px;
+}
+.icon-align-right {
+  background-position: -312px -48px;
+}
+.icon-align-justify {
+  background-position: -336px -48px;
+}
+.icon-list {
+  background-position: -360px -48px;
+}
+.icon-indent-left {
+  background-position: -384px -48px;
+}
+.icon-indent-right {
+  background-position: -408px -48px;
+}
+.icon-facetime-video {
+  background-position: -432px -48px;
+}
+.icon-picture {
+  background-position: -456px -48px;
+}
+.icon-pencil {
+  background-position: 0 -72px;
+}
+.icon-map-marker {
+  background-position: -24px -72px;
+}
+.icon-adjust {
+  background-position: -48px -72px;
+}
+.icon-tint {
+  background-position: -72px -72px;
+}
+.icon-edit {
+  background-position: -96px -72px;
+}
+.icon-share {
+  background-position: -120px -72px;
+}
+.icon-check {
+  background-position: -144px -72px;
+}
+.icon-move {
+  background-position: -168px -72px;
+}
+.icon-step-backward {
+  background-position: -192px -72px;
+}
+.icon-fast-backward {
+  background-position: -216px -72px;
+}
+.icon-backward {
+  background-position: -240px -72px;
+}
+.icon-play {
+  background-position: -264px -72px;
+}
+.icon-pause {
+  background-position: -288px -72px;
+}
+.icon-stop {
+  background-position: -312px -72px;
+}
+.icon-forward {
+  background-position: -336px -72px;
+}
+.icon-fast-forward {
+  background-position: -360px -72px;
+}
+.icon-step-forward {
+  background-position: -384px -72px;
+}
+.icon-eject {
+  background-position: -408px -72px;
+}
+.icon-chevron-left {
+  background-position: -432px -72px;
+}
+.icon-chevron-right {
+  background-position: -456px -72px;
+}
+.icon-plus-sign {
+  background-position: 0 -96px;
+}
+.icon-minus-sign {
+  background-position: -24px -96px;
+}
+.icon-remove-sign {
+  background-position: -48px -96px;
+}
+.icon-ok-sign {
+  background-position: -72px -96px;
+}
+.icon-question-sign {
+  background-position: -96px -96px;
+}
+.icon-info-sign {
+  background-position: -120px -96px;
+}
+.icon-screenshot {
+  background-position: -144px -96px;
+}
+.icon-remove-circle {
+  background-position: -168px -96px;
+}
+.icon-ok-circle {
+  background-position: -192px -96px;
+}
+.icon-ban-circle {
+  background-position: -216px -96px;
+}
+.icon-arrow-left {
+  background-position: -240px -96px;
+}
+.icon-arrow-right {
+  background-position: -264px -96px;
+}
+.icon-arrow-up {
+  background-position: -289px -96px;
+}
+.icon-arrow-down {
+  background-position: -312px -96px;
+}
+.icon-share-alt {
+  background-position: -336px -96px;
+}
+.icon-resize-full {
+  background-position: -360px -96px;
+}
+.icon-resize-small {
+  background-position: -384px -96px;
+}
+.icon-plus {
+  background-position: -408px -96px;
+}
+.icon-minus {
+  background-position: -433px -96px;
+}
+.icon-asterisk {
+  background-position: -456px -96px;
+}
+.icon-exclamation-sign {
+  background-position: 0 -120px;
+}
+.icon-gift {
+  background-position: -24px -120px;
+}
+.icon-leaf {
+  background-position: -48px -120px;
+}
+.icon-fire {
+  background-position: -72px -120px;
+}
+.icon-eye-open {
+  background-position: -96px -120px;
+}
+.icon-eye-close {
+  background-position: -120px -120px;
+}
+.icon-warning-sign {
+  background-position: -144px -120px;
+}
+.icon-plane {
+  background-position: -168px -120px;
+}
+.icon-calendar {
+  background-position: -192px -120px;
+}
+.icon-random {
+  background-position: -216px -120px;
+}
+.icon-comment {
+  background-position: -240px -120px;
+}
+.icon-magnet {
+  background-position: -264px -120px;
+}
+.icon-chevron-up {
+  background-position: -288px -120px;
+}
+.icon-chevron-down {
+  background-position: -313px -119px;
+}
+.icon-retweet {
+  background-position: -336px -120px;
+}
+.icon-shopping-cart {
+  background-position: -360px -120px;
+}
+.icon-folder-close {
+  background-position: -384px -120px;
+}
+.icon-folder-open {
+  background-position: -408px -120px;
+}
+.icon-resize-vertical {
+  background-position: -432px -119px;
+}
+.icon-resize-horizontal {
+  background-position: -456px -118px;
+}
+.dropdown {
   position: relative;
 }
-.nav li {
-  border-right: 1px solid #AED5FE;
+.dropdown-toggle {
+  *margin-bottom: -3px;
+}
+.dropdown-toggle:active, .open .dropdown-toggle {
+  outline: 0;
+}
+.caret {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  text-indent: -99999px;
+  *text-indent: 0;
+  vertical-align: top;
+  border-left: 4px solid transparent;
+  border-right: 4px solid transparent;
+  border-top: 4px solid #000000;
+  opacity: 0.3;
+  filter: alpha(opacity=30);
+  content: "\2193";
+}
+.dropdown .caret {
+  margin-top: 8px;
+  margin-left: 2px;
+}
+.dropdown:hover .caret, .open.dropdown .caret {
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 1000;
   float: left;
+  display: none;
+  min-width: 160px;
+  max-width: 220px;
+  _width: 160px;
+  padding: 4px 0;
   margin: 0;
-  padding: 0;
-  position: relative;
+  list-style: none;
+  background-color: #ffffff;
+  border-color: #ccc;
+  border-color: rgba(0, 0, 0, 0.2);
+  border-style: solid;
+  border-width: 1px;
+  -webkit-border-radius: 0 0 5px 5px;
+  -moz-border-radius: 0 0 5px 5px;
+  border-radius: 0 0 5px 5px;
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
+  *border-right-width: 2px;
+  *border-bottom-width: 2px;
+}
+.dropdown-menu.bottom-up {
+  top: auto;
+  bottom: 100%;
+  margin-bottom: 2px;
+}
+.dropdown-menu .divider {
+  height: 1px;
+  margin: 5px 1px;
+  overflow: hidden;
+  background-color: #e5e5e5;
+  border-bottom: 1px solid #ffffff;
+  *width: 100%;
+  *margin: -5px 0 5px;
+}
+.dropdown-menu a {
+  display: block;
+  padding: 3px 15px;
+  clear: both;
+  font-weight: normal;
+  line-height: 18px;
+  color: #555555;
+  white-space: nowrap;
+}
+.dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover {
+  color: #ffffff;
+  text-decoration: none;
+  background-color: #0088cc;
 }
-.nav li a, .nav li a:link, .nav li a:active, .nav li a:visited {
+.dropdown.open {
+  *z-index: 1000;
+}
+.dropdown.open .dropdown-toggle {
+  color: #ffffff;
+  background: #ccc;
+  background: rgba(0, 0, 0, 0.3);
+}
+.dropdown.open .dropdown-menu {
   display: block;
+}
+.typeahead {
+  margin-top: 2px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.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);
+}
+.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;
+}
+.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;
+}
+.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;
+}
+.btn {
+  display: inline-block;
+  padding: 4px 10px 4px;
+  font-size: 13px;
+  line-height: 18px;
+  color: #333333;
+  text-align: center;
+  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+  background-color: #fafafa;
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
+  background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
+  background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
+  background-repeat: no-repeat;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+  border: 1px solid #ccc;
+  border-bottom-color: #bbb;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  cursor: pointer;
+  *margin-left: .3em;
+}
+.btn:first-child {
+  *margin-left: 0;
+}
+.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;
+}
+.btn:focus {
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+.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;
+  color: rgba(0, 0, 0, 0.5);
+  outline: 0;
+}
+.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;
+}
+.btn-large {
+  padding: 9px 14px;
+  font-size: 15px;
+  line-height: normal;
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  border-radius: 5px;
+}
+.btn-large .icon {
+  margin-top: 1px;
+}
+.btn-small {
+  padding: 5px 9px;
+  font-size: 11px;
+  line-height: 16px;
+}
+.btn-small .icon {
+  margin-top: -1px;
+}
+.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 {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  color: #ffffff;
+}
+.btn-primary.active,
+.btn-warning.active,
+.btn-danger.active,
+.btn-success.active,
+.btn-info.active {
+  color: rgba(255, 255, 255, 0.75);
+}
+.btn-primary {
+  background-color: #006dcc;
+  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
+  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
+  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
+  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
+  background-image: linear-gradient(top, #0088cc, #0044cc);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
+  border-color: #0044cc #0044cc #002a80;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+}
+.btn-primary:hover,
+.btn-primary:active,
+.btn-primary.active,
+.btn-primary.disabled,
+.btn-primary[disabled] {
+  background-color: #0044cc;
+}
+.btn-primary:active, .btn-primary.active {
+  background-color: #003399 \9;
+}
+.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;
+}
+.btn-warning:active, .btn-warning.active {
+  background-color: #c67605 \9;
+}
+.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;
+}
+.btn-danger:active, .btn-danger.active {
+  background-color: #942a25 \9;
+}
+.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;
+}
+.btn-success:active, .btn-success.active {
+  background-color: #408140 \9;
+}
+.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;
+}
+.btn-info:active, .btn-info.active {
+  background-color: #24748c \9;
+}
+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;
-  text-decoration:none;
+  border: 0;
 }
-
-.nav li a:hover {
-       background-color:#111 !important;
-       color:#fff !important;
-       text-shadow:1px 1px 3px #5A8BBC !important;
+button.btn.large, input[type="submit"].btn.large {
+  *padding-top: 7px;
+  *padding-bottom: 7px;
+}
+button.btn.small, input[type="submit"].btn.small {
+  *padding-top: 3px;
+  *padding-bottom: 3px;
+}
+.btn-group {
+  position: relative;
+  *zoom: 1;
+  *margin-left: .3em;
 }
+.btn-group:before, .btn-group:after {
+  display: table;
+  content: "";
+}
+.btn-group:after {
+  clear: both;
+}
+.btn-group:first-child {
+  *margin-left: 0;
+}
+.btn-group + .btn-group {
+  margin-left: 5px;
+}
+.btn-toolbar {
+  margin-top: 9px;
+  margin-bottom: 9px;
+}
+.btn-toolbar .btn-group {
+  display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
 
-.nav ul {
-  border-bottom: 1px solid #000;
+  *zoom: 1;
+}
+.btn-group .btn {
+  position: relative;
+  float: left;
+  margin-left: -1px;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
+}
+.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;
+}
+.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;
+}
+.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;
+}
+.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;
+}
+.btn-group .btn:hover,
+.btn-group .btn:focus,
+.btn-group .btn:active,
+.btn-group .btn.active {
+  z-index: 2;
+}
+.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {
+  outline: 0;
+}
+.btn-group .dropdown-toggle {
+  padding-left: 8px;
+  padding-right: 8px;
+  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  *padding-top: 5px;
+  *padding-bottom: 5px;
+}
+.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;
+}
+.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);
+}
+.btn .caret {
+  margin-top: 7px;
+  margin-left: 0;
+}
+.btn:hover .caret, .open.btn-group .caret {
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
+.btn-primary .caret,
+.btn-danger .caret,
+.btn-info .caret,
+.btn-success .caret {
+  border-top-color: #ffffff;
+  opacity: 0.75;
+  filter: alpha(opacity=75);
+}
+.btn-small .caret {
+  margin-top: 4px;
+}
+.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;
+}
+.alert, .alert-heading {
+  color: #c09853;
+}
+.alert .close {
+  position: relative;
+  top: -2px;
+  right: -21px;
+  line-height: 18px;
+}
+.alert-success {
+  background-color: #dff0d8;
+  border-color: #d6e9c6;
+}
+.alert-success, .alert-success .alert-heading {
+  color: #468847;
+}
+.alert-danger, .alert-error {
+  background-color: #f2dede;
+  border-color: #eed3d7;
+}
+.alert-danger,
+.alert-error,
+.alert-danger .alert-heading,
+.alert-error .alert-heading {
+  color: #b94a48;
+}
+.alert-info {
+  background-color: #d9edf7;
+  border-color: #bce8f1;
+}
+.alert-info, .alert-info .alert-heading {
+  color: #3a87ad;
+}
+.alert-block {
+  padding-top: 14px;
+  padding-bottom: 14px;
+}
+.alert-block > p, .alert-block > ul {
+  margin-bottom: 0;
+}
+.alert-block p + p {
+  margin-top: 5px;
+}
+.nav {
+  font-size: 15px;
+  margin-left: 0;
+  margin-bottom: 18px;
   list-style: none;
-  margin: 0;
-  min-width:164px;
-  position: absolute;
-  top: -999em;
 }
-.nav li:hover ul,
-.nav li.sfHover ul {
-  top: 32px;
-  z-index:1000;
+.nav > li > a {
+  display: block;
+}
+.nav > li > a:hover {
+  text-decoration: none;
+  background-color: #eeeeee;
+}
+.nav-list {
+  padding-left: 14px;
+  padding-right: 14px;
+  margin-bottom: 0;
 }
-.nav ul li {
-  border:0;
+.nav-list > li > a, .nav-list .nav-header {
+  display: block;
+  padding: 3px 15px;
+  margin-left: -15px;
+  margin-right: -15px;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+}
+.nav-list .nav-header {
+  font-size: 11px;
+  font-weight: bold;
+  line-height: 18px;
+  color: #999999;
+  text-transform: uppercase;
+}
+.nav-list > li + .nav-header {
+  margin-top: 9px;
+}
+.nav-list .active > a {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+  background-color: #0088cc;
+}
+.nav-list .icon {
+  margin-right: 2px;
+}
+.nav-tabs, .nav-pills {
+  *zoom: 1;
+}
+.nav-tabs:before,
+.nav-pills:before,
+.nav-tabs:after,
+.nav-pills:after {
+  display: table;
+  content: "";
+}
+.nav-tabs:after, .nav-pills:after {
+  clear: both;
+}
+.nav-tabs > li, .nav-pills > li {
+  float: left;
+}
+.nav-tabs > li > a, .nav-pills > li > a {
+  padding-right: 12px;
+  padding-left: 12px;
+  margin-right: 2px;
+  line-height: 14px;
+}
+.nav-tabs {
+  border-bottom: 1px solid #ddd;
+}
+.nav-tabs > li {
+  margin-bottom: -1px;
+}
+.nav-tabs > li > a {
+  padding-top: 9px;
+  padding-bottom: 9px;
+  border: 1px solid transparent;
+  -webkit-border-radius: 4px 4px 0 0;
+  -moz-border-radius: 4px 4px 0 0;
+  border-radius: 4px 4px 0 0;
+}
+.nav-tabs > li > a:hover {
+  border-color: #eeeeee #eeeeee #dddddd;
+}
+.nav-tabs > .active > a, .nav-tabs > .active > a:hover {
+  color: #555555;
+  background-color: #ffffff;
+  border: 1px solid #ddd;
+  border-bottom-color: transparent;
+  cursor: default;
+}
+.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;
+}
+.nav-pills .active > a, .nav-pills .active > a:hover {
+  color: #ffffff;
+  background-color: #0088cc;
+}
+.nav-stacked > li {
   float: none;
 }
-.nav ul a {
-  width: 145px;
-  white-space: nowrap;
-  border-bottom:1px solid #AED5FE;
+.nav-stacked > li > a {
+  margin-right: 0;
 }
-.nav ul a:hover {
-       background-color:#111 !important;
-       color:#fff !important;
+.nav-tabs.nav-stacked {
+  border-bottom: 0;
 }
-.nav li.last {
-       border-right:1px solid #AED5FE !important;
+.nav-tabs.nav-stacked > li > a {
+  border: 1px solid #ddd;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
 }
-.nav2 {
-       border:1px solid #AED5FE;
-       left:-1px;
+.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;
 }
-.nav2 li a {
-       background-color:#000;
-       width:164px !important;
+.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;
 }
-
-
-/* UI widgets */
-.button {
-       display:inline-block;
-       background: url(img/web_button_sprite.png) no-repeat -128px 0;
-       height:32px;
-       width:190px;
-       line-height:24px;
-       text-align:center;
-       color:#ccc;
-       text-decoration:none;
-       border:0;
-       padding:0;
-       cursor:pointer;
-}
-a.button {
-       height:24px;
-       width:160px;
-       line-height:24px;
-       padding:4px 16px;
-}
-.button.s { background-position:0 0; width:126px; }
-.button.m { background-position:-320px 0; width:318px; }
-.button.l { background-position:-640px 0; width:638px; }
-a.button.s { width:96px; }
-a.button.m { width:288px; }
-a.button.l { width:608px; }
-
-.button.s:hover { background-position:0 -33px; }
-.button:hover { background-position:-128px -33px; }
-.button.m:hover { background-position:-320px -33px; }
-.button.l:hover { background-position:-640px -33px; }
-
-.button.s:active, .button.s:focus  { background-position:0 -66px; }
-.button:active, .button:focus { background-position:-128px -66px; }
-.button.m:active, .button.m:focus { background-position:-320px -66px; }
-.button.l:active, .button.l:focus { background-position:-640px -66px; }
-
-.button:hover, .button:active, .button:focus {
-       outline:0;
+.nav-tabs.nav-stacked > li > a:hover {
+  border-color: #ddd;
+  z-index: 2;
 }
-
-input[type=text], .textbox {
-       display:inline-block;
-       background: url(img/inputbox_sprite.png) no-repeat -128px 0;
-       width:150px;
-       height:24px;
-       line-height:24px;
-       text-align:left;
-       color:#ccc;
-       text-decoration:none;
-       padding:4px 16px;
-       border:0;
+.nav-pills.nav-stacked > li > a {
+  margin-bottom: 3px;
 }
-
-.textbox.s { background-position: 0 0; width:96px; }
-.textbox.m { background-position:-320px 0; width:288px; }
-.textbox.l { background-position:-640px 0; width:608px; }
-
-.textbox.s:hover { background-position:0 -32px; }
-input[type=text]:hover, .textbox:hover { background-position:-128px -32px; }
-.textbox.m:hover { background-position:-320px -32px; }
-.textbox.l:hover { background-position:-640px -32px; }
-
-.textbox:hover, .textbox:active, .textbox:focus, input[type=text] {
-       outline:none;
+.nav-pills.nav-stacked > li:last-child > a {
+  margin-bottom: 1px;
 }
-
-.checkbox, .radio {
-       display: none;
-}
-.checkbox-label {
-       background: url('img/web_checkbox_n0.png') no-repeat;
-       padding-left: 40px;
-       padding-top: 3px;
-       margin: 5px;
-       height: 32px;
-       display: inline-block;
-       cursor:pointer;
-}
-.checkbox-label:hover, .radio-label:hover{
-       text-decoration: underline;
-}
-.checkbox-selected, .radio-selected {
-       background: url('img/web_checkbox_n1.png') no-repeat;
-}
-.radio-label {
-       background: url("img/web_radiobutton_n0.png") no-repeat;
-       padding-left: 60px;
-       padding-top: 3px;
-       margin: 5px;
-       height: 64px;
-       width: 64px;
-       display: block;
-       float: left;
-       cursor:pointer;
-}
-.radio-selected {
-       background: url("img/web_radiobutton_n1.png") no-repeat;
+.nav-tabs .dropdown-menu, .nav-pills .dropdown-menu {
+  margin-top: 1px;
+  border-width: 1px;
 }
-
-/* Content Specific */
-
-/*Tables */
-#top-players, #top-servers, #top-maps, .rank-table{
-    float: left;
-    margin-bottom: 10px;
-    width: 290px;
+.nav-pills .dropdown-menu {
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
 }
-#player-index-table, #server-index-table{
-    width: 600px;
+.nav-tabs .dropdown-toggle .caret, .nav-pills .dropdown-toggle .caret {
+  border-top-color: #0088cc;
+  margin-top: 6px;
 }
-#map-index-table {
-    width: 300px;
+.nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret {
+  border-top-color: #005580;
 }
-#recent-games {
-    width: 950px;
+.nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret {
+  border-top-color: #333333;
 }
-#recent-games_filter {
-       position: absolute;
-       top: -38px;
-       right: 0;
+.nav > .dropdown.active > a:hover {
+  color: #000000;
+  cursor: pointer;
 }
-#search { margin-bottom:10px; }
-table { text-shadow:1px 1px 4px #013; }
-thead {
-       background-color:#020F1C;
+.nav-tabs .open .dropdown-toggle, .nav-pills .open .dropdown-toggle, .nav > .open.active > a:hover {
+  color: #ffffff;
+  background-color: #999999;
+  border-color: #999999;
 }
-thead.red {
-       color:#EEAFAB;
-       background-color:#170403;
-       text-shadow:1px 1px 4px #722;
+.nav .open .caret, .nav .open.active .caret, .nav .open a:hover .caret {
+  border-top-color: #ffffff;
+  opacity: 1;
+  filter: alpha(opacity=100);
 }
-tr.odd.red {
-       background-color:#571612;
+.tabs-stacked .open > a:hover {
+  border-color: #999999;
 }
-tr.even.red {
-       background-color:#571612;
+.tabbable {
+  *zoom: 1;
 }
-thead.blue {
-       color:#ABBBEE;
-       background-color:#04081A;
-       text-shadow:1px 1px 4px #227;
+.tabbable:before, .tabbable:after {
+  display: table;
+  content: "";
 }
-tr.odd.blue {
-       background-color:#000F4C;
+.tabbable:after {
+  clear: both;
 }
-tr.even.blue {
-       background-color:#000F4C;
+.tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs {
+  border-bottom: 0;
 }
-#search_form td {
-    border: none;
+.tab-content > .tab-pane, .pill-content > .pill-pane {
+  display: none;
 }
-
-/* column-specific table widths */
-.create-dt{
-    width: 150px;
+.tab-content > .active, .pill-content > .active {
+  display: block;
 }
-
-.play-time{
-    width: 70px;
+.tabs-below .nav-tabs {
+  border-top: 1px solid #ddd;
+}
+.tabs-below .nav-tabs > li {
+  margin-top: -1px;
+  margin-bottom: 0;
+}
+.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;
+}
+.tabs-below .nav-tabs .active > a, .tabs-below .nav-tabs .active > a:hover {
+  border-color: transparent #ddd #ddd #ddd;
+}
+.tabs-left .nav-tabs > li, .tabs-right .nav-tabs > li {
+  float: none;
+}
+.tabs-left .nav-tabs > li > a, .tabs-right .nav-tabs > li > a {
+  min-width: 74px;
+  margin-right: 0;
+  margin-bottom: 3px;
+}
+.tabs-left .nav-tabs {
+  float: left;
+  margin-right: 19px;
+  border-right: 1px solid #ddd;
+}
+.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;
+}
+.tabs-left .nav-tabs > li > a:hover {
+  border-color: #eeeeee #dddddd #eeeeee #eeeeee;
+}
+.tabs-left .nav-tabs .active > a, .tabs-left .nav-tabs .active > a:hover {
+  border-color: #ddd transparent #ddd #ddd;
+  *border-right-color: #ffffff;
+}
+.tabs-right .nav-tabs {
+  float: right;
+  margin-left: 19px;
+  border-left: 1px solid #ddd;
+}
+.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;
+}
+.tabs-right .nav-tabs > li > a:hover {
+  border-color: #eeeeee #eeeeee #eeeeee #dddddd;
+}
+.tabs-right .nav-tabs .active > a, .tabs-right .nav-tabs .active > a:hover {
+  border-color: #ddd #ddd #ddd transparent;
+  *border-left-color: #ffffff;
+}
+.navbar {
+  overflow: visible;
+  margin-bottom: 18px;
+}
+.navbar-inner {
+  padding-left: 20px;
+  padding-right: 20px;
+  background-color: #2c2c2c;
+  background-image: -moz-linear-gradient(top, #333333, #222222);
+  background-image: -ms-linear-gradient(top, #333333, #222222);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
+  background-image: -webkit-linear-gradient(top, #333333, #222222);
+  background-image: -o-linear-gradient(top, #333333, #222222);
+  background-image: linear-gradient(top, #333333, #222222);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+.btn-navbar {
+  display: none;
+  float: right;
+  padding: 7px 10px;
+  margin-left: 5px;
+  margin-right: 5px;
+  background-color: #2c2c2c;
+  background-image: -moz-linear-gradient(top, #333333, #222222);
+  background-image: -ms-linear-gradient(top, #333333, #222222);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
+  background-image: -webkit-linear-gradient(top, #333333, #222222);
+  background-image: -o-linear-gradient(top, #333333, #222222);
+  background-image: linear-gradient(top, #333333, #222222);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
+  border-color: #222222 #222222 #000000;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+}
+.btn-navbar:hover,
+.btn-navbar:active,
+.btn-navbar.active,
+.btn-navbar.disabled,
+.btn-navbar[disabled] {
+  background-color: #222222;
+}
+.btn-navbar:active, .btn-navbar.active {
+  background-color: #080808 \9;
+}
+.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);
+}
+.btn-navbar .icon-bar + .icon-bar {
+  margin-top: 3px;
+}
+.nav-collapse.collapse {
+  height: auto;
+}
+.navbar .brand:hover {
+  text-decoration: none;
+}
+.navbar .brand {
+  float: left;
+  display: block;
+  padding: 2px 15px 0px;
+  margin-left: -20px;
+  font-size: 20px;
+  font-weight: 200;
+  //line-height: 1;
+  color: #ffffff;
+}
+.navbar .navbar-text {
+  margin-bottom: 0;
+  line-height: 40px;
+  color: #999999;
+}
+.navbar .navbar-text a:hover {
+  color: #ffffff;
+  background-color: transparent;
+}
+.navbar .btn, .navbar .btn-group {
+  margin-top: 5px;
+}
+.navbar .btn-group .btn {
+  margin-top: 0;
+}
+.navbar-form {
+  margin-bottom: 0;
+  *zoom: 1;
+}
+.navbar-form:before, .navbar-form:after {
+  display: table;
+  content: "";
+}
+.navbar-form:after {
+  clear: both;
+}
+.navbar-form input, .navbar-form select {
+  display: inline-block;
+  margin-top: 5px;
+  margin-bottom: 0;
+}
+.navbar-form .radio, .navbar-form .checkbox {
+  margin-top: 5px;
+}
+.navbar-form input[type="image"], .navbar-form input[type="checkbox"], .navbar-form input[type="radio"] {
+  margin-top: 3px;
+}
+.navbar-search {
+  position: relative;
+  float: left;
+  margin-top: 6px;
+  margin-bottom: 0;
+}
+.navbar-search .search-query {
+  padding: 4px 9px;
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 13px;
+  font-weight: normal;
+  line-height: 1;
+  color: #ffffff;
+  color: rgba(255, 255, 255, 0.75);
+  background: #666;
+  background: rgba(255, 255, 255, 0.3);
+  border: 1px solid #111;
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
+  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
+  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
+  -webkit-transition: none;
+  -moz-transition: none;
+  -ms-transition: none;
+  -o-transition: none;
+  transition: none;
+}
+.navbar-search .search-query :-moz-placeholder {
+  color: #eeeeee;
+}
+.navbar-search .search-query::-webkit-input-placeholder {
+  color: #eeeeee;
+}
+.navbar-search .search-query:hover {
+  color: #ffffff;
+  background-color: #999999;
+  background-color: rgba(255, 255, 255, 0.5);
+}
+.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;
+}
+.navbar-fixed-top {
+  position: fixed;
+  top: 0;
+  right: 0;
+  left: 0;
+  z-index: 1030;
+}
+.navbar-fixed-top .navbar-inner {
+  padding-left: 0;
+  padding-right: 0;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
+}
+.navbar .nav {
+  position: relative;
+  left: 0;
+  display: block;
+  float: left;
+  margin: 0 10px 0 0;
+}
+.navbar .nav.pull-right {
+  float: right;
+}
+.navbar .nav > li {
+  display: block;
+  float: left;
+}
+.navbar .nav > li > a {
+  float: none;
+  padding: 10px 10px 11px;
+  line-height: 19px;
+  color: #999999;
+  text-decoration: none;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.navbar .nav > li > a:hover {
+  background-color: transparent;
+  color: #ffffff;
+  text-decoration: none;
+}
+.navbar .nav .active > a, .navbar .nav .active > a:hover {
+  color: #ffffff;
+  text-decoration: none;
+  background-color: #222222;
+  background-color: rgba(0, 0, 0, 0.5);
+}
+.navbar .divider-vertical {
+  height: 40px;
+  width: 1px;
+  margin: 0 9px;
+  overflow: hidden;
+  background-color: #222222;
+  border-right: 1px solid #333333;
+}
+.navbar .nav.pull-right {
+  margin-left: 10px;
+  margin-right: 0;
+}
+.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;
+}
+.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;
+}
+.navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret {
+  border-top-color: #ffffff;
+}
+.navbar .nav .active .caret {
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
+.navbar .nav .open > .dropdown-toggle, .navbar .nav .active > .dropdown-toggle, .navbar .nav .open.active > .dropdown-toggle {
+  background-color: transparent;
+}
+.navbar .nav .active > .dropdown-toggle:hover {
+  color: #ffffff;
+}
+.navbar .nav.pull-right .dropdown-menu {
+  left: auto;
+  right: 0;
+}
+.navbar .nav.pull-right .dropdown-menu:before {
+  left: auto;
+  right: 12px;
+}
+.navbar .nav.pull-right .dropdown-menu:after {
+  left: auto;
+  right: 13px;
+}
+.breadcrumb {
+  padding: 7px 14px;
+  margin: 0 0 18px;
+  background-color: #fbfbfb;
+  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));
+  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: linear-gradient(top, #ffffff, #f5f5f5);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);
+  border: 1px solid #ddd;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+  -webkit-box-shadow: inset 0 1px 0 #ffffff;
+  -moz-box-shadow: inset 0 1px 0 #ffffff;
+  box-shadow: inset 0 1px 0 #ffffff;
+}
+.breadcrumb li {
+  display: inline;
+  text-shadow: 0 1px 0 #ffffff;
+}
+.breadcrumb .divider {
+  padding: 0 5px;
+  color: #999999;
+}
+.breadcrumb .active a {
+  color: #333333;
+}
+.pagination {
+  height: 36px;
+  margin: 18px 0;
 }
+.pagination ul {
+  display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
 
-/* Containers */
-#filter {
-       float:left;
-       width:200px;
+  *zoom: 1;
+  margin-left: 0;
+  margin-bottom: 0;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.pagination li {
+  display: inline;
+}
+.pagination a {
+  float: left;
+  padding: 0 14px;
+  line-height: 34px;
+  text-decoration: none;
+  border: 1px solid #ddd;
+  border-left-width: 0;
+}
+.pagination a:hover, .pagination .active a {
+  background-color: #f5f5f5;
+}
+.pagination .active a {
+  color: #999999;
+  cursor: default;
+}
+.pagination .disabled a, .pagination .disabled a:hover {
+  color: #999999;
+  background-color: transparent;
+  cursor: default;
+}
+.pagination li:first-child a {
+  border-left-width: 1px;
+  -webkit-border-radius: 3px 0 0 3px;
+  -moz-border-radius: 3px 0 0 3px;
+  border-radius: 3px 0 0 3px;
+}
+.pagination li:last-child a {
+  -webkit-border-radius: 0 3px 3px 0;
+  -moz-border-radius: 0 3px 3px 0;
+  border-radius: 0 3px 3px 0;
+}
+.pagination-centered {
+  text-align: center;
+}
+.pagination-right {
+  text-align: right;
+}
+.pager {
+  margin-left: 0;
+  margin-bottom: 18px;
+  list-style: none;
+  text-align: center;
+  *zoom: 1;
 }
-#recent-games-list {
-       float:right;
-       width:735px;
+.pager:before, .pager:after {
+  display: table;
+  content: "";
 }
-.game {
-       float:left;
-    background-image: -moz-linear-gradient(center bottom , #062C52, #041B33);
-       background-image: -webkit-gradient(
-               linear,
-               left bottom,
-               left top,
-               color-stop(0.51, #062C52),
-               color-stop(0.51, #041B33)
-       );
-    border: 1px solid #A4B7CA;
-    border-radius: 7px;
-    -moz-border-radius: 7px;
-    -webkit-border-radius: 7px;
-    margin-bottom: 20px;
-    padding: 10px 7px;
-       box-shadow: 0 0 3px 1px;
-       min-width:700px;
+.pager:after {
+  clear: both;
+}
+.pager li {
+  display: inline;
 }
+.pager a {
+  display: inline-block;
+  padding: 5px 14px;
+  background-color: #fff;
+  border: 1px solid #ddd;
+  -webkit-border-radius: 15px;
+  -moz-border-radius: 15px;
+  border-radius: 15px;
+}
+.pager a:hover {
+  text-decoration: none;
+  background-color: #f5f5f5;
+}
+.pager .next a {
+  float: right;
+}
+.pager .previous a {
+  float: left;
+}
+.modal-open .dropdown-menu {
+  z-index: 2050;
+}
+.modal-open .dropdown.open {
+  *z-index: 2050;
+}
+.modal-open .popover {
+  z-index: 2060;
+}
+.modal-open .tooltip {
+  z-index: 2070;
+}
+.modal-backdrop {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1040;
+  background-color: #000000;
+}
+.modal-backdrop.fade {
+  opacity: 0;
+}
+.modal-backdrop, .modal-backdrop.fade.in {
+  opacity: 0.8;
+  filter: alpha(opacity=80);
+}
+.modal {
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  z-index: 1050;
+  max-height: 500px;
+  overflow: auto;
+  width: 560px;
+  margin: -250px 0 0 -280px;
+  background-color: #ffffff;
+  border: 1px solid #999;
+  border: 1px solid rgba(0, 0, 0, 0.3);
+  *border: 1px solid #999;
+  /* IE6-7 */
 
-.game img {
+  -webkit-border-radius: 6px;
+  -moz-border-radius: 6px;
+  border-radius: 6px;
+  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding-box;
+  background-clip: padding-box;
+}
+.modal.fade {
+  -webkit-transition: opacity .3s linear, top .3s ease-out;
+  -moz-transition: opacity .3s linear, top .3s ease-out;
+  -ms-transition: opacity .3s linear, top .3s ease-out;
+  -o-transition: opacity .3s linear, top .3s ease-out;
+  transition: opacity .3s linear, top .3s ease-out;
+  top: -25%;
+}
+.modal.fade.in {
+  top: 50%;
+}
+.modal-header {
+  padding: 9px 15px;
+  border-bottom: 1px solid #eee;
+}
+.modal-header .close {
+  margin-top: 2px;
+}
+.modal-body {
+  padding: 15px;
+}
+.modal-footer {
+  padding: 14px 15px 15px;
+  margin-bottom: 0;
+  background-color: #f5f5f5;
+  border-top: 1px solid #ddd;
+  -webkit-border-radius: 0 0 6px 6px;
+  -moz-border-radius: 0 0 6px 6px;
+  border-radius: 0 0 6px 6px;
+  -webkit-box-shadow: inset 0 1px 0 #ffffff;
+  -moz-box-shadow: inset 0 1px 0 #ffffff;
+  box-shadow: inset 0 1px 0 #ffffff;
+  *zoom: 1;
+}
+.modal-footer:before, .modal-footer:after {
+  display: table;
+  content: "";
+}
+.modal-footer:after {
+  clear: both;
+}
+.modal-footer .btn {
+  float: right;
+  margin-left: 5px;
+  margin-bottom: 0;
+}
+.tooltip {
+  position: absolute;
+  z-index: 1020;
+  display: block;
+  visibility: visible;
+  padding: 5px;
+  font-size: 11px;
+  opacity: 0;
+  filter: alpha(opacity=0);
+}
+.tooltip.in {
+  opacity: 0.8;
+  filter: alpha(opacity=80);
+}
+.tooltip.top {
+  margin-top: -2px;
+}
+.tooltip.right {
+  margin-left: 2px;
+}
+.tooltip.bottom {
+  margin-top: 2px;
+}
+.tooltip.left {
+  margin-left: -2px;
+}
+.tooltip.top .tooltip-arrow {
+  bottom: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-top: 5px solid #000000;
+}
+.tooltip.left .tooltip-arrow {
+  top: 50%;
+  right: 0;
+  margin-top: -5px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-left: 5px solid #000000;
+}
+.tooltip.bottom .tooltip-arrow {
+  top: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-bottom: 5px solid #000000;
+}
+.tooltip.right .tooltip-arrow {
+  top: 50%;
+  left: 0;
+  margin-top: -5px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-right: 5px solid #000000;
+}
+.tooltip-inner {
+  max-width: 200px;
+  padding: 3px 8px;
+  color: #ffffff;
+  text-align: center;
+  text-decoration: none;
+  background-color: #000000;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.tooltip-arrow {
+  position: absolute;
+  width: 0;
+  height: 0;
+}
+.popover {
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 1010;
+  display: none;
+  padding: 5px;
+}
+.popover.top {
+  margin-top: -5px;
+}
+.popover.right {
+  margin-left: 5px;
+}
+.popover.bottom {
+  margin-top: 5px;
+}
+.popover.left {
+  margin-left: -5px;
+}
+.popover.top .arrow {
+  bottom: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-top: 5px solid #000000;
+}
+.popover.right .arrow {
+  top: 50%;
+  left: 0;
+  margin-top: -5px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-right: 5px solid #000000;
+}
+.popover.bottom .arrow {
+  top: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-bottom: 5px solid #000000;
+}
+.popover.left .arrow {
+  top: 50%;
+  right: 0;
+  margin-top: -5px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-left: 5px solid #000000;
+}
+.popover .arrow {
+  position: absolute;
+  width: 0;
+  height: 0;
+}
+.popover-inner {
+  padding: 3px;
+  width: 280px;
+  overflow: hidden;
+  background: #000000;
+  background: rgba(0, 0, 0, 0.8);
+  -webkit-border-radius: 6px;
+  -moz-border-radius: 6px;
+  border-radius: 6px;
+  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+}
+.popover-title {
+  padding: 9px 15px;
+  line-height: 1;
+  background-color: #f5f5f5;
+  border-bottom: 1px solid #eee;
+  -webkit-border-radius: 3px 3px 0 0;
+  -moz-border-radius: 3px 3px 0 0;
+  border-radius: 3px 3px 0 0;
+}
+.popover-content {
+  padding: 14px;
+  background-color: #ffffff;
+  -webkit-border-radius: 0 0 3px 3px;
+  -moz-border-radius: 0 0 3px 3px;
+  border-radius: 0 0 3px 3px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding-box;
+  background-clip: padding-box;
+}
+.popover-content p, .popover-content ul, .popover-content ol {
+  margin-bottom: 0;
+}
+.thumbnails {
+  margin-left: -20px;
+  list-style: none;
+  *zoom: 1;
+}
+.thumbnails:before, .thumbnails:after {
+  display: table;
+  content: "";
+}
+.thumbnails:after {
+  clear: both;
+}
+.thumbnails > li {
   float: left;
+  margin: 0 0 18px 20px;
 }
-.game h3 {
-       color:#93B1CF;
-       text-shadow:1px 1px 2px #000;
-       padding:4px 4px 8px;
-       margin: 20px 0 0 0;
+.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);
+}
+a.thumbnail:hover {
+  border-color: #0088cc;
+  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+}
+.thumbnail > img {
+  display: block;
+  max-width: 100%;
+  margin-left: auto;
+  margin-right: auto;
+}
+.thumbnail .caption {
+  padding: 9px;
+}
+.label {
+  padding: 1px 3px 2px;
+  font-size: 9.75px;
+  font-weight: bold;
+  color: #ffffff;
+  text-transform: uppercase;
+  background-color: #999999;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+}
+.label-important {
+  background-color: #b94a48;
+}
+.label-warning {
+  background-color: #f89406;
+}
+.label-success {
+  background-color: #468847;
+}
+.label-info {
+  background-color: #3a87ad;
+}
+@-webkit-keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+@-moz-keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+.progress {
+  overflow: hidden;
+  height: 18px;
+  margin-bottom: 18px;
+  background-color: #f7f7f7;
+  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
+  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.progress .bar {
+  width: 0%;
+  height: 18px;
+  color: #ffffff;
+  font-size: 12px;
+  text-align: center;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #0e90d2;
+  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
+  background-image: -ms-linear-gradient(top, #149bdf, #0480be);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
+  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
+  background-image: -o-linear-gradient(top, #149bdf, #0480be);
+  background-image: linear-gradient(top, #149bdf, #0480be);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);
+  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+  -webkit-transition: width 0.6s ease;
+  -moz-transition: width 0.6s ease;
+  -ms-transition: width 0.6s ease;
+  -o-transition: width 0.6s ease;
+  transition: width 0.6s ease;
+}
+.progress-striped .bar {
+  background-color: #62c462;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  -webkit-background-size: 40px 40px;
+  -moz-background-size: 40px 40px;
+  -o-background-size: 40px 40px;
+  background-size: 40px 40px;
+}
+.progress.active .bar {
+  -webkit-animation: progress-bar-stripes 2s linear infinite;
+  -moz-animation: progress-bar-stripes 2s linear infinite;
+  animation: progress-bar-stripes 2s linear infinite;
+}
+.progress-danger .bar {
+  background-color: #dd514c;
+  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
+  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: linear-gradient(top, #ee5f5b, #c43c35);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
+}
+.progress-danger.progress-striped .bar {
+  background-color: #ee5f5b;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-success .bar {
+  background-color: #5eb95e;
+  background-image: -moz-linear-gradient(top, #62c462, #57a957);
+  background-image: -ms-linear-gradient(top, #62c462, #57a957);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
+  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+  background-image: -o-linear-gradient(top, #62c462, #57a957);
+  background-image: linear-gradient(top, #62c462, #57a957);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
+}
+.progress-success.progress-striped .bar {
+  background-color: #62c462;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-info .bar {
+  background-color: #4bb1cf;
+  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
+  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: linear-gradient(top, #5bc0de, #339bb9);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
+}
+.progress-info.progress-striped .bar {
+  background-color: #5bc0de;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.accordion {
+  margin-bottom: 18px;
+}
+.accordion-group {
+  margin-bottom: 2px;
+  border: 1px solid #e5e5e5;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.accordion-heading {
+  border-bottom: 0;
+}
+.accordion-heading .accordion-toggle {
+  display: block;
+  padding: 8px 15px;
 }
-.game h3 a {
-       color:#C5DCF3;
+.accordion-inner {
+  padding: 9px 15px;
+  border-top: 1px solid #e5e5e5;
 }
-.game h3 a:hover {
-       color:#fff;
+.carousel {
+  position: relative;
+  margin-bottom: 18px;
+  line-height: 1;
 }
-.game th {
-       font-size:10px;
-       padding:2px 5px;
-       min-width:50px;
+.carousel-inner {
+  overflow: hidden;
+  width: 100%;
+  position: relative;
 }
-.game th.nick {
-       text-align:right;
-       width:160px;
-       max-width:260px;
+.carousel .item {
+  display: none;
+  position: relative;
+  -webkit-transition: 0.6s ease-in-out left;
+  -moz-transition: 0.6s ease-in-out left;
+  -ms-transition: 0.6s ease-in-out left;
+  -o-transition: 0.6s ease-in-out left;
+  transition: 0.6s ease-in-out left;
 }
-.game tr {
-       font-size:14px;
+.carousel .item > img {
+  display: block;
+  line-height: 1;
 }
-.game td:first-child {
-       text-align:right;
-       padding-right:8px;
+.carousel .active, .carousel .next, .carousel .prev {
+  display: block;
 }
-.permalink {
-       float:right;
-       font-size:12px;
+.carousel .active {
+  left: 0;
 }
-.permalink a {
-       color:#6F8194 !important;
+.carousel .next, .carousel .prev {
+  position: absolute;
+  top: 0;
+  width: 100%;
 }
-.permalink a:hover {
-       color:#A4B7CA !important;
-       text-decoration:underline;
+.carousel .next {
+  left: 100%;
 }
-.note {
-    font-size: 10px;
-       color:#6D8399;
+.carousel .prev {
+  left: -100%;
+}
+.carousel .next.left, .carousel .prev.right {
+  left: 0;
+}
+.carousel .active.left {
+  left: -100%;
+}
+.carousel .active.right {
+  left: 100%;
+}
+.carousel-control {
+  position: absolute;
+  top: 40%;
+  left: 15px;
+  width: 40px;
+  height: 40px;
+  margin-top: -20px;
+  font-size: 60px;
+  font-weight: 100;
+  line-height: 30px;
+  color: #ffffff;
+  text-align: center;
+  background: #222222;
+  border: 3px solid #ffffff;
+  -webkit-border-radius: 23px;
+  -moz-border-radius: 23px;
+  border-radius: 23px;
+  opacity: 0.5;
+  filter: alpha(opacity=50);
+}
+.carousel-control.right {
+  left: auto;
+  right: 15px;
+}
+.carousel-control:hover {
+  color: #ffffff;
+  text-decoration: none;
+  opacity: 0.9;
+  filter: alpha(opacity=90);
+}
+.carousel-caption {
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  padding: 10px 15px 5px;
+  background: #333333;
+  background: rgba(0, 0, 0, 0.75);
+}
+.carousel-caption h4, .carousel-caption p {
+  color: #ffffff;
+}
+.hero-unit {
+  margin-bottom: 30px;
+  -webkit-border-radius: 6px;
+  -moz-border-radius: 6px;
+  border-radius: 6px;
+  text-align: center;
+}
+.hero-unit h1 {
+  margin-bottom: 0;
+  font-size: 60px;
+  line-height: 1;
+  letter-spacing: -1px;
+}
+.hero-unit p {
+  font-size: 18px;
+  font-weight: 200;
+  line-height: 27px;
+}
+.pull-right {
+  float: right;
+}
+.pull-left {
+  float: left;
+}
+.hide {
+  display: none;
+}
+.show {
+  display: block;
+}
+.invisible {
+  visibility: hidden;
+}
+#statline {
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 12px;
+  position: relative;
+  top: -25px;
+}
+#xonborder {
+  //border-width: 56px 56px 56px;
+  -moz-border-image: url(img/web_border.png) 85 85 85 stretch;
+  -webkit-border-image: url(img/web_border.png) 72 85 85 stretch;
+  -o-border-image: url(img/web_border.png) 96 96 96 stretch;
+  border-image: url(img/web_border.png) 96 96 96 stretch;
+  border-width: 40px;
+  left: -40px;
+  position: relative;
+}
+#title {
+    font-size: 16px;
+    position: relative;
+    top: -35px;
+    text-align: center;
+}
+#navsearch {
+  float: right;
+  margin-bottom: 0px;
+  padding-top: 6px;
+}
+#navsearch input, #navsearch select{
+  background-color: #606060;
+  border: 1px solid #202020;
+  color: #AAA;
+  margin-bottom: 0px;
+}
+#navsearch select {
+  width: 80px;
+}
+/* Game scoreboard */
+.game {
+  background-image: -moz-linear-gradient(center bottom , #062C52, #041B33);
+  border: 1px solid #A4B7CA;
+  border-radius: 7px 7px 7px 7px;
+  box-shadow: 0 0 3px 1px;
+  float: left;
+  margin-bottom: 30px;
+  min-width: 700px;
+  padding: 10px 7px;
+}
+.game a {
+    color: #CCC;
+}
+.game a:hover {
+    color: #d95f00;
+    text-decoration: none;
+}
+.game tr {
+    background-color: #000;
+}
+.game tr.red {
+  background-color: #571612;
+}
+.game tr.blue {
+  background-color: #000F4C;
+}
+.game tr:hover {
+    background-color: #222;
 }
diff --git a/xonstat/static/css/style.min.css b/xonstat/static/css/style.min.css
new file mode 100644 (file)
index 0000000..329cf34
--- /dev/null
@@ -0,0 +1,9 @@
+@font-face{font-family:'XoloniumNormal';src:url('fonts/xolonium-webfont.eot');src:url('fonts/xolonium-webfont.eot?#iefix') format('embedded-opentype'),url('fonts/xolonium-webfont.woff') format('woff'),url('fonts/xolonium-webfont.ttf') format('truetype'),url('fonts/xolonium-webfont.svg#XoloniumNormal') format('svg');font-weight:normal;font-style:normal}/*!
+ * Bootstrap v2.0.0
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;height:auto;border:0;-ms-interpolation-mode:bicubic}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}body{background-color:#000;background:#000 url('img/web_background.png') 0 0 no-repeat;background-size:100%;color:#d0d0d0;font-family:"XoloniumNormal","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:11px;line-height:18px;margin:0}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:20px}.span1{width:60px}.span2{width:140px}.span3{width:220px}.span4{width:300px}.span5{width:380px}.span6{width:460px}.span7{width:540px}.span8{width:620px}.span9{width:700px}.span10{width:780px}.span11{width:860px}.span12,.container{width:940px}.offset1{margin-left:100px}.offset2{margin-left:180px}.offset3{margin-left:260px}.offset4{margin-left:340px}.offset5{margin-left:420px}.offset6{margin-left:500px}.offset7{margin-left:580px}.offset8{margin-left:660px}.offset9{margin-left:740px}.offset10{margin-left:820px}.offset11{margin-left:900px}.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.127659574%}.row-fluid>[class*="span"]:first-child{margin-left:0}.row-fluid .span1{width:6.382978723%}.row-fluid .span2{width:14.89361702%}.row-fluid .span3{width:23.404255317%}.row-fluid .span4{width:31.914893614%}.row-fluid .span5{width:40.425531911%}.row-fluid .span6{width:48.93617020799999%}.row-fluid .span7{width:57.446808505%}.row-fluid .span8{width:65.95744680199999%}.row-fluid .span9{width:74.468085099%}.row-fluid .span10{width:82.97872339599999%}.row-fluid .span11{width:91.489361693%}.row-fluid .span12{width:99.99999998999999%}.container{width:940px;margin-left:auto;margin-right:auto;*zoom:1}.container:before,.container:after{display:table;content:""}.container:after{clear:both}.container-fluid{padding-left:20px;padding-right:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:""}.container-fluid:after{clear:both}p{margin:0 0 9px;//font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px}p small{font-size:11px;color:#999}.lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px}h1,h2,h3,h4,h5,h6{margin:0;font-weight:bold;color:#d0d0d0;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999}h1{font-size:30px;line-height:36px}h1 small{font-size:18px}h2{font-size:24px;line-height:36px}h2 small{font-size:18px}h3{line-height:27px;font-size:18px}h3 small{font-size:14px}h4,h5,h6{line-height:18px}h4{font-size:14px}h4 small{font-size:12px}h5{font-size:12px}h6{font-size:11px;color:#999;text-transform:uppercase}.page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eee}.page-header h1{line-height:1}ul,ol{padding:0;margin:0 0 9px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}ul{list-style:disc}ol{list-style:decimal}li{line-height:18px}ul.unstyled{margin-left:0;list-style:none}dl{margin-bottom:18px}dt,dd{line-height:18px}dt{font-weight:bold}dd{margin-left:9px}hr{margin:18px 0;border:0;border-top:1px solid #e5e5e5;border-bottom:1px solid #fff}strong{font-weight:bold}em{font-style:italic}.muted{color:#999}abbr{font-size:90%;text-transform:uppercase;border-bottom:1px dotted #ddd;cursor:help}blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px}blockquote small{display:block;line-height:18px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-left:0;padding-right:15px;border-left:0;border-right:5px solid #eee}blockquote.pull-right p,blockquote.pull-right small{text-align:right}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:18px;line-height:18px;font-style:normal}small{font-size:100%}cite{font-style:normal}code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:3px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12px;line-height:18px;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;white-space:pre;white-space:pre-wrap;word-break:break-all}pre.prettyprint{margin-bottom:18px}pre code{padding:0;background-color:transparent}form{margin:0 0 18px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:27px;font-size:19.5px;line-height:36px;color:#333;border:0;border-bottom:1px solid #eee}label,input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px}label{display:block;margin-bottom:5px;color:#333}input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;margin-bottom:9px;font-size:13px;line-height:18px;color:#555;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.uneditable-textarea{width:auto;height:auto}label input,label textarea,label select{display:block}input[type="image"],input[type="checkbox"],input[type="radio"]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:0;cursor:pointer;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}input[type="file"]{padding:initial;line-height:initial;border:initial;background-color:#fff;background-color:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto}select,input[type="file"]{height:28px;*margin-top:4px;line-height:28px}select{width:220px;background-color:#fff}select[multiple],select[size]{height:auto}input[type="image"]{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea{height:auto}input[type="hidden"]{display:none}.radio,.checkbox{padding-left:18px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.controls>.radio.inline:first-child,.controls>.checkbox.inline:first-child{padding-top:0}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 .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-ms-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}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(125,125,125,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(125,125,125,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(125,125,125,0.6);outline:0;outline:thin dotted \9}input[type="file"]:focus,input[type="checkbox"]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{float:none;margin-left:0}input.span1,textarea.span1,.uneditable-input.span1{width:50px}input.span2,textarea.span2,.uneditable-input.span2{width:130px}input.span3,textarea.span3,.uneditable-input.span3{width:210px}input.span4,textarea.span4,.uneditable-input.span4{width:290px}input.span5,textarea.span5,.uneditable-input.span5{width:370px}input.span6,textarea.span6,.uneditable-input.span6{width:450px}input.span7,textarea.span7,.uneditable-input.span7{width:530px}input.span8,textarea.span8,.uneditable-input.span8{width:610px}input.span9,textarea.span9,.uneditable-input.span9{width:690px}input.span10,textarea.span10,.uneditable-input.span10{width:770px}input.span11,textarea.span11,.uneditable-input.span11{width:850px}input.span12,textarea.span12,.uneditable-input.span12{width:930px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed}.control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.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}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.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}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.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}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}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}.form-actions{padding:17px 20px 18px;margin-top:18px;margin-bottom:18px;background-color:#f5f5f5;border-top:1px solid #ddd}.uneditable-input{display:block;background-color:#fff;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}:-moz-placeholder{color:#999}::-webkit-input-placeholder{color:#999}.help-block{margin-top:5px;margin-bottom:0;color:#999}.help-inline{display:inline-block;*display:inline;*zoom:1;margin-bottom:9px;vertical-align:middle;padding-left:5px}.input-prepend,.input-append{margin-bottom:5px;*zoom:1}.input-prepend:before,.input-append:before,.input-prepend:after,.input-append:after{display:table;content:""}.input-prepend:after,.input-append:after{clear:both}.input-prepend input,.input-append input,.input-prepend .uneditable-input,.input-append .uneditable-input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend input:focus,.input-append input:focus,.input-prepend .uneditable-input:focus,.input-append .uneditable-input:focus{position:relative;z-index:2}.input-prepend .uneditable-input,.input-append .uneditable-input{border-left-color:#ccc}.input-prepend .add-on,.input-append .add-on{float:left;display:block;width:auto;min-width:16px;height:18px;margin-right:-1px;padding:4px 5px;font-weight:normal;line-height:18px;color:#999;text-align:center;text-shadow:0 1px 0 #fff;background-color:#f5f5f5;border:1px solid #ccc;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend .active,.input-append .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on{*margin-top:1px}.input-append input,.input-append .uneditable-input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append .uneditable-input{border-right-color:#ccc}.input-append .add-on{margin-right:0;margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append input:first-child{*margin-left:-160px}.input-append input:first-child+.add-on{*margin-left:-21px}.search-query{padding-left:14px;padding-right:14px;margin-bottom:0;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input{display:inline-block;margin-bottom:0}.form-search label,.form-inline label,.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{display:inline-block}.form-search .input-append .add-on,.form-inline .input-prepend .add-on,.form-search .input-append .add-on,.form-inline .input-prepend .add-on{vertical-align:middle}.control-group{margin-bottom:9px}.form-horizontal legend+.control-group{margin-top:18px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:18px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-group>label{float:left;width:140px;padding-top:5px;text-align:right}.form-horizontal .controls{margin-left:160px}.form-horizontal .form-actions{padding-left:160px}table{border:1px solid #436688;max-width:100%;border-collapse:collapse;border-spacing:0}table th{border:1px solid #436688;padding-top:9px;font-weight:bold;vertical-align:middle}table td{border:1px solid #436688;font-size:10px;padding:4px;vertical-align:middle}tr:hover{background-color:#222}.table{width:100%;margin-bottom:10px}.table th,.table td{padding:8px;line-height:18px;text-align:left;// border-top:1px solid #ddd}.table th{background-color:#001021;font-weight:bold;vertical-align:bottom}.table td{vertical-align:middle}.table thead:first-child tr th,.table thead:first-child tr td{border-top:0}.table tbody+tbody{// border-top:2px solid #ddd}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered th+th,.table-bordered td+td,.table-bordered th+td,.table-bordered td+th{//border-left:1px solid #ddd}.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}.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}.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}.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}.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}.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9}table .span1{float:none;width:44px;margin-left:0}table .span2{float:none;width:124px;margin-left:0}table .span3{float:none;width:204px;margin-left:0}table .span4{float:none;width:284px;margin-left:0}table .span5{float:none;width:364px;margin-left:0}table .span6{float:none;width:444px;margin-left:0}table .span7{float:none;width:524px;margin-left:0}table .span8{float:none;width:604px;margin-left:0}table .span9{float:none;width:684px;margin-left:0}table .span10{float:none;width:764px;margin-left:0}table .span11{float:none;width:844px;margin-left:0}table .span12{float:none;width:924px;margin-left:0}[class^="icon-"]{display:inline-block;width:14px;height:14px;vertical-align:text-top;background-image:url(../img/glyphicons-halflings.png);background-position:14px 14px;background-repeat:no-repeat;*margin-right:.3em}[class^="icon-"]:last-child{*margin-left:0}.icon-white{background-image:url(../img/glyphicons-halflings-white.png)}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;text-indent:-99999px;*text-indent:0;vertical-align:top;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;opacity:.3;filter:alpha(opacity=30);content:"\2193"}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown:hover .caret,.open.dropdown .caret{opacity:1;filter:alpha(opacity=100)}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;max-width:220px;_width:160px;padding:4px 0;margin:0;list-style:none;background-color:#fff;border-color:#ccc;border-color:rgba(0,0,0,0.2);border-style:solid;border-width:1px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px}.dropdown-menu.bottom-up{top:auto;bottom:100%;margin-bottom:2px}.dropdown-menu .divider{height:1px;margin:5px 1px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff;*width:100%;*margin:-5px 0 5px}.dropdown-menu a{display:block;padding:3px 15px;clear:both;font-weight:normal;line-height:18px;color:#555;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#08c}.dropdown.open{*z-index:1000}.dropdown.open .dropdown-toggle{color:#fff;background:#ccc;background:rgba(0,0,0,0.3)}.dropdown.open .dropdown-menu{display:block}.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.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)}.fade{-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-ms-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear;opacity:0}.fade.in{opacity:1}.collapse{-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-ms-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease;position:relative;overflow:hidden;height:0}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;opacity:.4;filter:alpha(opacity=40);cursor:pointer}.btn{display:inline-block;padding:4px 10px 4px;font-size:13px;line-height:18px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#fafafa;background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),color-stop(25%,#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(#fff,#fff 25%,#e6e6e6);background-image:-moz-linear-gradient(top,#fff,#fff 25%,#e6e6e6);background-image:-ms-linear-gradient(#fff,#fff 25%,#e6e6e6);background-image:-o-linear-gradient(#fff,#fff 25%,#e6e6e6);background-image:linear-gradient(#fff,#fff 25%,#e6e6e6);background-repeat:no-repeat;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#e6e6e6',GradientType=0);border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);cursor:pointer;*margin-left:.3em}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-color:#e6e6e6;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-ms-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.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;color:rgba(0,0,0,0.5);outline:0}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;background-color:#e6e6e6;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:9px 14px;font-size:15px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.btn-large .icon{margin-top:1px}.btn-small{padding:5px 9px;font-size:11px;line-height:16px}.btn-small .icon{margin-top:-1px}.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{text-shadow:0 -1px 0 rgba(0,0,0,0.25);color:#fff}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active{color:rgba(255,255,255,0.75)}.btn-primary{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(top,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{background-color:#04c}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.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}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.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}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.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}.btn-success:active,.btn-success.active{background-color:#408140 \9}.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}.btn-info:active,.btn-info.active{background-color:#24748c \9}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}button.btn.large,input[type="submit"].btn.large{*padding-top:7px;*padding-bottom:7px}button.btn.small,input[type="submit"].btn.small{*padding-top:3px;*padding-bottom:3px}.btn-group{position:relative;*zoom:1;*margin-left:.3em}.btn-group:before,.btn-group:after{display:table;content:""}.btn-group:after{clear:both}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:9px;margin-bottom:9px}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1}.btn-group .btn{position:relative;float:left;margin-left:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.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}.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}.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}.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}.btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active,.btn-group .btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);*padding-top:5px;*padding-bottom:5px}.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}.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)}.btn .caret{margin-top:7px;margin-left:0}.btn:hover .caret,.open.btn-group .caret{opacity:1;filter:alpha(opacity=100)}.btn-primary .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret{border-top-color:#fff;opacity:.75;filter:alpha(opacity=75)}.btn-small .caret{margin-top:4px}.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}.alert,.alert-heading{color:#c09853}.alert .close{position:relative;top:-2px;right:-21px;line-height:18px}.alert-success{background-color:#dff0d8;border-color:#d6e9c6}.alert-success,.alert-success .alert-heading{color:#468847}.alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7}.alert-danger,.alert-error,.alert-danger .alert-heading,.alert-error .alert-heading{color:#b94a48}.alert-info{background-color:#d9edf7;border-color:#bce8f1}.alert-info,.alert-info .alert-heading{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{font-size:15px;margin-left:0;margin-bottom:18px;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav-list{padding-left:14px;padding-right:14px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{display:block;padding:3px 15px;margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list .nav-header{font-size:11px;font-weight:bold;line-height:18px;color:#999;text-transform:uppercase}.nav-list>li+.nav-header{margin-top:9px}.nav-list .active>a{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list .icon{margin-right:2px}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:9px;padding-bottom:9px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.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}.nav-pills .active>a,.nav-pills .active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.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}.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}.nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu,.nav-pills .dropdown-menu{margin-top:1px;border-width:1px}.nav-pills .dropdown-menu{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-tabs .dropdown-toggle .caret,.nav-pills .dropdown-toggle .caret{border-top-color:#08c;margin-top:6px}.nav-tabs .dropdown-toggle:hover .caret,.nav-pills .dropdown-toggle:hover .caret{border-top-color:#005580}.nav-tabs .active .dropdown-toggle .caret,.nav-pills .active .dropdown-toggle .caret{border-top-color:#333}.nav>.dropdown.active>a:hover{color:#000;cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav .open .caret,.nav .open.active .caret,.nav .open a:hover .caret{border-top-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;content:""}.tabbable:after{clear:both}.tabs-below .nav-tabs,.tabs-right .nav-tabs,.tabs-left .nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below .nav-tabs{border-top:1px solid #ddd}.tabs-below .nav-tabs>li{margin-top:-1px;margin-bottom:0}.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}.tabs-below .nav-tabs .active>a,.tabs-below .nav-tabs .active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left .nav-tabs>li,.tabs-right .nav-tabs>li{float:none}.tabs-left .nav-tabs>li>a,.tabs-right .nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left .nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.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}.tabs-left .nav-tabs>li>a:hover{border-color:#eee #ddd #eee #eee}.tabs-left .nav-tabs .active>a,.tabs-left .nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right .nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.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}.tabs-right .nav-tabs>li>a:hover{border-color:#eee #eee #eee #ddd}.tabs-right .nav-tabs .active>a,.tabs-right .nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.navbar{overflow:visible;margin-bottom:18px}.navbar-inner{padding-left:20px;padding-right:20px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top,#333,#222);background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333',endColorstr='#222222',GradientType=0);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.25),inset 0 -1px 0 rgba(0,0,0,0.1)}.btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;background-color:#2c2c2c;background-image:-moz-linear-gradient(top,#333,#222);background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333',endColorstr='#222222',GradientType=0);border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.btn-navbar:hover,.btn-navbar:active,.btn-navbar.active,.btn-navbar.disabled,.btn-navbar[disabled]{background-color:#222}.btn-navbar:active,.btn-navbar.active{background-color:#080808 \9}.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)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.nav-collapse.collapse{height:auto}.navbar .brand:hover{text-decoration:none}.navbar .brand{float:left;display:block;padding:2px 15px 0;margin-left:-20px;font-size:20px;font-weight:200;//line-height:1;color:#fff}.navbar .navbar-text{margin-bottom:0;line-height:40px;color:#999}.navbar .navbar-text a:hover{color:#fff;background-color:transparent}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select{display:inline-block;margin-top:5px;margin-bottom:0}.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-search{position:relative;float:left;margin-top:6px;margin-bottom:0}.navbar-search .search-query{padding:4px 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;color:#fff;color:rgba(255,255,255,0.75);background:#666;background:rgba(255,255,255,0.3);border:1px solid #111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 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:#eee}.navbar-search .search-query::-webkit-input-placeholder{color:#eee}.navbar-search .search-query:hover{color:#fff;background-color:#999;background-color:rgba(255,255,255,0.5)}.navbar-search .search-query:focus,.navbar-search .search-query.focused{padding:5px 10px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;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}.navbar-fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.navbar-fixed-top .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right}.navbar .nav>li{display:block;float:left}.navbar .nav>li>a{float:none;padding:10px 10px 11px;line-height:19px;color:#999;text-decoration:none;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar .nav>li>a:hover{background-color:transparent;color:#fff;text-decoration:none}.navbar .nav .active>a,.navbar .nav .active>a:hover{color:#fff;text-decoration:none;background-color:#222;background-color:rgba(0,0,0,0.5)}.navbar .divider-vertical{height:40px;width:1px;margin:0 9px;overflow:hidden;background-color:#222;border-right:1px solid #333}.navbar .nav.pull-right{margin-left:10px;margin-right:0}.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}.navbar .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:10px}.navbar .nav .dropdown-toggle .caret,.navbar .nav .open.dropdown .caret{border-top-color:#fff}.navbar .nav .active .caret{opacity:1;filter:alpha(opacity=100)}.navbar .nav .open>.dropdown-toggle,.navbar .nav .active>.dropdown-toggle,.navbar .nav .open.active>.dropdown-toggle{background-color:transparent}.navbar .nav .active>.dropdown-toggle:hover{color:#fff}.navbar .nav.pull-right .dropdown-menu{left:auto;right:0}.navbar .nav.pull-right .dropdown-menu:before{left:auto;right:12px}.navbar .nav.pull-right .dropdown-menu:after{left:auto;right:13px}.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#fbfbfb;background-image:-moz-linear-gradient(top,#fff,#f5f5f5);background-image:-ms-linear-gradient(top,#fff,#f5f5f5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f5f5f5));background-image:-webkit-linear-gradient(top,#fff,#f5f5f5);background-image:-o-linear-gradient(top,#fff,#f5f5f5);background-image:linear-gradient(top,#fff,#f5f5f5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='#f5f5f5',GradientType=0);border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.breadcrumb li{display:inline;text-shadow:0 1px 0 #fff}.breadcrumb .divider{padding:0 5px;color:#999}.breadcrumb .active a{color:#333}.pagination{height:36px;margin:18px 0}.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination li{display:inline}.pagination a{float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0}.pagination a:hover,.pagination .active a{background-color:#f5f5f5}.pagination .active a{color:#999;cursor:default}.pagination .disabled a,.pagination .disabled a:hover{color:#999;background-color:transparent;cursor:default}.pagination li:first-child a{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.pagination li:last-child a{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pager{margin-left:0;margin-bottom:18px;list-style:none;text-align:center;*zoom:1}.pager:before,.pager:after{display:table;content:""}.pager:after{clear:both}.pager li{display:inline}.pager a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next a{float:right}.pager .previous a{float:left}.modal-open .dropdown-menu{z-index:2050}.modal-open .dropdown.open{*z-index:2050}.modal-open .popover{z-index:2060}.modal-open .tooltip{z-index:2070}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:50%;left:50%;z-index:1050;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-ms-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out;top:-25%}.modal.fade.in{top:50%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-body{padding:15px}.modal-footer{padding:14px 15px 15px;margin-bottom:0;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;*zoom:1}.modal-footer:before,.modal-footer:after{display:table;content:""}.modal-footer:after{clear:both}.modal-footer .btn{float:right;margin-left:5px;margin-bottom:0}.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-2px}.tooltip.right{margin-left:2px}.tooltip.bottom{margin-top:2px}.tooltip.left{margin-left:-2px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;padding:5px}.popover.top{margin-top:-5px}.popover.right{margin-left:5px}.popover.bottom{margin-top:5px}.popover.left{margin-left:-5px}.popover.top .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000}.popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000}.popover.bottom .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000}.popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000}.popover .arrow{position:absolute;width:0;height:0}.popover-inner{padding:3px;width:280px;overflow:hidden;background:#000;background:rgba(0,0,0,0.8);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}.popover-title{padding:9px 15px;line-height:1;background-color:#f5f5f5;border-bottom:1px solid #eee;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}.popover-content{padding:14px;background-color:#fff;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;content:""}.thumbnails:after{clear:both}.thumbnails>li{float:left;margin:0 0 18px 20px}.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)}a.thumbnail:hover{border-color:#08c;-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)}.thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px}.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#fff;text-transform:uppercase;background-color:#999;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.label-important{background-color:#b94a48}.label-warning{background-color:#f89406}.label-success{background-color:#468847}.label-info{background-color:#3a87ad}@-webkit-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@-moz-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}.progress{overflow:hidden;height:18px;margin-bottom:18px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-ms-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(top,#f5f5f5,#f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5',endColorstr='#f9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.progress .bar{width:0;height:18px;color:#fff;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-ms-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(top,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf',endColorstr='#0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-ms-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-ms-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(top,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35',GradientType=0)}.progress-danger.progress-striped .bar{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-ms-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(top,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462',endColorstr='#57a957',GradientType=0)}.progress-success.progress-striped .bar{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-ms-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(top,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de',endColorstr='#339bb9',GradientType=0)}.progress-info.progress-striped .bar{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:18px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:18px;line-height:1}.carousel-inner{overflow:hidden;width:100%;position:relative}.carousel .item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-ms-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel .item>img{display:block;line-height:1}.carousel .active,.carousel .next,.carousel .prev{display:block}.carousel .active{left:0}.carousel .next,.carousel .prev{position:absolute;top:0;width:100%}.carousel .next{left:100%}.carousel .prev{left:-100%}.carousel .next.left,.carousel .prev.right{left:0}.carousel .active.left{left:-100%}.carousel .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{left:auto;right:15px}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 15px 5px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{color:#fff}.hero-unit{margin-bottom:30px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;text-align:center}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px}.hero-unit p{font-size:18px;font-weight:200;line-height:27px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}#statline{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;position:relative;top:-25px}#xonborder{//border-width:56px 56px 56px;-moz-border-image:url(img/web_border.png) 85 85 85 stretch;-webkit-border-image:url(img/web_border.png) 72 85 85 stretch;-o-border-image:url(img/web_border.png) 96 96 96 stretch;border-image:url(img/web_border.png) 96 96 96 stretch;border-width:40px;left:-40px;position:relative}#title{font-size:16px;position:relative;top:-35px;text-align:center}#navsearch{float:right;margin-bottom:0;padding-top:6px}#navsearch input,#navsearch select{background-color:#606060;border:1px solid #202020;color:#AAA;margin-bottom:0}#navsearch select{width:80px}.game{background-image:-moz-linear-gradient(center bottom,#062c52,#041b33);border:1px solid #a4b7ca;border-radius:7px 7px 7px 7px;box-shadow:0 0 3px 1px;float:left;margin-bottom:30px;min-width:700px;padding:10px 7px}.game a{color:#CCC}.game a:hover{color:#d95f00;text-decoration:none}.game tr{background-color:#000}.game tr.red{background-color:#571612}.game tr.blue{background-color:#000f4c}.game tr:hover{background-color:#222}
\ No newline at end of file
diff --git a/xonstat/static/js/bootstrap-collapse.min.js b/xonstat/static/js/bootstrap-collapse.min.js
new file mode 100644 (file)
index 0000000..2291f7d
--- /dev/null
@@ -0,0 +1 @@
+!function(a){var b=function(d,c){this.$element=a(d);this.options=a.extend({},a.fn.collapse.defaults,c);if(this.options.parent){this.$parent=a(this.options.parent)}this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var c=this.$element.hasClass("width");return c?"width":"height"},show:function(){var f=this.dimension(),c=a.camelCase(["scroll",f].join("-")),e=this.$parent&&this.$parent.find(".in"),d;if(e&&e.length){d=e.data("collapse");e.collapse("hide");d||e.data("collapse",null)}this.$element[f](0);this.transition("addClass","show","shown");this.$element[f](this.$element[0][c])},hide:function(){var c=this.dimension();this.reset(this.$element[c]());this.transition("removeClass","hide","hidden");this.$element[c](0)},reset:function(c){var d=this.dimension();this.$element.removeClass("collapse")[d](c||"auto")[0].offsetWidth;this.$element.addClass("collapse")},transition:function(g,d,e){var f=this,c=function(){if(d=="show"){f.reset()}f.$element.trigger(e)};this.$element.trigger(d)[g]("in");a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,c):c()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};a.fn.collapse=function(c){return this.each(function(){var f=a(this),e=f.data("collapse"),d=typeof c=="object"&&c;if(!e){f.data("collapse",(e=new b(this,d)))}if(typeof c=="string"){e[c]()}})};a.fn.collapse.defaults={toggle:true};a.fn.collapse.Constructor=b;a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(h){var g=a(this),c,f=g.attr("data-target")||h.preventDefault()||(c=g.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),d=a(f).data("collapse")?"toggle":g.data();a(f).collapse(d)})})}(window.jQuery);
\ No newline at end of file
diff --git a/xonstat/static/js/jquery-1.7.1.min.js b/xonstat/static/js/jquery-1.7.1.min.js
new file mode 100644 (file)
index 0000000..198b3ff
--- /dev/null
@@ -0,0 +1,4 @@
+/*! jQuery v1.7.1 jquery.com | jquery.org/license */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cb(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(a+"["+e+"]",b[e],c,d);else d(a,b)}function b_(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bT,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};
+f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.POS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
+{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bp)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bv.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cv(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cn.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=co.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cr||cs(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cp&&(cp=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cr||cs(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cp),cp=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
\ No newline at end of file
index 678f8461f47768736822412516a47b67799d59ae..46e014161546620fda761cd18dc87db9102e01d8 100755 (executable)
@@ -11,7 +11,7 @@
 ## [4] = Hit
 ## [5] = Fired
 
-<table class="accuracy" border="1" cellpadding="3">
+<table class="table table-bordered table-condensed">
 <thead>
     <th></th>
     <th>Weapon</th>
index 0d2cf0024fbad782d8c6a5138afefaf7dc9ead95..c421da7cf74f791e51adf53f1fcc61975827e3eb 100755 (executable)
@@ -1,41 +1,51 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-    <head>
-        <title><%block name="title">XonStat - Player Statistics for Xonotic</%block></title>
-        <%block name="css">
-        <link rel="stylesheet" href="/static/css/style.css" type="text/css" media="screen" />
-        <link rel="stylesheet" href="/static/css/tables.css" type="text/css" media="screen" />
-        </%block>
-    </head>
-    <body>
-        <div id="container">
-            <div id="home" class="window">
-                <h1 id="title">Player Statistics for Xonotic</h1>
-                <ul id="menu" class="nav clearfix">
-                    <li><a href="${request.route_url('main_index')}" title="Leaderboard">leaderboard</a></li>
-                    <li><a href="${request.route_url('player_index')}" title="Player Index">players</a></li>
-                    <li><a href="${request.route_url('game_index')}" title="Game Index">games</a></li>
-                    <li><a href="${request.route_url('map_index')}" title="Map Index">maps</a></li>
-                    <li><a href="${request.route_url('server_index')}" title="Server Index">servers</a></li>
-                    <li class="last"><a href="${request.route_url('search')}" title="Search">search</a></li>
-                </ul>
-                <div id="content" class="clearfix">
-                    ${self.body()}
-                </div> <!-- #home -->
-            </div><!-- #content -->
-            <div id="footer">
-                <%block name="footer">
-                <p>XonStat is an open source (GPLv2) project created by Antibody. Fork it <a href="https://github.com/antzucaro/XonStat" title="Go to the project page">on Github!</a></p>
-                </%block>
-            </div> <!-- #footer -->
-        </div><!-- #container -->
-        <%block name="js">
-        <!-- production: <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
-        <script>window.jQuery || document.write( '<script src="/static/js/scripts/jquery-1.6.1.min.js"><\/script>' )</script>-->
-        <script src="/static/js/jquery-1.6.1.min.js"></script>
-        <script src="/static/js/jquery.dataTables.min.js"></script>
-        <script src="/static/js/jquery.dataTables.numHtml.js"></script>
-        <script src="/static/js/default.js"></script>
-        </%block>
+<%namespace name="nav" file="nav.mako"/>
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>XonStat: Player Statistics for Xonotic</title>
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <style type="text/css">
+      body {
+        padding-top: 60px;
+        padding-bottom: 40px;
+      }
+    </style>
+
+    <%block name="css">
+    <link href="../assets/css/bootstrap-responsive.css" rel="stylesheet">
+    <link href="/static/css/style.min.css" rel="stylesheet">
+    </%block>
+  </head>
+
+  <body>
+    <%block name="navigation">
+    ${nav.nav("leaderboard")}
+    </%block>
+
+    <div class="container">
+
+      <%block name="hero_unit">
+      </%block>
+
+      <div class="row">
+        <div class="span12" id="xonborder">
+          <div id="title"><%block name="title"></%block></div>
+            ${self.body()}
+        </div> <!-- /xonborder -->
+      </div> <!-- /main row -->
+
+      <%block name="footer">
+      <p class="pagination-centered">XonStat is an open source (GPLv2) project created by Antibody. Fork it <a href="https://github.com/antzucaro/XonStat" title="Go to the project page">on Github!</a></p>
+      </%block>
+
+      <%block name="js">
+      </%block>
     </body>
 </html>
index 7a369a35ee6f9ca8d6c2ca11ba1fdf7b223e59b7..f9d11de0cbd71e201a2ccad65e291b4f3b344d48 100755 (executable)
@@ -1,46 +1,33 @@
 <%inherit file="base.mako"/>\r
+<%namespace name="nav" file="nav.mako" />\r
 <%namespace file="scoreboard.mako" import="scoreboard" />\r
 <%namespace file="navlinks.mako" import="navlinks" />\r
 \r
+<%block name="navigation">\r
+${nav.nav('games')}\r
+</%block>\r
+\r
 <%block name="title">\r
-Game Index - ${parent.title()}\r
+Game Index\r
 </%block>\r
 \r
 % if not games:\r
 <h2>Sorry, no games yet. Get playing!</h2>\r
 \r
 % else:\r
-<div id="filter">\r
-       <h2>Filter</h2>\r
-       <input id="search" type="text" name="search" />\r
-       <input id="show-bots" type="checkbox" class="checkbox" checked="checked" /><label for="show-bots" class="checkbox-label">Show Bots</label><br />\r
-       <h3>Gametype</h3>\r
-       <input id="game-ca" type="checkbox" class="checkbox" /><label for="game-ca" class="checkbox-label">CA</label><br />\r
-       <input id="game-ctf" type="checkbox" class="checkbox" /><label for="game-ctf" class="checkbox-label">CTF</label><br />\r
-       <input id="game-dm" type="checkbox" class="checkbox" /><label for="game-dm" class="checkbox-label">DM</label><br />\r
-       <input id="game-freezetag" type="checkbox" class="checkbox" /><label for="game-freezetag" class="checkbox-label">Freezetag</label><br />\r
-       <h3>Sort By</h3>\r
-       <select id="sort-by">\r
-               <option>Kills</option>\r
-               <option>Deaths</option>\r
-               <option>Suicides</option>\r
-               <option>Time</option>\r
-               <option>Score</option>\r
-       </select>\r
+<div class="row">\r
+  <div class="span12">\r
+    <h2>Recent Games</h2>\r
+    % for (game, server, map) in games:\r
+    <div class="game">\r
+      <h4><img src="/static/images/icons/48x48/${game.game_type_cd}.png" width="30" height="30" /><a href="${request.route_url("map_info", id=map.map_id)}" name="Map info page for ${map.name}">${map.name}</a> on <a href="${request.route_url("server_info", id=server.server_id)}" name="Server info page for ${server.name}">${server.name}</a> <span class="permalink">(<a href="${request.route_url('game_info', id=game.game_id)}" name="Permalink for game #${game.game_id}">permalink</a>)</span></h4>\r
+      ${scoreboard(game.game_type_cd, pgstats[game.game_id])}\r
+    </div>\r
+    % endfor\r
+  </div>\r
 </div>\r
-<div id="recent-games-list">\r
-       <h2>Recent Games</h2>\r
-       % for (game, server, map) in games:\r
-       <div class="game">\r
-               <img src="/static/images/icons/48x48/${game.game_type_cd}.png"/><h3><a href="${request.route_url("map_info", id=map.map_id)}" name="Map info page for ${map.name}">${map.name}</a> on <a href="${request.route_url("server_info", id=server.server_id)}" name="Server info page for ${server.name}">${server.name}</a> <span class="permalink">(<a href="${request.route_url('game_info', id=game.game_id)}" name="Permalink for game #${game.game_id}">permalink</a>)</span></h3>\r
-       ## show scoreboard using a def from another file\r
-       ${scoreboard(game.game_type_cd, pgstats[game.game_id])}\r
-       </div>\r
-% endfor\r
 \r
 <!-- navigation links -->\r
 ${navlinks("game_index_paged", games.page, games.last_page)}\r
-\r
-</div><!-- #recent-games-list -->\r
 % endif\r
 \r
index eeeeb1e277a719710e24d2e303e9241c366da351..4d16a920cf75fba6223e70004c5db0903a5aaba5 100755 (executable)
@@ -1,9 +1,22 @@
 <%inherit file="base.mako"/>
+<%namespace name="nav" file="nav.mako" />
 <%namespace file="scoreboard.mako" import="scoreboard" />
 <%namespace file="accuracy.mako" import="accuracy" />
 
+<%block name="navigation">
+${nav.nav('games')}
+</%block>
+
+<%block name="js">
+      <script src="/static/js/jquery-1.7.1.min.js"></script>
+      <script src="/static/js/bootstrap-collapse.min.js"></script>
+      <script>
+        $(".collapse").collapse()
+      </script>
+</%block>
+
 <%block name="title">
-Game Information - ${parent.title()}
+Game Information
 </%block>
 
 
@@ -11,29 +24,49 @@ Game Information - ${parent.title()}
 <h2>Sorry, that game wasn't found!</h2>
 
 % else:
-<h2>Game Detail</h2>
-<p>
-Played on: ${game.start_dt.strftime('%m/%d/%Y at %I:%M %p')}<br />
-Game Type: ${game.game_type_cd}<br />
-Server: <a href="${request.route_url("server_info", id=server.server_id)}" name="Server info page for ${server.name}">${server.name}</a><br />
-Map: <a href="${request.route_url("map_info", id=map.map_id)}" name="Map info page for ${map.name}">${map.name}</a><br />
-</p>
-
-##### SCOREBOARD #####
-<h2>Scoreboard</h2>
-${scoreboard(game.game_type_cd, pgstats)}
-
-
-##### ACCURACY #####
-<h2>Accuracy</h2>
-% for pgstat in pgstats:
-% if pgstat.player_game_stat_id in pwstats:
-<a name="accuracy-${pgstat.player_game_stat_id}" />
-Accuracy for <a href="${request.route_url('player_info', id=pgstat.player_id)}" title="Go to the player detail page for this player">${pgstat.nick_html_colors()|n}</a>:
-${accuracy(pwstats[pgstat.player_game_stat_id])}
-<br />
-<br />
+<div class="row">
+  <div class="span6">
+    <h2>Game Detail</h2>
+    <p>
+      Played on: ${game.start_dt.strftime('%m/%d/%Y at %I:%M %p')}<br />
+      Game Type: ${game.game_type_cd}<br />
+      Server: <a href="${request.route_url("server_info", id=server.server_id)}" name="Server info page for ${server.name}">${server.name}</a><br />
+      Map: <a href="${request.route_url("map_info", id=map.map_id)}" name="Map info page for ${map.name}">${map.name}</a><br />
+    </p>
+  </div>
+</div>
+
+<div class="row">
+  <div class="span12 game">
+    <h3>Scoreboard</h3>
+    ${scoreboard(game.game_type_cd, pgstats)}
+  </div>
+</div>
+
+% if len(pgstats) > 0:
+<div class="row">
+  <div class="span12">
+    <h3>Accuracy Information</h3>
+    <div class="accordion" id="acc-accordion">
+    % for pgstat in pgstats:
+    % if pgstat.player_game_stat_id in pwstats:
+      <div class="accordion-group">
+        <div class="accordion-heading">
+          <a class="accordion-toggle" data-toggle="collapse" data-parent="#acc-accordion" href="#accuracy-${pgstat.player_game_stat_id}">
+          Accuracy for ${pgstat.nick_html_colors()|n}
+          </a>
+        </div>
+        <div id="accuracy-${pgstat.player_game_stat_id}" class="accordion-body collapse in">
+          <div class="accordion-inner">
+            ${accuracy(pwstats[pgstat.player_game_stat_id])}
+          </div>
+        </div>
+      </div>
+    % endif
+    % endfor
+  </div>
+</div>
 % endif
-% endfor
 
+</div>
 % endif
index 397d1c9b90a5cd18c414e1169b6ac8e1a94dcaa0..f5b8abd710d001e108bee4294b63d8bc23ac91ad 100755 (executable)
 <%inherit file="base.mako"/>\r
 \r
 <%block name="title">\r
-Main Page - ${parent.title()}\r
+Leaderboard\r
 </%block>\r
 \r
-##### DUEL RANKS #####\r
-<div class="table_block">\r
-<h2>Duel Ranks</h2>\r
-<table class="rank-table">\r
-       <thead>\r
-               <tr>\r
-                       <th>#</th>\r
-                       <th>Nick</th>\r
-                       <th>Elo</th>\r
-               </tr>\r
-       </thead>\r
-       <tbody>\r
-       <% i = 1 %>\r
-       % for (player_id, nick, elo) in duel_ranks:\r
-               <tr>\r
-                       <td>${i}</td>\r
-                       % if player_id != '-':\r
-                       <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick}</a></td>\r
-                       % else:\r
-                       <td>${nick}</td>\r
-                       % endif\r
-            % if elo != '-':\r
-                       <td>${round(elo, 3)}</td>\r
-            % else:\r
-                       <td>${elo}</td>\r
-            % endif\r
-               </tr>\r
-               <% i = i+1 %>\r
-       % endfor\r
-       </tbody>\r
-</table>\r
-<p class="note"><a href="${request.route_url('rank_index', page=1, game_type_cd='duel')}" title="See more duel rankings">More...</a></p>\r
-</div>\r
-\r
-\r
-\r
-##### CTF RANKS #####\r
-<div class="table_block">\r
-<h2>CTF Ranks</h2>\r
-<table class="rank-table">\r
-       <thead>\r
-               <tr>\r
-                       <th>#</th>\r
-                       <th>Nick</th>\r
-                       <th>Elo</th>\r
-               </tr>\r
-       </thead>\r
-       <tbody>\r
-       <% i = 1 %>\r
-       % for (player_id, nick, elo) in ctf_ranks:\r
-               <tr>\r
-                       <td>${i}</td>\r
-                       % if player_id != '-':\r
-                       <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick}</a></td>\r
-                       % else:\r
-                       <td>${nick}</td>\r
-                       % endif\r
-            % if elo != '-':\r
-                       <td>${round(elo, 3)}</td>\r
-            % else:\r
-                       <td>${elo}</td>\r
-            % endif\r
-               </tr>\r
-               <% i = i+1 %>\r
-       % endfor\r
-       </tbody>\r
-</table>\r
-<p class="note"><a href="${request.route_url('rank_index', page=1, game_type_cd='ctf')}" title="See more CTF rankings">More...</a></p>\r
-</div>\r
-\r
-\r
-\r
-##### DM RANKS #####\r
-<div class="table_block">\r
-<h2>DM Ranks</h2>\r
-<table class="rank-table">\r
-       <thead>\r
-               <tr>\r
-                       <th>#</th>\r
-                       <th>Nick</th>\r
-                       <th>Elo</th>\r
-               </tr>\r
-       </thead>\r
-       <tbody>\r
-       <% i = 1 %>\r
-       % for (player_id, nick, elo) in dm_ranks:\r
-               <tr>\r
-                       <td>${i}</td>\r
-                       % if player_id != '-':\r
-                       <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick}</a></td>\r
-                       % else:\r
-                       <td>${nick}</td>\r
-                       % endif\r
-            % if elo != '-':\r
-                       <td>${round(elo, 3)}</td>\r
-            % else:\r
-                       <td>${elo}</td>\r
-            % endif\r
-               </tr>\r
-               <% i = i+1 %>\r
-       % endfor\r
-       </tbody>\r
-</table>\r
-<p class="note"><a href="${request.route_url('rank_index', page=1, game_type_cd='dm')}" title="See more deathmatch rankings">More...</a></p>\r
-</div>\r
-\r
-\r
-\r
-##### TOP PLAYERS #####\r
-<div class="table_block">\r
-<h2>Most Active Players</h2>\r
-<table id="top-players">\r
-       <thead>\r
-               <tr>\r
-                       <th>#</th>\r
-                       <th>Nick</th>\r
-                       <th class="play-time">Play Time</th>\r
-               </tr>\r
-       </thead>\r
-       <tbody>\r
-       <% i = 1 %>\r
-       % for (player_id, nick, alivetime) in top_players:\r
-               <tr>\r
-                       <td>${i}</td>\r
-                       % if player_id != '-':\r
-                       <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>\r
-                       % else:\r
-                       <td>${nick}</td>\r
-                       % endif\r
-                       <td class="play-time">${alivetime}</td>\r
-               </tr>\r
-               <% i = i+1 %>\r
-       % endfor\r
-       </tbody>\r
-</table>\r
-<p class="note">*Most active stats are from the past 7 days</p>\r
-</div>\r
-\r
-##### TOP SERVERS #####\r
-<div class="table_block">\r
-<h2>Most Active Servers</h2>\r
-<table id="top-servers">\r
-       <thead>\r
-               <tr>\r
-                       <th>#</th>\r
-                       <th>Server</th>\r
-                       <th>Games</th>\r
-               </tr>\r
-       </thead>\r
-       <tbody>\r
-       <% i = 1 %>\r
-       % for (server_id, name, count) in top_servers:\r
-               <tr>\r
-                       <td>${i}</td>\r
-                       % if server_id != '-':\r
-                       <td><a href="${request.route_url('server_info', id=server_id)}" title="Go to the server info page for ${name}">${name}</a></td>\r
-                       % else:\r
-                       <td>${name}</td>\r
-                       % endif\r
-                       <td>${count}</td>\r
-               </tr>\r
-               <% i = i+1 %>\r
-       % endfor\r
-       </tbody>\r
-</table>\r
-</div>\r
-\r
-##### TOP MAPS #####\r
-<div class="table_block">\r
-<h2>Most Active Maps</h2>\r
-<table id="top-maps">\r
-       <thead>\r
-               <tr>\r
-                       <th>#</th>\r
-                       <th>Map</th>\r
-                       <th>Games</th>\r
-               </tr>\r
-       </thead>\r
-       <tbody>\r
-       <% i = 1 %>\r
-       % for (map_id, name, count) in top_maps:\r
-               <tr>\r
-                       <td>${i}</td>\r
-                       % if map_id != '-':\r
-                       <td><a href="${request.route_url('map_info', id=map_id)}" title="Go to the map info page for ${name}">${name}</a></td>\r
-                       % else:\r
-                       <td>${name}</td>\r
-                       % endif\r
-                       <td>${count}</td>\r
-               </tr>\r
-               <% i = i+1 %>\r
-       % endfor\r
-       </tbody>\r
-</table>\r
-</div>\r
-\r
-\r
+<%block name="hero_unit">\r
+      <div class="hero-unit">\r
+        <img src="/static/css/img/web_background_l2.png" />\r
+        #####<p id="statline">Tracking <a href="#">12345</a> players, <a href="#">12345</a> games (<a href="#">123</a> duels, <a href="#">123</a> ctfs, <a href="#">123</a> dms), <a href="#">12345</a> servers, and <a href="#">12345</a> maps since November 2011.</p>\r
+        <p id="statline">Tracking Xonotic statistics since October 2011.</p>\r
+        <p><a class="btn btn-primary btn-large" href="http://www.xonotic.org/download" title="Download Xonotic">Get the game &raquo;</a></p>\r
+      </div>\r
+</%block>\r
 \r
-##### RECENT GAMES #####\r
-<div class="table_block">\r
-<h2>Recent Games</h2>\r
-<table id="recent-games">\r
-       <thead>\r
-               <tr>\r
-                       <th>Game #</th>\r
-                       <th>Type</th>\r
-                       <th>Server</th>\r
-                       <th>Map</th>\r
-                       <th>Time</th>\r
-                       <th>Winner</th>\r
-               </tr>\r
-       </thead>\r
-       <tbody>\r
-       % for (game, server, map, pgstat) in recent_games:\r
-               % if game != '-':\r
-               <tr>\r
-                       <td><a href="${request.route_url('game_info', id=game.game_id)}" title="View detailed information about this game">${game.game_id}</a></td>\r
-                       <td class="gt_icon"><img title="${game.game_type_cd}" src="/static/images/icons/24x24/${game.game_type_cd}.png" alt="${game.game_type_cd}" /></td>\r
-                       <td><a href="${request.route_url('server_info', id=server.server_id)}" title="Go to the detail page for this server">${server.name}</a></td>\r
-                       <td><a href="${request.route_url('map_info', id=map.map_id)}" title="Go to the map detail page for this map">${map.name}</a></td>\r
-                       <td>${game.start_dt.strftime('%m/%d/%Y %H:%M')}</td>\r
-                       <td class=\r
-            % if pgstat.team == 5:\r
-            "blue"\r
-            % elif pgstat.team == 14:\r
-            "red"\r
-            % elif pgstat.team == 13:\r
-            "yellow"\r
-            % endif\r
-            >\r
+<div class="row">\r
+  <div class="span4">\r
+    ##### DUEL RANKS #####\r
+    <h3>Duel Ranks</h3>\r
+    <table class="table table-bordered table-condensed">\r
+      <thead>\r
+        <tr>\r
+          <th>#</th>\r
+          <th>Nick</th>\r
+          <th>Elo</th>\r
+        </tr>\r
+      </thead>\r
+      <tbody>\r
+      <% i = 1 %>\r
+      % for (player_id, nick, elo) in duel_ranks:\r
+        <tr>\r
+          <td>${i}</td>\r
+          % if player_id != '-':\r
+          <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>\r
+          % else:\r
+          <td>${nick|n}</td>\r
+          % endif\r
+          % if elo != '-':\r
+          <td>${round(elo, 3)}</td>\r
+          % else:\r
+          <td>${elo}</td>\r
+          % endif\r
+        </tr>\r
+        <% i = i+1 %>\r
+      % endfor\r
+      </tbody>\r
+    </table>\r
+    <p class="note"><a href="${request.route_url('rank_index', page=1, game_type_cd='duel')}" title="See more duel rankings">More...</a></p>\r
+  </div> <!-- /span4 -->\r
+\r
+  <div class="span4">\r
+    ##### CTF RANKS #####\r
+    <h3>CTF Ranks</h3>\r
+    <table class="table table-bordered table-condensed">\r
+      <thead>\r
+        <tr>\r
+          <th>#</th>\r
+          <th>Nick</th>\r
+          <th>Elo</th>\r
+        </tr>\r
+      </thead>\r
+      <tbody>\r
+      <% i = 1 %>\r
+      % for (player_id, nick, elo) in ctf_ranks:\r
+        <tr>\r
+          <td>${i}</td>\r
+          % if player_id != '-':\r
+          <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>\r
+          % else:\r
+          <td>${nick|n}</td>\r
+          % endif\r
+          % if elo != '-':\r
+          <td>${round(elo, 3)}</td>\r
+          % else:\r
+          <td>${elo}</td>\r
+          % endif\r
+        </tr>\r
+        <% i = i+1 %>\r
+      % endfor\r
+      </tbody>\r
+    </table>\r
+    <p class="note"><a href="${request.route_url('rank_index', page=1, game_type_cd='ctf')}" title="See more CTF rankings">More...</a></p>\r
+  </div> <!-- /span4 -->\r
+\r
+  <div class="span4">\r
+    ##### DM RANKS #####\r
+    <h3>DM Ranks</h3>\r
+    <table class="table table-bordered table-condensed">\r
+      <thead>\r
+        <tr>\r
+          <th>#</th>\r
+          <th>Nick</th>\r
+          <th>Elo</th>\r
+        </tr>\r
+      </thead>\r
+      <tbody>\r
+      <% i = 1 %>\r
+      % for (player_id, nick, elo) in dm_ranks:\r
+        <tr>\r
+          <td>${i}</td>\r
+          % if player_id != '-':\r
+          <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>\r
+          % else:\r
+          <td>${nick|n}</td>\r
+          % endif\r
+          % if elo != '-':\r
+          <td>${round(elo, 3)}</td>\r
+          % else:\r
+          <td>${elo}</td>\r
+          % endif\r
+        </tr>\r
+        <% i = i+1 %>\r
+      % endfor\r
+    </tbody>\r
+  </table>\r
+  <p class="note"><a href="${request.route_url('rank_index', page=1, game_type_cd='dm')}" title="See more deathmatch rankings">More...</a></p>\r
+  </div> <!-- /span4 -->\r
+</div> <!-- /row -->\r
+\r
+<div class="row">\r
+  <div class="span4">\r
+    <h3>Most Active Players</h3>\r
+    <table class="table table-bordered table-condensed">\r
+      <thead>\r
+        <tr>\r
+          <th>#</th>\r
+          <th>Nick</th>\r
+          <th class="play-time">Play Time</th>\r
+        </tr>\r
+      </thead>\r
+      <tbody>\r
+      <% i = 1 %>\r
+      % for (player_id, nick, alivetime) in top_players:\r
+        <tr>\r
+          <td>${i}</td>\r
+          % if player_id != '-':\r
+          <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>\r
+          % else:\r
+          <td>${nick|n}</td>\r
+          % endif\r
+          <td class="play-time">${alivetime}</td>\r
+        </tr>\r
+        <% i = i+1 %>\r
+      % endfor\r
+      </tbody>\r
+    </table>\r
+    <p class="note">*Most active stats are from the past 7 days</p>\r
+  </div> <!-- /span4 -->\r
+\r
+  <div class="span4">\r
+    <h3>Most Active Servers</h3>\r
+    <table class="table table-bordered table-condensed">\r
+      <thead>\r
+        <tr>\r
+          <th>#</th>\r
+          <th>Server</th>\r
+          <th>Games</th>\r
+        </tr>\r
+      </thead>\r
+      <tbody>\r
+      <% i = 1 %>\r
+      % for (server_id, name, count) in top_servers:\r
+        <tr>\r
+          <td>${i}</td>\r
+          % if server_id != '-':\r
+          <td><a href="${request.route_url('server_info', id=server_id)}" title="Go to the server info page for ${name}">${name}</a></td>\r
+          % else:\r
+          <td>${name}</td>\r
+          % endif\r
+          <td>${count}</td>\r
+        </tr>\r
+        <% i = i+1 %>\r
+      % endfor\r
+      </tbody>\r
+    </table>\r
+  </div> <!-- /span4 -->\r
+\r
+  <div class="span4">\r
+    <h3>Most Active Maps</h3>\r
+    <table class="table table-bordered table-condensed">\r
+      <thead>\r
+        <tr>\r
+          <th>#</th>\r
+          <th>Map</th>\r
+          <th>Games</th>\r
+        </tr>\r
+      </thead>\r
+      <tbody>\r
+      <% i = 1 %>\r
+      % for (map_id, name, count) in top_maps:\r
+        <tr>\r
+          <td>${i}</td>\r
+          % if map_id != '-':\r
+          <td><a href="${request.route_url('map_info', id=map_id)}" title="Go to the map info page for ${name}">${name}</a></td>\r
+          % else:\r
+          <td>${name}</td>\r
+          % endif\r
+          <td>${count}</td>\r
+        </tr>\r
+        <% i = i+1 %>\r
+      % endfor\r
+      </tbody>\r
+    </table>\r
+  </div> <!-- /span4 -->\r
+</div> <!-- /row -->\r
+\r
+<div class="row">\r
+  <div class="span12">\r
+    <h3>Recent Games</h3>\r
+    <table class="table table-bordered table-condensed">\r
+      <thead>\r
+        <tr>\r
+          <th></th>\r
+          <th>Type</th>\r
+          <th>Server</th>\r
+          <th>Map</th>\r
+          <th>Time</th>\r
+          <th>Winner</th>\r
+        </tr>\r
+      </thead>\r
+      <tbody>\r
+      % for (game, server, map, pgstat) in recent_games:\r
+        % if game != '-':\r
+        <tr>\r
+          <td><a class="btn btn-primary btn-small" href="${request.route_url('game_info', id=game.game_id)}" title="View detailed information about this game">view</a></td>\r
+          <td class="gt_icon"><img title="${game.game_type_cd}" src="/static/images/icons/24x24/${game.game_type_cd}.png" alt="${game.game_type_cd}" /></td>\r
+          <td><a href="${request.route_url('server_info', id=server.server_id)}" title="Go to the detail page for this server">${server.name}</a></td>\r
+          <td><a href="${request.route_url('map_info', id=map.map_id)}" title="Go to the map detail page for this map">${map.name}</a></td>\r
+          <td>${game.start_dt.strftime('%m/%d/%Y %H:%M')}</td>\r
+          <td>\r
             % if pgstat.player_id > 2:\r
             <a href="${request.route_url('player_info', id=pgstat.player_id)}" title="Go to the player info page for this player">${pgstat.nick_html_colors()|n}</a></td>\r
             % else:\r
             ${pgstat.nick_html_colors()|n}</td>\r
             % endif\r
-               </tr>\r
-               % else:\r
-               <tr>\r
-                       <td>-</td>\r
-                       <td>-</td>\r
-                       <td>-</td>\r
-                       <td>-</td>\r
-                       <td>-</td>\r
-                       <td>-</td>\r
-               </tr>\r
-               % endif\r
-    % endfor\r
-    </tbody>\r
-</table>\r
-</div>\r
-\r
-\r
+        </tr>\r
+        % else:\r
+        <tr>\r
+          <td>-</td>\r
+          <td>-</td>\r
+          <td>-</td>\r
+          <td>-</td>\r
+          <td>-</td>\r
+          <td>-</td>\r
+        </tr>\r
+        % endif\r
+        % endfor\r
+        </tbody>\r
+    </table>\r
+  </div> <!-- /span12 -->\r
+</div> <!-- /row -->\r
index 05a76d75a8216f4d88c87a836580afe55e07d402..c6ae6b62c835d99071614b2604ab5be04270dc4f 100755 (executable)
@@ -1,34 +1,42 @@
 <%inherit file="base.mako"/>\r
+<%namespace name="nav" file="nav.mako" />\r
 <%namespace file="navlinks.mako" import="navlinks" />\r
 \r
+<%block name="navigation">\r
+${nav.nav('maps')}\r
+</%block>\r
+\r
 <%block name="title">\r
-Map Index - ${parent.title()}\r
+Map Index\r
 </%block>\r
 \r
 % if not maps:\r
 <h2>Sorry, no maps yet. Get playing!</h2>\r
 \r
 % else:\r
-<h2>Map Index</h2>\r
-<form method="get" action="${request.route_url('search')}">\r
-    <input type="hidden" name="fs" />\r
-    <input type="text" name="map_name" />\r
-    <input type="submit" value="search" />\r
-</form>\r
-<table id="map-index-table" border="1">\r
-  <tr>\r
-    <th>Name</th>\r
-    <th>Added</th>\r
-  </tr>\r
-% for map in maps:\r
-  <tr>\r
-    <td><a href="${request.route_url("map_info", id=map.map_id)}" title="Go to this map's info page">${map.name}</a></th>\r
-    <td>${map.create_dt.strftime('%m/%d/%Y at %H:%M')}</td>\r
-</td>\r
-  </tr>\r
-% endfor\r
-</table>\r
-% endif\r
+<div class="row">\r
+  <div class="span6">\r
+    <form method="get" action="${request.route_url('search')}">\r
+      <input type="hidden" name="fs" />\r
+      <input type="text" name="map_name" />\r
+      <input type="submit" value="search" />\r
+    </form>\r
+    <table class="table table-bordered table-condensed">\r
+      <tr>\r
+        <th>Name</th>\r
+        <th>Added</th>\r
+      </tr>\r
+    % for map in maps:\r
+      <tr>\r
+        <td><a href="${request.route_url("map_info", id=map.map_id)}" title="Go to this map's info page">${map.name}</a></th>\r
+        <td>${map.create_dt.strftime('%m/%d/%Y at %H:%M')}</td>\r
+    </td>\r
+      </tr>\r
+    % endfor\r
+    </table>\r
+    % endif\r
 \r
-<!-- navigation links -->\r
-${navlinks("map_index_paged", maps.page, maps.last_page)}\r
+    <!-- navigation links -->\r
+    ${navlinks("map_index_paged", maps.page, maps.last_page)}\r
+  </div> <!-- /span4 -->\r
+</div> <!-- /row -->\r
index c454e0ce186057f56d7d19914f2718e89562c8c5..7e975c152221b0b9baa0094b1fec5296dc634560 100755 (executable)
@@ -1,8 +1,14 @@
 <%inherit file="base.mako"/>
+<%namespace name="nav" file="nav.mako" />
+<%namespace file="navlinks.mako" import="navlinks" />
+
+<%block name="navigation">
+${nav.nav('maps')}
+</%block>
 
 <%block name="title">
 % if gmap:
-Map Information for ${gmap.name} - 
+Map Information
 % endif
 
 ${parent.title()}
@@ -13,137 +19,135 @@ ${parent.title()}
 <h2>Sorry, that map wasn't found!</h2>
 
 % else:
-<h2>Map Detail - ${gmap.name}</h2>
-
-##### RECENT GAMES #####
-<h2>Recent Games</h2>
-<table id="recent-games">
-    <thead>
-        <tr>
-            <th>Game #</th>
-            <th>Type</th>
-            <th>Time</th>
-            <th>Winner</th>
-        </tr>
-    </thead>
-    <tbody>
-    % for (game, srv, map, pgstat) in recent_games:
-        % if game != '-':
+<h2>${gmap.name}</h2>
+<p>
+  Added on ${gmap.create_dt.strftime('%m/%d/%Y at %H:%M')}
+</p>
+<div class="row">
+  <div class="span4">
+    <h3>Top Scoring Players</h3>
+    <table class="table table-bordered table-condensed">
+      <thead>
         <tr>
-            <td><a href="${request.route_url('game_info', id=game.game_id)}" title="View detailed information about this game">${game.game_id}</a></td>
-            <td class="gt_icon"><img title="${game.game_type_cd}" src="/static/images/icons/24x24/${game.game_type_cd}.png" alt="${game.game_type_cd}" /></td>
-            <td>${game.start_dt.strftime('%m/%d/%Y %H:%M')}</td>
-            <td class=
-            % if pgstat.team == 5:
-            "blue"
-            % elif pgstat.team == 14:
-            "red"
-            % elif pgstat.team == 13:
-            "yellow"
-            % endif
-            >
-            % if pgstat.player_id > 2:
-            <a href="${request.route_url('player_info', id=pgstat.player_id)}" title="Go to the player info page for this player">${pgstat.nick_html_colors()|n}</a></td>
-            % else:
-            ${pgstat.nick_html_colors()|n}</td>
-            % endif
+          <th>#</th>
+          <th>Nick</th>
+          <th>Score</th>
         </tr>
-        % else:
+      </thead>
+      <tbody>
+        <% i = 1 %>
+        % for (score_player_id, score_nick, score_value) in top_scorers:
         <tr>
-            <td>-</td>
-            <td>-</td>
-            <td>-</td>
-            <td>-</td>
+          <td>${i}</td>
+          % if score_player_id != '-':
+          <td><a href="${request.route_url('player_info', id=score_player_id)}" title="Go to the player info page for this player">${score_nick|n}</a></td>
+          % else:
+          <td>${score_nick}</td>
+          % endif
+          <td>${score_value}</td>
         </tr>
-        % endif
-    % endfor
-    </tbody>
-</table>
+        <% i = i+1 %>
+        % endfor
+        </tbody>
+    </table>
+  </div>
 
 
-##### TOP SCORERS #####
-<div class="table_block">
-<h2>Top Scoring Players</h2>
-<table>
+<div class="span4">
+  <h3>Most Active Players</h3>
+  <table class="table table-bordered table-condensed">
     <thead>
-        <tr>
-            <th>#</th>
-            <th>Nick</th>
-            <th>Score</th>
-        </tr>
+      <tr>
+        <th>#</th>
+        <th>Nick</th>
+        <th>Playing Time</th>
+      </tr>
     </thead>
     <tbody>
     <% i = 1 %>
-    % for (score_player_id, score_nick, score_value) in top_scorers:
-        <tr>
-            <td>${i}</td>
-            % if score_player_id != '-':
-            <td><a href="${request.route_url('player_info', id=score_player_id)}" title="Go to the player info page for this player">${score_nick|n}</a></td>
-            % else:
-            <td>${score_nick}</td>
-            % endif
-            <td>${score_value}</td>
-        </tr>
-        <% i = i+1 %>
+    % for (player_id, nick, alivetime) in top_players:
+      <tr>
+        <td>${i}</td>
+        % if player_id != '-':
+        <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>
+        % else:
+        <td>${nick}</td>
+        % endif
+        <td>${alivetime}</td>
+      </tr>
+      <% i = i+1 %>
     % endfor
     </tbody>
-</table>
+  </table>
 </div>
 
 
-##### TOP PLAYERS #####
-<div class="table_block">
-<h2>Most Active Players</h2>
-<table id="top-players">
+<div class="span4">
+  <h3>Most Active Servers</h3>
+  <table class="table table-bordered table-condensed">
     <thead>
-        <tr>
-            <th>#</th>
-            <th>Nick</th>
-            <th>Playing Time</th>
-        </tr>
+      <tr>
+        <th>#</th>
+        <th>Name</th>
+        <th>Times Played</th>
+      </tr>
     </thead>
     <tbody>
     <% i = 1 %>
-    % for (player_id, nick, alivetime) in top_players:
-        <tr>
-            <td>${i}</td>
-            % if player_id != '-':
-            <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>
-            % else:
-            <td>${nick}</td>
-            % endif
-            <td>${alivetime}</td>
-        </tr>
-        <% i = i+1 %>
+    % for (server_id, name, times_played) in top_servers:
+      <tr>
+        <td>${i}</td>
+        <td><a href="${request.route_url('server_info', id=server_id)}" title="Go to the server info page for this server">${name}</a></td>
+        <td>${times_played}</td>
+      </tr>
+      <% i = i+1 %>
     % endfor
     </tbody>
 </table>
 </div>
+</div> <!-- /row -->
 
 
-##### TOP SERVERS #####
-<div class="table_block">
-<h2>Most Active Servers</h2>
-<table id="top-servers">
-    <thead>
+<div class="row">
+  <div class="span12">
+    <h3>Recent Games</h3>
+    <table class="table table-bordered table-condensed">
+      <thead>
         <tr>
-            <th>#</th>
-            <th>Name</th>
-            <th>Times Played</th>
+          <th></th>
+          <th>Type</th>
+          <th>Time</th>
+          <th>Winner</th>
         </tr>
-    </thead>
-    <tbody>
-    <% i = 1 %>
-    % for (server_id, name, times_played) in top_servers:
+      </thead>
+      <tbody>
+        % for (game, srv, map, pgstat) in recent_games:
+        % if game != '-':
         <tr>
-            <td>${i}</td>
-            <td><a href="${request.route_url('server_info', id=server_id)}" title="Go to the server info page for this server">${name}</a></td>
-            <td>${times_played}</td>
+          <td><a class="btn btn-primary btn-small" href="${request.route_url('game_info', id=game.game_id)}" title="View detailed information about this game">View</a></td>
+          <td class="gt_icon"><img title="${game.game_type_cd}" src="/static/images/icons/24x24/${game.game_type_cd}.png" alt="${game.game_type_cd}" /></td>
+          <td>${game.start_dt.strftime('%m/%d/%Y %H:%M')}</td>
+          <td>
+            % if pgstat.player_id > 2:
+            <a href="${request.route_url('player_info', id=pgstat.player_id)}" title="Go to the player info page for this player">${pgstat.nick_html_colors()|n}</a>
+          </td>
+            % else:
+            ${pgstat.nick_html_colors()|n}
+          </td>
+            % endif
         </tr>
-        <% i = i+1 %>
+        % else:
+        <tr>
+          <td>-</td>
+          <td>-</td>
+          <td>-</td>
+          <td>-</td>
+        </tr>
+        % endif
     % endfor
-    </tbody>
-</table>
+        </tbody>
+    </table>
+  </div>
 </div>
 
 
diff --git a/xonstat/templates/nav.mako b/xonstat/templates/nav.mako
new file mode 100755 (executable)
index 0000000..288fd2e
--- /dev/null
@@ -0,0 +1,53 @@
+<%def name="nav(active)">
+    <div class="navbar navbar-fixed-top">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+            <span class="i-bar"></span>
+            <span class="i-bar"></span>
+            <span class="i-bar"></span>
+          </a>
+          <a class="brand" href="${request.route_url('main_index')}"><img src="/static/css/img/Xonotic_icon.png" /></a>
+          <div class="nav-collapse">
+            <ul class="nav">
+              <li 
+                % if active=="leaderboard":
+                class="active"
+                % endif
+                ><a href="${request.route_url('main_index')}" title="Leaderboard">Leaderboard</a></li>
+              <li 
+                % if active=="players":
+                class="active"
+                % endif
+                ><a href="${request.route_url('player_index')}" title="Player Index">Players</a></li>
+              <li 
+                % if active=="games":
+                class="active"
+                % endif
+                ><a href="${request.route_url('game_index')}" title="Game Index">Games</a></li>
+              <li 
+                % if active=="servers":
+                class="active"
+                % endif
+                ><a href="${request.route_url('server_index')}" title="Server Index">Servers</a></li>
+              <li 
+                % if active=="maps":
+                class="active"
+                % endif
+                ><a href="${request.route_url('map_index')}" title="Map Index">Maps</a></li>
+            </ul>
+            <form id="navsearch" action="${request.route_url('search')}" method="get">
+              <input type="hidden" name="fs" />
+              <input type="search" class="input-small" placeholder="search" name="sval"/>
+              <select name="stype">
+                <option>players</option>
+                <option>servers</option>
+                <option>maps</option>
+              </select>
+            [<a href="${request.route_url('search')}"" title="Advanced search">+</a>]
+            </form>
+          </div><!--/.nav-collapse -->
+        </div>
+      </div>
+    </div>
+</%def>
index 95fa688cdd37b6d52fa0537c32d863a0c2b09ef5..c19c5277c3838ca4a51c386e4664bcc092ddc382 100755 (executable)
@@ -1,43 +1,41 @@
 <%def name="navlinks(view, curr, last, **kwargs)">
-% if curr != last:
-    % if curr != 1:
-            <a class="pagination" href="${request.route_url(view, page=curr-1, **kwargs)}" name="Previous Page">previous</a>
-    % endif
+% if curr != 1:
+        <a class="pagination" href="${request.route_url(view, page=curr-1, **kwargs)}" name="Previous Page">previous</a>
+% endif
 
-    % if last < 8:
-        % for i in range(1, last+1):
+% if last < 8:
+    % for i in range(1, last+1):
+    ${link_page(view, i, curr, **kwargs)}
+    % endfor
+% else:
+    % if curr < 5:
+        % for i in range(1,7):
         ${link_page(view, i, curr, **kwargs)}
         % endfor
-    % else:
-        % if curr < 5:
-            % for i in range(1,7):
-            ${link_page(view, i, curr, **kwargs)}
-            % endfor
-            <span class="pagination">...</span>
-            <a class="pagination" href="${request.route_url(view, page=last, **kwargs)}" name="Last Page">${last}</a>
+        <span class="pagination">...</span>
+        <a class="pagination" href="${request.route_url(view, page=last, **kwargs)}" name="Last Page">${last}</a>
 
-        % elif last-curr < 6:
-            <a class="pagination" href="${request.route_url(view, page=1, **kwargs)}" name="First Page">1</a>
-            <span class="pagination">...</span>
-            % for i in range(last-5, last+1):
-            ${link_page(view, i, curr, **kwargs)}
-            % endfor
-        % else:
-            <a class="pagination" href="${request.route_url(view, page=1, **kwargs)}" name="First Page">1</a>
+    % elif last-curr < 6:
+        <a class="pagination" href="${request.route_url(view, page=1, **kwargs)}" name="First Page">1</a>
+        <span class="pagination">...</span>
+        % for i in range(last-5, last+1):
+        ${link_page(view, i, curr, **kwargs)}
+        % endfor
+    % else:
+        <a class="pagination" href="${request.route_url(view, page=1, **kwargs)}" name="First Page">1</a>
 
-            <span class="pagination">...</span>
-            % for i in range(curr-2, curr+3):
-            ${link_page(view, i, curr, **kwargs)}
-            % endfor
-            <span class="pagination">...</span>
-            <a class="pagination" href="${request.route_url(view, page=last, **kwargs)}" name="Last Page">${last}</a>
+        <span class="pagination">...</span>
+        % for i in range(curr-2, curr+3):
+        ${link_page(view, i, curr, **kwargs)}
+        % endfor
+        <span class="pagination">...</span>
+        <a class="pagination" href="${request.route_url(view, page=last, **kwargs)}" name="Last Page">${last}</a>
 
-        % endif
     % endif
+% endif
 
-    % if curr != last:
-        <a class="pagination" href="${request.route_url(view, page=curr+1, **kwargs)}" name="Next Page">next</a>
-    % endif
+% if curr != last:
+    <a class="pagination" href="${request.route_url(view, page=curr+1, **kwargs)}" name="Next Page">next</a>
 % endif
 </%def>
 
index 60cbd3d2dcb783ad94f529fef494810b8a6a1fbd..d667f1b33e38c8f5c9fae079f0d9a688c8a5ba6f 100755 (executable)
@@ -1,23 +1,32 @@
 <%inherit file="base.mako"/>
+<%namespace name="nav" file="nav.mako" />
+<%namespace file="scoreboard.mako" import="scoreboard" />
+<%namespace file="navlinks.mako" import="navlinks" />
+
+<%block name="navigation">
+${nav.nav('games')}
+</%block>
 
 <%block name="title">
-Player Game Index for ${player.nick_html_colors()|n} - ${parent.title()}
+Game Index
 </%block>
 
 % if not games:
-<h2>Sorry, no games yet. Get playing, scrub!</h2>
+<h2>Sorry, no games yet. Get playing!</h2>
 
 % else:
-<h2>Recent Games by ${player.nick_html_colors()|n}</h2>
-% for (playergamestat, game, server, map) in games:
-   <li><a href="${request.route_url("game_info", id=game.game_id)}" name="Game info page for game #${game.game_id}">#${game.game_id}:</a> <a href="${request.route_url("map_info", id=map.map_id)}" name="Map info page for ${map.name}">${map.name}</a></li>
-% endfor
-<br />
-% endif
+<div class="row">
+  <div class="span12">
+    <h2>Recent Games</h2>
+    % for (game, server, map) in games:
+    <div class="game">
+      <h4><img src="/static/images/icons/48x48/${game.game_type_cd}.png" width="30" height="30" /><a href="${request.route_url("map_info", id=map.map_id)}" name="Map info page for ${map.name}">${map.name}</a> on <a href="${request.route_url("server_info", id=server.server_id)}" name="Server info page for ${server.name}">${server.name}</a> <span class="permalink">(<a href="${request.route_url('game_info', id=game.game_id)}" name="Permalink for game #${game.game_id}">permalink</a>)</span></h4>
+      ${scoreboard(game.game_type_cd, pgstats[game.game_id])}
+    </div>
+    % endfor
+  </div>
+</div>
 
-% if games.previous_page:
-<a href="${request.route_url("player_game_index", player_id=player.player_id, page=games.previous_page)}" name="Previous Page">Previous</a>
-% endif
-% if games.next_page:
-<a href="${request.route_url("player_game_index", player_id=player.player_id, page=games.next_page)}" name="Next Page">Next</a>
+<!-- navigation links -->
+${navlinks("player_game_index_paged", games.page, games.last_page, player_id=player_id)}
 % endif
index 1aa38b5ec6399086afd0e318a7e11a6ebe344a77..44e5fbbc875b997cf9d00336fd12c0b0ec785ee2 100755 (executable)
@@ -1,33 +1,40 @@
 <%inherit file="base.mako"/>\r
+<%namespace name="nav" file="nav.mako" />\r
 <%namespace file="navlinks.mako" import="navlinks" />\r
 \r
+<%block name="navigation">\r
+${nav.nav('players')}\r
+</%block>\r
+\r
 <%block name="title">\r
-Player Index - ${parent.title()}\r
+Player Index\r
 </%block>\r
 \r
 % if not players:\r
 <h2>Sorry, no players yet. Get playing!</h2>\r
 \r
 % else:\r
-<h2>Player Index</h2>\r
-<form method="get" action="${request.route_url('search')}">\r
-    <input type="hidden" name="fs" />\r
-    <input type="text" name="nick" />\r
-    <input type="submit" value="search" />\r
-</form>\r
-<table id="player-index-table" border="1">\r
-  <tr>\r
-    <th>Nick</th>\r
-    <th class="create-dt">Joined</th>\r
-  </tr>\r
-% for player in players:\r
-  <tr>\r
-    <td><a href="${request.route_url("player_info", id=player.player_id)}" title="Go to this player's info page">${player.nick_html_colors()|n}</a></th>\r
-    <td>${player.joined_pretty_date()}</th>\r
-  </tr>\r
-% endfor\r
-</table>\r
+<div class="row">\r
+  <div class="span6">\r
+    <form method="get" action="${request.route_url('search')}">\r
+      <input type="hidden" name="fs" />\r
+      <input type="text" name="nick" />\r
+      <input type="submit" value="search" />\r
+    </form>\r
+    <table class="table table-bordered table-condensed">\r
+      <tr>\r
+        <th>Nick</th>\r
+        <th class="create-dt">Joined</th>\r
+      </tr>\r
+    % for player in players:\r
+      <tr>\r
+        <td><a href="${request.route_url("player_info", id=player.player_id)}" title="Go to this player's info page">${player.nick_html_colors()|n}</a></th>\r
+        <td>${player.joined_pretty_date()}</th>\r
+      </tr>\r
+    % endfor\r
+    </table>\r
 % endif\r
 \r
-<!-- navigation links -->\r
-${navlinks("player_index_paged", players.page, players.last_page)}\r
+    ${navlinks("player_index_paged", players.page, players.last_page)}\r
+  </div> <!-- /span4 -->\r
+</div> <!-- /row -->\r
index fe583df2f2983c9e7ccad1be0a75f3281fda47e5..befb2d3d5366266d69e36faeb94bf7a0088608aa 100755 (executable)
@@ -1,22 +1,13 @@
 <%inherit file="base.mako"/>
+<%namespace name="nav" file="nav.mako" />
 <%namespace file="accuracy.mako" import="accuracy" />
 
-<%block name="css">
-${parent.css()}
-<link rel="stylesheet" href="/static/css/colorbox.css" type="text/css" media="screen" />
-</%block>
-
-<%block name="js">
-${parent.js()}
-<script src="/static/js/jquery.colorbox-min.js"></script>
+<%block name="navigation">
+${nav.nav('players')}
 </%block>
 
 <%block name="title">
-% if player:
-Player Information for ${player.nick_strip_colors()} -
-% endif
-
-${parent.title()}
+Player Information
 </%block>
 
 
@@ -25,101 +16,124 @@ ${parent.title()}
 <p>Seriously though, he probably doesn't exist...just a figment of your imagination. Carry on then!</p>
 
 % else:
-<h2>${player.nick_html_colors()|n}</h2>
-<p>
-   Member Since: ${player.create_dt.strftime('%m/%d/%Y at %I:%M %p')} <br />
-   Last Seen: ${recent_games[0][1].fuzzy_date()} <br />
-   Playing Time: ${game_stats['total_alivetime']} <br />
-   Games Played: ${game_stats['total_games_played']} <br />
-   Average Rank: ${game_stats['avg_rank']} <br />
-</p>
+<div class="row">
+  <div class="span8">
+    <h2>${player.nick_html_colors()|n}</h2>
+    <p>
+       Member Since: <small>${player.create_dt.strftime('%m/%d/%Y at %I:%M %p')} </small><br />
+       Last Seen: <small>${recent_games[0][1].fuzzy_date()} </small><br />
+       Playing Time: <small>${game_stats['total_alivetime']} </small><br />
+       Games Played: <small>${game_stats['total_games_played']} </small><br />
+       Average Rank: <small>${game_stats['avg_rank']} </small><br />
+       % if elos_display is not None and len(elos_display) > 0:
+       Elo:
+          <small>${', '.join(elos_display)} </small>
+          <br />
+          %if '*' in ', '.join(elos_display):
+              <small><i>*preliminary Elo</i></small>
+          %endif
+      % endif
+    </p>
+  </div>
+</div>
 % endif
 
 
-##### STATS #####
 % if game_stats:
-<h2>Overall Game Stats</h2>
-<table id="player-game-stats">
-       <thead>
-               <tr>
-                       <th>Score</th>
-                       <th>Carrier Kills</th>
-                       <th>Kills</th>
-                       <th>Collects</th>
-                       <th>Deaths</th>
-                       <th>Destroys</th>
-                       <th>Suicides</th>
-                       <th>Destroys (with key)</th>
-                       <th>Captures</th>
-                       <th>Pushes</th>
-                       <th>Pickups</th>
-                       <th>Pushed</th>
-                       <th>Drops</th>
-                       <th>Returns</th>
-               </tr>
-       </thead>
-       <tbody>
-               <tr>
-                       <td>${game_stats['total_score']}</td>
-                       <td>${game_stats['total_carrier_frags']}</td>
-                       <td>${game_stats['total_kills']}</td>
-                       <td>${game_stats['total_collects']}</td>
-                       <td>${game_stats['total_deaths']}</td>
-                       <td>${game_stats['total_destroys']}</td>
-                       <td>${game_stats['total_suicides']}</td>
-                       <td>${game_stats['total_destroys']}</td>
-                       <td>${game_stats['total_captures']}</td>
-                       <td>${game_stats['total_pushes']}</td>
-                       <td>${game_stats['total_pickups']}</td>
-                       <td>${game_stats['total_pushed']}</td>
-                       <td>${game_stats['total_drops']}</td>
-                       <td>${game_stats['total_returns']}</td>
-               </tr>
-       </tbody>
-</table>
-% endif
+<div class="row">
+  <div class="span12">
+    <h3>Overall Game Stats</h2>
+    <table class="table table-bordered table-condensed">
+      <thead>
+        <tr>
+          <th>Score</th>
+          <th>Carrier Kills</th>
+          <th>Kills</th>
+          <th>Collects</th>
+          <th>Deaths</th>
+          <th>Destroys</th>
+          <th>Suicides</th>
+          <th>Destroys (with key)</th>
+          <th>Captures</th>
+          <th>Pushes</th>
+          <th>Pickups</th>
+          <th>Pushed</th>
+          <th>Drops</th>
+          <th>Returns</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td>${game_stats['total_score']}</td>
+          <td>${game_stats['total_carrier_frags']}</td>
+          <td>${game_stats['total_kills']}</td>
+          <td>${game_stats['total_collects']}</td>
+          <td>${game_stats['total_deaths']}</td>
+          <td>${game_stats['total_destroys']}</td>
+          <td>${game_stats['total_suicides']}</td>
+          <td>${game_stats['total_destroys']}</td>
+          <td>${game_stats['total_captures']}</td>
+          <td>${game_stats['total_pushes']}</td>
+          <td>${game_stats['total_pickups']}</td>
+          <td>${game_stats['total_pushed']}</td>
+          <td>${game_stats['total_drops']}</td>
+          <td>${game_stats['total_returns']}</td>
+        </tr>
+      </tbody>
+    </table>
+    % endif
+  </div>
+</div>
+
 
-##### ACCURACY #####
 % if weapon_stats:
-<h2>Overall Accuracy</h2>
-${accuracy(weapon_stats)}
+<div class="row">
+  <div class="span12">
+    <h3>Overall Accuracy</h3>
+    ${accuracy(weapon_stats)}
+  </div>
+</div>
 % endif
 
 
 ##### RECENT GAMES (v2) ####
 % if recent_games:
-<h2>Recent Games</h2>
-<table>
-       <thead>
-               <tr>
-                  <th>Game Type</th>
-                  <th>Map</th>
-                  <th>Result</th>
-                  <th>Played</th>
-                  <th>Permalink</th>
-               </tr>
-       </thead>
-       <tbody>
-       % for (gamestat, game, server, map) in recent_games:
-               <tr>
-                  <td><img title="${game.game_type_cd}" src="/static/images/icons/24x24/${game.game_type_cd}.png" alt="${game.game_type_cd}" /></td>
-                  <td>${map.name}</td>
-                  <td>
-                  % if gamestat.team != None and gamestat.team == game.winner:
-                  Won (#${gamestat.rank})
-                  % elif gamestat.team != None and gamestat.team != game.winner:
-                  Lost (#${gamestat.rank})
-           % else:
-           #${gamestat.rank}
-                  % endif
-                  </td>
-                  <td>${game.fuzzy_date()}</td>
-                  <td><a class="recent_game_box" href="${request.route_url("game_info", id=game.game_id)}" name="Game info page for game #${game.game_id}">View</a></td>
-               </tr>
-       % endfor
-       </tbody>
-</table>
-% if game_stats['total_games_played'] > 10:
-<a href="${request.route_url("player_game_index", player_id=player.player_id, page=1)}" title="Game index for ${player.nick}">More games</a> played by ${player.nick_html_colors()|n}...
-% endif
+<div class="row">
+  <div class="span6">
+    <h3>Recent Games</h3>
+    <table class="table table-bordered table-condensed">
+      <thead>
+        <tr>
+           <th>Game Type</th>
+           <th>Map</th>
+           <th>Result</th>
+           <th>Played</th>
+           <th>Permalink</th>
+        </tr>
+      </thead>
+      <tbody>
+      % for (gamestat, game, server, map) in recent_games:
+        <tr>
+           <td><img title="${game.game_type_cd}" src="/static/images/icons/24x24/${game.game_type_cd}.png" alt="${game.game_type_cd}" /></td>
+           <td>${map.name}</td>
+           <td>
+           % if gamestat.team != None and gamestat.team == game.winner:
+           Won (#${gamestat.rank})
+           % elif gamestat.team != None and gamestat.team != game.winner:
+           Lost (#${gamestat.rank})
+               % else:
+               #${gamestat.rank}
+           % endif
+           </td>
+           <td>${game.fuzzy_date()}</td>
+           <td><a class="recent_game_box" href="${request.route_url("game_info", id=game.game_id)}" name="Game info page for game #${game.game_id}">View</a></td>
+        </tr>
+      % endfor
+      </tbody>
+    </table>
+    % if game_stats['total_games_played'] > 10:
+    <a href="${request.route_url("player_game_index", player_id=player.player_id, page=1)}" title="Game index for ${player.nick}">More games played by ${player.nick_html_colors()|n}...</a>
+    % endif
+  </div>
+</div>
 % endif
index e697691d3652df878f20b0c4507203ecc7b219eb..288e271eb2fb3a02610f191e7563cc11089776d4 100755 (executable)
@@ -1,32 +1,24 @@
 <%def name="scoreboard(game_type_cd, pgstats)">
-<table class="scoreboard">
+<table  class="table table-bordered table-condensed">
 ${scoreboard_header(game_type_cd, pgstats[0])}
-       <tbody>
-       % for pgstat in pgstats:
-               <tr class="${pgstat.team_html_color()}">
-                       <td>
-                       % if pgstat.player_id > 2:
-                         <a href="${request.route_url("player_info", id=pgstat.player_id)}"
-                          title="Go to the info page for this player">
-                         <span class="nick">${pgstat.nick_html_colors()|n}</span>
-                         </a>
-                       % else:
-                         <span class="nick">${pgstat.nick_html_colors()|n}</span>
-                       % endif
-                       </td>
-               ${scoreboard_row(game_type_cd, pgstat)}
-                       <td>${pgstat.score}</td>
-                       <td>
-                       % if pgstat.player_id > 1:
-                         <a href="${request.route_url("game_info", id=pgstat.game_id)}#accuracy-${pgstat.player_game_stat_id}"
-                          title="View weapon accuracy details for this player in this game">
-                         View
-                         </a>
-                       % endif
-                       </td>
-               </tr>
-       % endfor
-       </tbody>
+  <tbody>
+  % for pgstat in pgstats:
+    <tr class="${pgstat.team_html_color()}">
+      <td>
+      % if pgstat.player_id > 2:
+        <a href="${request.route_url("player_info", id=pgstat.player_id)}"
+         title="Go to the info page for this player">
+        <span class="nick">${pgstat.nick_html_colors()|n}</span>
+        </a>
+      % else:
+        <span class="nick">${pgstat.nick_html_colors()|n}</span>
+      % endif
+      </td>
+    ${scoreboard_row(game_type_cd, pgstat)}
+      <td>${pgstat.score}</td>
+    </tr>
+  % endfor
+  </tbody>
 </table>
 </%def>
 
@@ -34,53 +26,49 @@ ${scoreboard_header(game_type_cd, pgstats[0])}
 <%def name="scoreboard_header(game_type_cd, pgstat)">
 % if game_type_cd == 'dm' or game_type_cd == 'tdm' or game_type_cd == 'duel':
     <thead>
-               <tr>
-                       <th class="nick">Nick</th>
-                       <th class="kills">Kills</th>
-                       <th class="deaths">Deaths</th>
-                       <th class="suicides">Suicides</th>
-                       <th class="score">Score</th>
-                       <th class="accuracy">Accuracy</th>
-               </tr>
+    <tr>
+      <th class="nick">Nick</th>
+      <th class="kills">Kills</th>
+      <th class="deaths">Deaths</th>
+      <th class="suicides">Suicides</th>
+      <th class="score">Score</th>
+    </tr>
     </thead>
 % endif
 
 % if game_type_cd == 'ctf':
     <thead class="ctf ${pgstat.team_html_color()}">
-               <tr>
-                       <th class="nick">Nick</th>
-                       <th class="kills">Kills</th>
-                       <th class="captures">Captures</th>
-                       <th class="pickups">Pickups</th>
-                       <th class="fck" title="Flag Carrier Kill">FCK</th>
-                       <th class="returns">Returns</th>
-                       <th class="score">Score</th>
-                       <th class="accuracy">Accuracy</th>
-               </tr>
+    <tr>
+      <th class="nick">Nick</th>
+      <th class="kills">Kills</th>
+      <th class="captures">Captures</th>
+      <th class="pickups">Pickups</th>
+      <th class="fck" title="Flag Carrier Kill">FCK</th>
+      <th class="returns">Returns</th>
+      <th class="score">Score</th>
+    </tr>
     </thead>
 % endif
 
 % if game_type_cd == 'ca':
     <thead class="ca ${pgstat.team_html_color()}">
-               <tr>
-                       <th class="nick">Nick</th>
-                       <th class="kills">Kills</th>
-                       <th class="score">Score</th>
-                       <th class="accuracy">Accuracy</th>
-               </tr>
+    <tr>
+      <th class="nick">Nick</th>
+      <th class="kills">Kills</th>
+      <th class="score">Score</th>
+    </tr>
     </thead>
 % endif
 
 % if game_type_cd == 'freezetag':
     <thead class="freezetag ${pgstat.team_html_color()}">
-               <tr>
-                       <th class="nick">Nick</th>
-                       <th class="kills">Kills</th>
-                       <th class="deaths">Deaths</th>
-                       <th class="suicides">Suicides</th>
-                       <th class="score">Score</th>
-                       <th class="accuracy">Accuracy</th>
-               </tr>
+    <tr>
+      <th class="nick">Nick</th>
+      <th class="kills">Kills</th>
+      <th class="deaths">Deaths</th>
+      <th class="suicides">Suicides</th>
+      <th class="score">Score</th>
+    </tr>
     </thead>
 % endif
 </%def>
index f80050fc135f932ec0548f0f72f4c89d95a792ec..3c4f79409b1d9347308cd3c306705e2dfffe3c5e 100755 (executable)
@@ -2,33 +2,34 @@
 <%namespace file="navlinks.mako" import="navlinks" />
 
 % if results == None:
+<h2>Advanced Search</h2>
 <form action="${request.route_url("search")}" method="get">
     <input type="hidden" name="fs" />
-    <table id="search_form" border="0">
+    <table style="border: none;" id="search_form" border="0">
         <tr>
-            <td style="text-align:right;">Nick:</td>
-            <td><input type="text" name="nick" /></td>
+            <td style="text-align:right; border: none;">Nick:</td>
+            <td style="border: none;"><input type="text" name="nick" /></td>
         </tr>
-        <tr>
-            <td style="text-align:right;">Server:</td>
-            <td><input type="text" name="server_name" /></td>
+        <tr style="border: none;">
+            <td style="text-align:right; border: none;">Server:</td>
+            <td style="border: none;"><input type="text" name="server_name" /></td>
         </tr>
-        <tr>
-            <td style="text-align:right;">Map:</td>
-            <td><input type="text" name="map_name" /></td>
+        <tr style="border: none;">
+            <td style="text-align:right; border: none;">Map:</td>
+            <td style="border: none;"><input type="text" name="map_name" /></td>
         </tr>
-        <tr>
-            <td style="text-align:right;">Game Type:</td>
-            <td>
+        <tr style="border: none;">
+            <td style="text-align:right; border: none;">Game Type:</td>
+            <td style="border: none;">
                 <input type="checkbox" name="dm" />Deathmatch<br/>
                 <input type="checkbox" name="duel" />Duel<br/>
                 <input type="checkbox" name="ctf" />Capture The Flag<br/>
                 <input type="checkbox" name="tdm" />Team Deathmatch<br/>
             </td>
         </tr>
-        <tr>
-            <td style="text-align:right;"></td>
-            <td><input type="submit" value="search" /></td>
+        <tr style="border: none;">
+            <td style="text-align:right; border: none;"></td>
+            <td style="border: none;"><input type="submit" value="search" /></td>
         </tr>
     </table>
     </form>
 % if result_type == "game":
 <table>
     <tr>
-        <th>Game ID</th>
+        <th></th>
         <th>Map</th>
         <th>Server</th>
         <th>Played On</th>
     </tr>
     % for (game, server, gmap) in results:
     <tr>
-        <td><a href="${request.route_url("game_info", id=game.game_id)}" name="Game info page for game #${game.game_id}">${game.game_id}</a></td>
+        <td><a class="btn btn-primary btn-small" href="${request.route_url("game_info", id=game.game_id)}" name="Game info page for game #${game.game_id}">View</a></td>
         <td><a href="${request.route_url("map_info", id=gmap.map_id)}" name="Map info page for map #${gmap.map_id}">${gmap.name}</a></td>
         <td><a href="${request.route_url("server_info", id=server.server_id)}" name="Server info page for server #${server.server_id}">${server.name}</a></td>
         <td>${game.create_dt.strftime('%m/%d/%Y at %I:%M %p')}</td>
index c9929625619fb74ce5025357d348f9dad5edd1f2..9ec0b3895d54471f6138611e476175a1796ce926 100755 (executable)
@@ -1,33 +1,40 @@
 <%inherit file="base.mako"/>\r
+<%namespace name="nav" file="nav.mako" />\r
 <%namespace file="navlinks.mako" import="navlinks" />\r
 \r
+<%block name="navigation">\r
+${nav.nav('servers')}\r
+</%block>\r
+\r
 <%block name="title">\r
-Map Index - ${parent.title()}\r
+Server Index\r
 </%block>\r
 \r
 % if not servers:\r
 <h2>Sorry, no servers yet. Get playing!</h2>\r
 \r
 % else:\r
-<h2>Server Index</h2>\r
-<form method="get" action="${request.route_url('search')}">\r
-    <input type="hidden" name="fs" />\r
-    <input type="text" name="server_name" />\r
-    <input type="submit" value="search" />\r
-</form>\r
-<table id="server-index-table" border="1">\r
-  <tr>\r
-    <th>Name</th>\r
-    <th class="create-dt">Added</th>\r
-  </tr>\r
-% for server in servers:\r
-  <tr>\r
-    <td><a href="${request.route_url("server_info", id=server.server_id)}" title="Go to this server's info page">${server.name}</a></th>\r
-    <td>${server.create_dt.strftime('%m/%d/%Y at %H:%M')}</td>\r
-  </tr>\r
-% endfor\r
-</table>\r
-% endif\r
+<div class="row">\r
+  <div class="span6">\r
+    <form method="get" action="${request.route_url('search')}">\r
+      <input type="hidden" name="fs" />\r
+      <input type="text" name="server_name" />\r
+      <input type="submit" value="search" />\r
+    </form>\r
+    <table class="table table-bordered table-condensed">\r
+      <tr>\r
+        <th>Name</th>\r
+        <th class="create-dt">Added</th>\r
+      </tr>\r
+    % for server in servers:\r
+      <tr>\r
+        <td><a href="${request.route_url("server_info", id=server.server_id)}" title="Go to this server's info page">${server.name}</a></th>\r
+        <td>${server.create_dt.strftime('%m/%d/%Y at %H:%M')}</td>\r
+      </tr>\r
+    % endfor\r
+    </table>\r
+    % endif\r
 \r
-<!-- navigation links -->\r
-${navlinks("server_index_paged", servers.page, servers.last_page)}\r
+    ${navlinks("server_index_paged", servers.page, servers.last_page)}\r
+  </div> <!-- /span4 -->\r
+</div> <!-- /row -->\r
index 5f6c2e1e577454b799a549eadd9615ceaff00c81..2c8d4963b505bed9e0fefb5c2824b6ca6380ed15 100755 (executable)
@@ -1,11 +1,14 @@
 <%inherit file="base.mako"/>
+<%namespace name="nav" file="nav.mako" />
+
+<%block name="navigation">
+${nav.nav('servers')}
+</%block>
 
 <%block name="title">
 % if server:
-Server Information for ${server.name} - 
+Server Information
 % endif
-
-${parent.title()}
 </%block>
 
 
@@ -13,147 +16,153 @@ ${parent.title()}
 <h2>Sorry, that server wasn't found!</h2>
 
 % else:
-<h2>${server.name}</h2>
-IP Address: ${server.ip_addr} <br />
-Revision: ${server.revision} <br />
-Created: ${server.create_dt.strftime('%m/%d/%Y at %I:%M %p')} <br />
-
-
-##### RECENT GAMES #####
-<h2>Recent Games</h2>
-<table id="recent-games">
-       <thead>
-               <tr>
-                       <th>Game #</th>
-                       <th>Type</th>
-                       <th>Map</th>
-                       <th>Time</th>
-                       <th>Winner</th>
-               </tr>
-       </thead>
-       <tbody>
-       % for (game, srv, map, pgstat) in recent_games:
-               % if game != '-':
-               <tr>
-                       <td><a href="${request.route_url('game_info', id=game.game_id)}" title="View detailed information about this game">${game.game_id}</a></td>
-                       <td class="gt_icon"><img title="${game.game_type_cd}" src="/static/images/icons/24x24/${game.game_type_cd}.png" alt="${game.game_type_cd}" /></td>
-                       <td><a href="${request.route_url('map_info', id=map.map_id)}" title="Go to the map detail page for this map">${map.name}</a></td>
-                       <td>${game.start_dt.strftime('%m/%d/%Y %H:%M')}</td>
-                       <td class=
-            % if pgstat.team == 5:
-            "blue"
-            % elif pgstat.team == 14:
-            "red"
-            % elif pgstat.team == 13:
-            "yellow"
-            % endif
-            >
-            % if pgstat.player_id > 2:
-            <a href="${request.route_url('player_info', id=pgstat.player_id)}" title="Go to the player info page for this player">${pgstat.nick_html_colors()|n}</a></td>
+<div class="row">
+  <div class="span12">
+    <h2>${server.name}</h2>
+    <p>
+      IP Address: ${server.ip_addr} <br />
+      Revision: ${server.revision} <br />
+      Added on ${server.create_dt.strftime('%m/%d/%Y at %I:%M %p')} <br />
+    </p>
+  </div>
+</div>
+
+
+<div class="row">
+  <div class="span4">
+    <h3>Top Scoring Players</h3>
+      <table class="table table-bordered table-condensed">
+        <thead>
+          <tr>
+            <th>#</th>
+            <th>Nick</th>
+            <th>Score</th>
+          </tr>
+        </thead>
+        <tbody>
+        <% i = 1 %>
+        % for (score_player_id, score_nick, score_value) in top_scorers:
+          <tr>
+            <td>${i}</td>
+            % if score_player_id != '-':
+            <td><a href="${request.route_url('player_info', id=score_player_id)}" title="Go to the player info page for this player">${score_nick|n}</a></td>
             % else:
-            ${pgstat.nick_html_colors()|n}</td>
+            <td>${score_nick}</td>
             % endif
-               </tr>
-               % else:
-               <tr>
-                       <td>-</td>
-                       <td>-</td>
-                       <td>-</td>
-                       <td>-</td>
-                       <td>-</td>
-               </tr>
-               % endif
-    % endfor
-    </tbody>
-</table>
-
-##### TOP SCORERS #####
-<div class="table_block">
-<h2>Top Scoring Players</h2>
-<table>
-       <thead>
-               <tr>
-                       <th>#</th>
-                       <th>Nick</th>
-                       <th>Score</th>
-               </tr>
-       </thead>
-       <tbody>
-       <% i = 1 %>
-       % for (score_player_id, score_nick, score_value) in top_scorers:
-               <tr>
-                       <td>${i}</td>
-                       % if score_player_id != '-':
-                       <td><a href="${request.route_url('player_info', id=score_player_id)}" title="Go to the player info page for this player">${score_nick|n}</a></td>
-                       % else:
-                       <td>${score_nick}</td>
-                       % endif
-                       <td>${score_value}</td>
-               </tr>
-               <% i = i+1 %>
-       % endfor
-       </tbody>
-</table>
-</div>
+            <td>${score_value}</td>
+          </tr>
+        <% i = i+1 %>
+        % endfor
+        </tbody>
+      </table>
+  </div> <!-- /span4 -->
 
 
-##### TOP PLAYERS #####
-<div class="table_block">
-<h2>Most Active Players</h2>
-<table id="top-players">
-       <thead>
-               <tr>
-                       <th>#</th>
-                       <th>Nick</th>
-                       <th>Playing Time</th>
-               </tr>
-       </thead>
-       <tbody>
-       <% i = 1 %>
-       % for (player_id, nick, alivetime) in top_players:
-               <tr>
-                       <td>${i}</td>
-                       % if player_id != '-':
-                       <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>
-                       % else:
-                       <td>${nick}</td>
-                       % endif
-                       <td>${alivetime}</td>
-               </tr>
-               <% i = i+1 %>
-       % endfor
-       </tbody>
-</table>
-</div>
+  <div class="span4">
+    <h3>Most Active Players</h3>
+    <table class="table table-bordered table-condensed">
+      <thead>
+        <tr>
+          <th>#</th>
+          <th>Nick</th>
+          <th>Playing Time</th>
+        </tr>
+      </thead>
+      <tbody>
+      <% i = 1 %>
+      % for (player_id, nick, alivetime) in top_players:
+        <tr>
+          <td>${i}</td>
+          % if player_id != '-':
+          <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>
+          % else:
+          <td>${nick}</td>
+          % endif
+          <td>${alivetime}</td>
+        </tr>
+        <% i = i+1 %>
+      % endfor
+      </tbody>
+    </table>
+  </div> <!-- /span4 -->
+
+
+  <div class="span4">
+    <h3>Most Active Maps</h3>
+    <table class="table table-bordered table-condensed">
+      <thead>
+        <tr>
+          <th>#</th>
+          <th>Map</th>
+          <th># Games</th>
+        </tr>
+      </thead>
+      <tbody>
+      <% i = 1 %>
+      % for (map_id, name, count) in top_maps:
+        <tr>
+          <td>${i}</td>
+          % if map_id != '-':
+          <td><a href="${request.route_url('map_info', id=map_id)}" title="Go to the map info page for ${name}">${name}</a></td>
+          % else:
+          <td>${name}</td>
+          % endif
+          <td>${count}</td>
+        </tr>
+        <% i = i+1 %>
+      % endfor
+      </tbody>
+    </table>
+  </div> <!-- /span4 -->
+
+</div> <!-- /row -->
 
 
-##### TOP MAPS #####
-<div class="table_block">
-<h2>Most Active Maps</h2>
-<table id="top-maps">
-       <thead>
-               <tr>
-                       <th>#</th>
-                       <th>Map</th>
-                       <th># Games</th>
-               </tr>
-       </thead>
-       <tbody>
-       <% i = 1 %>
-       % for (map_id, name, count) in top_maps:
-               <tr>
-                       <td>${i}</td>
-                       % if map_id != '-':
-                       <td><a href="${request.route_url('map_info', id=map_id)}" title="Go to the map info page for ${name}">${name}</a></td>
-                       % else:
-                       <td>${name}</td>
-                       % endif
-                       <td>${count}</td>
-               </tr>
-               <% i = i+1 %>
-       % endfor
-       </tbody>
-</table>
+
+<div class="row">
+  <div class="span12">
+    <h3>Recent Games</h2>
+    <table class="table table-bordered table-condensed">
+      <thead>
+        <tr>
+          <th></th>
+          <th>Type</th>
+          <th>Map</th>
+          <th>Time</th>
+          <th>Winner</th>
+        </tr>
+      </thead>
+      <tbody>
+      % for (game, srv, map, pgstat) in recent_games:
+        % if game != '-':
+        <tr>
+          <td><a class="btn btn-primary btn-small" href="${request.route_url('game_info', id=game.game_id)}" title="View detailed information about this game">View</a></td>
+          <td class="gt_icon"><img title="${game.game_type_cd}" src="/static/images/icons/24x24/${game.game_type_cd}.png" alt="${game.game_type_cd}" /></td>
+          <td><a href="${request.route_url('map_info', id=map.map_id)}" title="Go to the map detail page for this map">${map.name}</a></td>
+          <td>${game.start_dt.strftime('%m/%d/%Y %H:%M')}</td>
+          <td>
+          % if pgstat.player_id > 2:
+            <a href="${request.route_url('player_info', id=pgstat.player_id)}" title="Go to the player info page for this player">${pgstat.nick_html_colors()|n}</a>
+          </td>
+          % else:
+            ${pgstat.nick_html_colors()|n}
+          </td>
+          % endif
+        </tr>
+            % else:
+            <tr>
+              <td>-</td>
+              <td>-</td>
+              <td>-</td>
+              <td>-</td>
+              <td>-</td>
+            </tr>
+            % endif
+        % endfor
+        </tbody>
+    </table>
+  </div>
 </div>
 
+
 % endif
index 6b9c63b7984807df2eaae897950b14ff5bdee99d..7fcfd62bdcc2414609f1713f6715873f1b5a99a3 100755 (executable)
@@ -25,10 +25,11 @@ def player_index(request):
     try:\r
         player_q = DBSession.query(Player).\\r
                 filter(Player.player_id > 2).\\r
+                filter(Player.active_ind == True).\\r
                 filter(sa.not_(Player.nick.like('Anonymous Player%'))).\\r
                 order_by(Player.player_id.desc())\r
 \r
-        players = Page(player_q, current_page, url=page_url)\r
+        players = Page(player_q, current_page, items_per_page=10, url=page_url)\r
 \r
         last_linked_page = current_page + 4\r
         if last_linked_page > players.last_page:\r
@@ -52,9 +53,24 @@ def player_info(request):
     player_id = int(request.matchdict['id'])\r
     if player_id <= 2:\r
         player_id = -1;\r
-        \r
+\r
     try:\r
-        player = DBSession.query(Player).filter_by(player_id=player_id).one()\r
+        player = DBSession.query(Player).filter_by(player_id=player_id).\\r
+                filter(Player.active_ind == True).one()\r
+\r
+        elos = DBSession.query(PlayerElo).filter_by(player_id=player_id).\\r
+                filter(PlayerElo.game_type_cd.in_(['ctf','duel','dm'])).\\r
+                order_by(PlayerElo.elo.desc()).all()\r
+\r
+        elos_display = []\r
+        for elo in elos:\r
+            if elo.games > 32:\r
+                str = "{0} ({1})"\r
+            else:\r
+                str = "{0}* ({1})"\r
+\r
+            elos_display.append(str.format(round(elo.elo, 3),\r
+                elo.game_type_cd))\r
 \r
         weapon_stats = DBSession.query("descr", "weapon_cd", "actual_total", \r
                 "max_total", "hit_total", "fired_total", "frags_total").\\r
@@ -116,11 +132,13 @@ def player_info(request):
 \r
     except Exception as e:\r
         player = None\r
+        elos_display = None\r
         weapon_stats = None\r
         game_stats = None\r
         recent_games = None\r
 \r
     return {'player':player, \r
+            'elos_display':elos_display,\r
             'recent_games':recent_games,\r
             'weapon_stats':weapon_stats,\r
             'game_stats':game_stats}\r
@@ -140,21 +158,26 @@ def player_game_index(request):
         current_page = 1\r
 \r
     try:\r
-        player = DBSession.query(Player).filter_by(player_id=player_id).one()\r
-\r
-        games_q = DBSession.query(PlayerGameStat, Game, Server, Map).\\r
-                filter(PlayerGameStat.player_id == player_id).\\r
-                filter(PlayerGameStat.game_id == Game.game_id).\\r
-                filter(Game.server_id == Server.server_id).\\r
-                filter(Game.map_id == Map.map_id).\\r
-                order_by(Game.game_id.desc())\r
+        games_q = DBSession.query(Game, Server, Map).\\r
+            filter(PlayerGameStat.game_id == Game.game_id).\\r
+            filter(PlayerGameStat.player_id == player_id).\\r
+            filter(Game.server_id == Server.server_id).\\r
+            filter(Game.map_id == Map.map_id).\\r
+            order_by(Game.game_id.desc())\r
 \r
         games = Page(games_q, current_page, url=page_url)\r
 \r
-        \r
+        pgstats = {}\r
+        for (game, server, map) in games:\r
+            pgstats[game.game_id] = DBSession.query(PlayerGameStat).\\r
+                    filter(PlayerGameStat.game_id == game.game_id).\\r
+                    order_by(PlayerGameStat.rank).\\r
+                    order_by(PlayerGameStat.score).all()\r
+\r
     except Exception as e:\r
         player = None\r
         games = None\r
 \r
-    return {'player':player,\r
-            'games':games}\r
+    return {'player_id':player_id,\r
+            'games':games,\r
+            'pgstats':pgstats}\r
index 6f40984c238bdab340ee8b6e40962d9e3bbf9269..42f18875f7d28a72d8bfa13b7ed5642daa1e931b 100755 (executable)
@@ -29,6 +29,7 @@ def search_q(nick=None, server_name=None, map_name=None, create_dt=None,
             q = q.filter(
                     func.upper(Player.stripped_nick).like('%'+nick.upper()+'%')).\
                     filter(Player.player_id > 2).\
+                    filter(Player.active_ind == True).\
                     order_by(Player.player_id)
 
     # server-only searches
@@ -114,6 +115,15 @@ def search(request):
         if request.params.has_key('tdm'):
                 gametypes.append('tdm')
                 query['tdm'] = ''
+        if request.params.has_key('stype') and request.params.has_key('sval'):
+            stype = request.params['stype']
+            sval = request.params['sval']
+            if stype == "players":
+                nick = sval
+            if stype == "servers":
+                server_name = sval
+            if stype == "maps":
+                map_name = sval
 
         (result_type, q) = search_q(nick=nick, server_name=server_name,
                 map_name=map_name, gametypes=gametypes)
index 221fe5ca87c78ea6f4d938390cd1ae18db4a58ea..d043fe3623d6f8e272a5a2cf7d2884684b4b0299 100755 (executable)
@@ -49,7 +49,7 @@ def is_supported_gametype(gametype):
     """Whether a gametype is supported or not"""\r
     flg_supported = True\r
 \r
-    if gametype == 'cts' or gametype == 'ca' or gametype == 'lms':\r
+    if gametype == 'cts' or gametype == 'lms':\r
         flg_supported = False\r
 \r
     return flg_supported\r