1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/chess/nbactions-bck2brwsr.xml Wed Sep 25 04:28:19 2013 +0200
1.3 @@ -0,0 +1,39 @@
1.4 +<?xml version="1.0" encoding="UTF-8"?>
1.5 +<!--
1.6 +
1.7 + The MIT License (MIT)
1.8 +
1.9 + Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
1.10 +
1.11 + Permission is hereby granted, free of charge, to any person obtaining a copy
1.12 + of this software and associated documentation files (the "Software"), to deal
1.13 + in the Software without restriction, including without limitation the rights
1.14 + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1.15 + copies of the Software, and to permit persons to whom the Software is
1.16 + furnished to do so, subject to the following conditions:
1.17 +
1.18 + The above copyright notice and this permission notice shall be included in
1.19 + all copies or substantial portions of the Software.
1.20 +
1.21 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1.22 + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1.23 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1.24 + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1.25 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1.26 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1.27 + THE SOFTWARE.
1.28 +
1.29 +-->
1.30 +<actions>
1.31 + <action>
1.32 + <actionName>run</actionName>
1.33 + <goals>
1.34 + <goal>package</goal>
1.35 + <goal>bck2brwsr:brwsr</goal>
1.36 + </goals>
1.37 + <properties>
1.38 + <skipTests>true</skipTests>
1.39 + <bck2brwsr.obfuscationlevel>NONE</bck2brwsr.obfuscationlevel>
1.40 + </properties>
1.41 + </action>
1.42 +</actions>
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/chess/nbactions.xml Wed Sep 25 04:28:19 2013 +0200
2.3 @@ -0,0 +1,74 @@
2.4 +<?xml version="1.0" encoding="UTF-8"?>
2.5 +<!--
2.6 +
2.7 + The MIT License (MIT)
2.8 +
2.9 + Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
2.10 +
2.11 + Permission is hereby granted, free of charge, to any person obtaining a copy
2.12 + of this software and associated documentation files (the "Software"), to deal
2.13 + in the Software without restriction, including without limitation the rights
2.14 + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
2.15 + copies of the Software, and to permit persons to whom the Software is
2.16 + furnished to do so, subject to the following conditions:
2.17 +
2.18 + The above copyright notice and this permission notice shall be included in
2.19 + all copies or substantial portions of the Software.
2.20 +
2.21 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2.22 + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2.23 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2.24 + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2.25 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2.26 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2.27 + THE SOFTWARE.
2.28 +
2.29 +-->
2.30 +<actions>
2.31 + <action>
2.32 + <actionName>run</actionName>
2.33 + <goals>
2.34 + <goal>process-classes</goal>
2.35 + <goal>exec:java</goal>
2.36 + </goals>
2.37 + </action>
2.38 + <action>
2.39 + <actionName>debug</actionName>
2.40 + <goals>
2.41 + <goal>process-classes</goal>
2.42 + <goal>exec:java</goal>
2.43 + </goals>
2.44 + <properties>
2.45 + <jpda.listen>maven</jpda.listen>
2.46 + </properties>
2.47 + </action>
2.48 + <action>
2.49 + <actionName>CUSTOM-Build IPA</actionName>
2.50 + <displayName>Build IPA</displayName>
2.51 + <goals>
2.52 + <goal>package</goal>
2.53 + <goal>ios:build-IPA</goal>
2.54 + </goals>
2.55 + <properties>
2.56 + <skipTests>true</skipTests>
2.57 + <appjarDebug>true</appjarDebug>
2.58 + <appjarDebugName>${project.build.finalName}.jar</appjarDebugName>
2.59 + </properties>
2.60 + </action>
2.61 + <action>
2.62 + <actionName>CUSTOM-Debug IPA</actionName>
2.63 + <displayName>Debug IPA</displayName>
2.64 + <goals>
2.65 + <goal>package</goal>
2.66 + <goal>ios:ipaddress</goal>
2.67 + <goal>ios:build-IPA</goal>
2.68 + </goals>
2.69 + <properties>
2.70 + <skipTests>true</skipTests>
2.71 + <jpda.listen>true</jpda.listen>
2.72 + <ipAddress>${ip.address}</ipAddress>
2.73 + <jpdaAddress>${jpda.address}</jpdaAddress>
2.74 + <runMode>Debug</runMode>
2.75 + </properties>
2.76 + </action>
2.77 +</actions>
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/chess/pom.xml Wed Sep 25 04:28:19 2013 +0200
3.3 @@ -0,0 +1,258 @@
3.4 +<?xml version="1.0" encoding="UTF-8"?>
3.5 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3.6 + <modelVersion>4.0.0</modelVersion>
3.7 + <parent>
3.8 + <artifactId>demo</artifactId>
3.9 + <groupId>org.apidesign.html</groupId>
3.10 + <version>1.0-SNAPSHOT</version>
3.11 + </parent>
3.12 +
3.13 + <groupId>org.apidesign.html.demo</groupId>
3.14 + <artifactId>chessdemo</artifactId>
3.15 + <version>1.0-SNAPSHOT</version>
3.16 + <packaging>jar</packaging>
3.17 +
3.18 + <name>Chess_HTML_Java_Client</name>
3.19 +
3.20 + <repositories>
3.21 + <repository>
3.22 + <id>netbeans</id>
3.23 + <name>NetBeans</name>
3.24 + <url>http://bits.netbeans.org/maven2/</url>
3.25 + </repository>
3.26 + </repositories>
3.27 + <pluginRepositories>
3.28 + <pluginRepository>
3.29 + <id>ios</id>
3.30 + <name>NetBeans iOS Maven Plugin</name>
3.31 + <url>http://beetle.cz.oracle.com/~jtulach/maven/</url>
3.32 + <snapshots>
3.33 + </snapshots>
3.34 + </pluginRepository>
3.35 + </pluginRepositories>
3.36 +
3.37 + <properties>
3.38 + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3.39 + <netbeans.compile.on.save>none</netbeans.compile.on.save>
3.40 + <net.java.html.version>0.6</net.java.html.version>
3.41 + <bck2brwsr.version>0.8</bck2brwsr.version>
3.42 + <bck2brwsr.launcher.version>0.8</bck2brwsr.launcher.version>
3.43 + <bck2brwsr.obfuscationlevel>MINIMAL</bck2brwsr.obfuscationlevel>
3.44 + <brwsr.startpage>pages/index.html</brwsr.startpage>
3.45 + </properties>
3.46 + <build>
3.47 + <plugins>
3.48 + <plugin>
3.49 + <groupId>org.apache.maven.plugins</groupId>
3.50 + <artifactId>maven-compiler-plugin</artifactId>
3.51 + <version>2.3.2</version>
3.52 + <configuration>
3.53 + <source>1.7</source>
3.54 + <target>1.7</target>
3.55 + </configuration>
3.56 + </plugin>
3.57 + <plugin>
3.58 + <groupId>org.apache.maven.plugins</groupId>
3.59 + <artifactId>maven-jar-plugin</artifactId>
3.60 + <version>2.4</version>
3.61 + <configuration>
3.62 + <archive>
3.63 + <manifest>
3.64 + <mainClass>org.apidesign.html.demo.chess.Main</mainClass>
3.65 + <addClasspath>true</addClasspath>
3.66 + <classpathPrefix>lib/</classpathPrefix>
3.67 + </manifest>
3.68 + </archive>
3.69 + </configuration>
3.70 + </plugin>
3.71 + <plugin>
3.72 + <groupId>org.codehaus.mojo</groupId>
3.73 + <artifactId>exec-maven-plugin</artifactId>
3.74 + <version>1.2.1</version>
3.75 + <configuration>
3.76 + <systemProperties>
3.77 + <systemProperty>
3.78 + <key>browser.rootdir</key>
3.79 + <value>${basedir}/src/main/webapp/</value>
3.80 + </systemProperty>
3.81 + </systemProperties>
3.82 + <mainClass>org.apidesign.html.demo.chess.Main</mainClass>
3.83 + </configuration>
3.84 + </plugin>
3.85 + <plugin>
3.86 + <artifactId>maven-assembly-plugin</artifactId>
3.87 + <version>2.4</version>
3.88 + <executions>
3.89 + <execution>
3.90 + <id>distro-assembly</id>
3.91 + <phase>package</phase>
3.92 + <goals>
3.93 + <goal>single</goal>
3.94 + </goals>
3.95 + <configuration>
3.96 + <descriptors>
3.97 + <descriptor>src/main/assembly/html.java.net.xml</descriptor>
3.98 + </descriptors>
3.99 + </configuration>
3.100 + </execution>
3.101 + </executions>
3.102 + </plugin>
3.103 + <plugin>
3.104 + <artifactId>ios-maven-plugin</artifactId>
3.105 + <groupId>org.netbeans.ios</groupId>
3.106 + <version>0.4</version>
3.107 + <configuration>
3.108 + <targetDevices>1</targetDevices>
3.109 + <deploymentTarget>6.1</deploymentTarget>
3.110 + <bundleId>JavaOneChess</bundleId>
3.111 + <provisioningProfile></provisioningProfile>
3.112 + <supportedInterfaceOrientations>UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationPortrait,UIInterfaceOrientationLandscapeRight,UIInterfaceOrientationPortraitUpsideDown</supportedInterfaceOrientations>
3.113 + <prerenderedIcons>false</prerenderedIcons>
3.114 + <iPadSupportedInterfaceOrientations>UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationPortrait,UIInterfaceOrientationLandscapeRight,UIInterfaceOrientationPortraitUpsideDown</iPadSupportedInterfaceOrientations>
3.115 + </configuration>
3.116 + </plugin>
3.117 + </plugins>
3.118 + </build>
3.119 + <dependencies>
3.120 + <dependency>
3.121 + <groupId>org.apidesign.html</groupId>
3.122 + <artifactId>net.java.html.json</artifactId>
3.123 + <version>${net.java.html.version}</version>
3.124 + </dependency>
3.125 + <dependency>
3.126 + <groupId>org.apidesign.html</groupId>
3.127 + <artifactId>net.java.html.boot</artifactId>
3.128 + <version>${net.java.html.version}</version>
3.129 + </dependency>
3.130 + <dependency>
3.131 + <groupId>org.testng</groupId>
3.132 + <artifactId>testng</artifactId>
3.133 + <version>6.7</version>
3.134 + <scope>test</scope>
3.135 + </dependency>
3.136 + <dependency>
3.137 + <groupId>org.apidesign.html</groupId>
3.138 + <artifactId>net.java.html.sound</artifactId>
3.139 + <version>${net.java.html.version}</version>
3.140 + <type>jar</type>
3.141 + </dependency>
3.142 + <dependency>
3.143 + <groupId>org.apidesign.bck2brwsr</groupId>
3.144 + <artifactId>core</artifactId>
3.145 + <version>${bck2brwsr.version}</version>
3.146 + <scope>provided</scope>
3.147 + <type>jar</type>
3.148 + </dependency>
3.149 + </dependencies>
3.150 + <profiles>
3.151 + <profile>
3.152 + <id>fxbrwsr</id>
3.153 + <activation>
3.154 + <activeByDefault>true</activeByDefault>
3.155 + </activation>
3.156 + <dependencies>
3.157 + <dependency>
3.158 + <groupId>org.apidesign.html</groupId>
3.159 + <artifactId>ko-fx</artifactId>
3.160 + <version>${net.java.html.version}</version>
3.161 + <scope>runtime</scope>
3.162 + </dependency>
3.163 + <dependency>
3.164 + <groupId>org.apidesign.html</groupId>
3.165 + <artifactId>boot-fx</artifactId>
3.166 + <version>${net.java.html.version}</version>
3.167 + <scope>runtime</scope>
3.168 + </dependency>
3.169 + <dependency>
3.170 + <groupId>org.apidesign.html</groupId>
3.171 + <artifactId>ko-ws-tyrus</artifactId>
3.172 + <scope>runtime</scope>
3.173 + <version>${net.java.html.version}</version>
3.174 + </dependency>
3.175 + </dependencies>
3.176 + </profile>
3.177 + <profile>
3.178 + <id>bck2brwsr</id>
3.179 + <activation>
3.180 + <property>
3.181 + <name>brwsr</name>
3.182 + <value>bck2brwsr</value>
3.183 + </property>
3.184 + </activation>
3.185 + <build>
3.186 + <plugins>
3.187 + <plugin>
3.188 + <groupId>org.apidesign.bck2brwsr</groupId>
3.189 + <artifactId>bck2brwsr-maven-plugin</artifactId>
3.190 + <version>${bck2brwsr.launcher.version}</version>
3.191 + <executions>
3.192 + <execution>
3.193 + <goals>
3.194 + <goal>brwsr</goal>
3.195 + </goals>
3.196 + </execution>
3.197 + </executions>
3.198 + <configuration>
3.199 + <directory>${basedir}/src/main/webapp/</directory>
3.200 + <startpage>${brwsr.startpage}</startpage>
3.201 + <launcher>${brwsr}</launcher>
3.202 + <javascript>${project.build.directory}/bck2brwsr.js</javascript>
3.203 + <obfuscation>${bck2brwsr.obfuscationlevel}</obfuscation>
3.204 + </configuration>
3.205 + </plugin>
3.206 + <plugin>
3.207 + <groupId>org.apache.maven.plugins</groupId>
3.208 + <artifactId>maven-compiler-plugin</artifactId>
3.209 + <configuration>
3.210 + <compilerArguments>
3.211 + <!--
3.212 + <bootclasspath>netbeans.ignore.jdk.bootclasspath</bootclasspath>
3.213 + -->
3.214 + </compilerArguments>
3.215 + </configuration>
3.216 + </plugin>
3.217 + <plugin>
3.218 + <artifactId>maven-assembly-plugin</artifactId>
3.219 + <version>2.4</version>
3.220 + <executions>
3.221 + <execution>
3.222 + <id>distro-assembly</id>
3.223 + <phase>package</phase>
3.224 + <goals>
3.225 + <goal>single</goal>
3.226 + </goals>
3.227 + <configuration>
3.228 + <descriptors>
3.229 + <descriptor>src/main/assembly/bck2brwsr.xml</descriptor>
3.230 + </descriptors>
3.231 + </configuration>
3.232 + </execution>
3.233 + </executions>
3.234 + </plugin>
3.235 + </plugins>
3.236 + </build>
3.237 + <dependencies>
3.238 + <dependency>
3.239 + <groupId>org.apidesign.bck2brwsr</groupId>
3.240 + <artifactId>emul</artifactId>
3.241 + <version>${bck2brwsr.version}</version>
3.242 + <classifier>rt</classifier>
3.243 + </dependency>
3.244 + <dependency>
3.245 + <groupId>org.apidesign.bck2brwsr</groupId>
3.246 + <artifactId>ko-bck2brwsr</artifactId>
3.247 + <version>${bck2brwsr.version}</version>
3.248 + <scope>runtime</scope>
3.249 + </dependency>
3.250 + <dependency>
3.251 + <groupId>org.apidesign.bck2brwsr</groupId>
3.252 + <artifactId>vm4brwsr</artifactId>
3.253 + <classifier>js</classifier>
3.254 + <type>zip</type>
3.255 + <version>${bck2brwsr.version}</version>
3.256 + <scope>provided</scope>
3.257 + </dependency>
3.258 + </dependencies>
3.259 + </profile>
3.260 + </profiles>
3.261 +</project>
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/chess/src/main/assembly/bck2brwsr.xml Wed Sep 25 04:28:19 2013 +0200
4.3 @@ -0,0 +1,79 @@
4.4 +<?xml version="1.0"?>
4.5 +<!--
4.6 +
4.7 + The MIT License (MIT)
4.8 +
4.9 + Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
4.10 +
4.11 + Permission is hereby granted, free of charge, to any person obtaining a copy
4.12 + of this software and associated documentation files (the "Software"), to deal
4.13 + in the Software without restriction, including without limitation the rights
4.14 + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4.15 + copies of the Software, and to permit persons to whom the Software is
4.16 + furnished to do so, subject to the following conditions:
4.17 +
4.18 + The above copyright notice and this permission notice shall be included in
4.19 + all copies or substantial portions of the Software.
4.20 +
4.21 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4.22 + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4.23 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4.24 + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4.25 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4.26 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
4.27 + THE SOFTWARE.
4.28 +
4.29 +-->
4.30 +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4.31 + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
4.32 +
4.33 + <id>bck2brwsr</id>
4.34 + <formats>
4.35 + <format>zip</format>
4.36 + </formats>
4.37 + <baseDirectory>public_html</baseDirectory>
4.38 + <dependencySets>
4.39 + <dependencySet>
4.40 + <useProjectArtifact>false</useProjectArtifact>
4.41 + <scope>runtime</scope>
4.42 + <outputDirectory>lib</outputDirectory>
4.43 + <includes>
4.44 + <include>*:jar</include>
4.45 + <include>*:rt</include>
4.46 + </includes>
4.47 + </dependencySet>
4.48 + <dependencySet>
4.49 + <useProjectArtifact>false</useProjectArtifact>
4.50 + <scope>provided</scope>
4.51 + <includes>
4.52 + <include>*:js</include>
4.53 + </includes>
4.54 + <unpack>true</unpack>
4.55 + <outputDirectory>/</outputDirectory>
4.56 + </dependencySet>
4.57 + </dependencySets>
4.58 + <fileSets>
4.59 + <fileSet>
4.60 + <directory>src/main/webapp/pages</directory>
4.61 + <outputDirectory>/</outputDirectory>
4.62 + <excludes>
4.63 + <exclude>*.png</exclude>
4.64 + </excludes>
4.65 + <filtered>true</filtered>
4.66 + </fileSet>
4.67 + <fileSet>
4.68 + <directory>src/main/webapp/pages</directory>
4.69 + <outputDirectory>/</outputDirectory>
4.70 + <includes>
4.71 + <include>*.png</include>
4.72 + </includes>
4.73 + <filtered>false</filtered>
4.74 + </fileSet>
4.75 + </fileSets>
4.76 + <files>
4.77 + <file>
4.78 + <source>${project.build.directory}/${project.build.finalName}.jar</source>
4.79 + <outputDirectory>/</outputDirectory>
4.80 + </file>
4.81 + </files>
4.82 +</assembly>
4.83 \ No newline at end of file
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/chess/src/main/assembly/html.java.net.xml Wed Sep 25 04:28:19 2013 +0200
5.3 @@ -0,0 +1,57 @@
5.4 +<?xml version="1.0"?>
5.5 +<!--
5.6 +
5.7 + The MIT License (MIT)
5.8 +
5.9 + Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
5.10 +
5.11 + Permission is hereby granted, free of charge, to any person obtaining a copy
5.12 + of this software and associated documentation files (the "Software"), to deal
5.13 + in the Software without restriction, including without limitation the rights
5.14 + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5.15 + copies of the Software, and to permit persons to whom the Software is
5.16 + furnished to do so, subject to the following conditions:
5.17 +
5.18 + The above copyright notice and this permission notice shall be included in
5.19 + all copies or substantial portions of the Software.
5.20 +
5.21 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5.22 + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5.23 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
5.24 + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
5.25 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
5.26 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
5.27 + THE SOFTWARE.
5.28 +
5.29 +-->
5.30 +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5.31 + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
5.32 +
5.33 + <id>html.java.net</id>
5.34 + <formats>
5.35 + <format>zip</format>
5.36 + </formats>
5.37 + <baseDirectory>${project.build.finalName}-app</baseDirectory>
5.38 + <dependencySets>
5.39 + <dependencySet>
5.40 + <useProjectArtifact>false</useProjectArtifact>
5.41 + <scope>runtime</scope>
5.42 + <outputDirectory>lib</outputDirectory>
5.43 + </dependencySet>
5.44 + </dependencySets>
5.45 + <files>
5.46 + <file>
5.47 + <source>${project.build.directory}/${project.build.finalName}.jar</source>
5.48 + <outputDirectory>/</outputDirectory>
5.49 + </file>
5.50 + </files>
5.51 + <fileSets>
5.52 + <fileSet>
5.53 + <directory>src/main/webapp/</directory>
5.54 + <outputDirectory>/</outputDirectory>
5.55 + <includes>
5.56 + <include>pages/**</include>
5.57 + </includes>
5.58 + </fileSet>
5.59 + </fileSets>
5.60 +</assembly>
5.61 \ No newline at end of file
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/chess/src/main/java/org/apidesign/html/demo/chess/BoardModel.java Wed Sep 25 04:28:19 2013 +0200
6.3 @@ -0,0 +1,392 @@
6.4 +/**
6.5 + * The MIT License (MIT)
6.6 + *
6.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
6.8 + *
6.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
6.10 + * of this software and associated documentation files (the "Software"), to deal
6.11 + * in the Software without restriction, including without limitation the rights
6.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
6.13 + * copies of the Software, and to permit persons to whom the Software is
6.14 + * furnished to do so, subject to the following conditions:
6.15 + *
6.16 + * The above copyright notice and this permission notice shall be included in
6.17 + * all copies or substantial portions of the Software.
6.18 + *
6.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
6.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
6.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
6.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
6.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
6.25 + * THE SOFTWARE.
6.26 + */
6.27 +package org.apidesign.html.demo.chess;
6.28 +
6.29 +import java.util.Arrays;
6.30 +import java.util.Collections;
6.31 +import java.util.List;
6.32 +import java.util.Timer;
6.33 +import java.util.TimerTask;
6.34 +import net.java.html.json.ComputedProperty;
6.35 +import net.java.html.json.Function;
6.36 +import net.java.html.json.Model;
6.37 +import net.java.html.json.ModelOperation;
6.38 +import net.java.html.json.OnPropertyChange;
6.39 +import net.java.html.json.Property;
6.40 +import net.java.html.sound.AudioClip;
6.41 +
6.42 +@Model(className="Board", properties={
6.43 + @Property(name = "player", type = String.class),
6.44 + @Property(name = "gameId", type = String.class),
6.45 + @Property(name = "whitePlayer", type = String.class),
6.46 + @Property(name = "blackPlayer", type = String.class),
6.47 + @Property(name = "alertMessage", type = String.class),
6.48 + @Property(name = "status", type = String.class),
6.49 + @Property(name = "rows", type = Row.class, array = true),
6.50 + @Property(name = "turn", type = Color.class),
6.51 + @Property(name = "moves", type = Move.class, array = true),
6.52 + @Property(name = "pendingMove", type = Move.class),
6.53 + @Property(name = "active", type = boolean.class),
6.54 +})
6.55 +public class BoardModel {
6.56 + @ComputedProperty static String title(String status, String gameId) {
6.57 + String t = status != null ? status : gameId;
6.58 + if (t != null && t.length() > 10) {
6.59 + return t.substring(0, 10);
6.60 + }
6.61 + return t;
6.62 + }
6.63 +
6.64 + @ModelOperation static void updateSummary(Board b, String summary) {
6.65 + if (summary != null) {
6.66 + b.setStatus(summary);
6.67 + }
6.68 + }
6.69 +
6.70 + private static final AudioClip MOVE = AudioClip.create("sounds/move.mp3");
6.71 + @OnPropertyChange("moves") static void playMove() {
6.72 + MOVE.play();
6.73 + }
6.74 +
6.75 + private static final AudioClip CHECK = AudioClip.create("sounds/check.mp3");
6.76 + private static final AudioClip CHECKMATE = AudioClip.create("sounds/checkmate.mp3");
6.77 +
6.78 + @Function static void selected(Board b, Square data) {
6.79 + Square previoslySelected = findSelectedSquare(b);
6.80 + if (previoslySelected == null) {
6.81 + if (data.getPiece() != null && data.getPieceColor() == b.getTurn()) {
6.82 + data.setSelected(true);
6.83 + Rules.computeAccessible(b, data);
6.84 + }
6.85 + } else {
6.86 + if (previoslySelected == data) {
6.87 + data.setSelected(false);
6.88 + Rules.computeAccessible(b, null);
6.89 + return;
6.90 + }
6.91 + if (data.getPiece() != null && data.getPieceColor() == previoslySelected.getPieceColor()) {
6.92 + previoslySelected.setSelected(false);
6.93 + data.setSelected(true);
6.94 + Rules.computeAccessible(b, data);
6.95 + return;
6.96 + }
6.97 + if (data.isAccessible()) {
6.98 + previoslySelected.setSelected(false);
6.99 +
6.100 + Move newMove = new Move();
6.101 + newMove.setFrom(previoslySelected.getPosition());
6.102 + newMove.setTo(data.getPosition());
6.103 + newMove.setRound(b.getMoves().size() / 2 + 1);
6.104 + newMove.setPiece(previoslySelected.getPiece());
6.105 + newMove.setTurn(previoslySelected.getPieceColor());
6.106 + newMove.setTakes(data.getPiece() != null);
6.107 + b.getMoves().add(newMove);
6.108 + b.setPendingMove(newMove);
6.109 +
6.110 + data.setPieceColor(previoslySelected.getPieceColor());
6.111 + data.setPiece(previoslySelected.getPiece());
6.112 + previoslySelected.setPiece(null);
6.113 + previoslySelected.setPieceColor(null);
6.114 + b.setTurn(b.getTurn() == Color.W ? Color.B : Color.W);
6.115 + Rules.computeAccessible(b, null);
6.116 + }
6.117 + }
6.118 + }
6.119 +
6.120 + static class NextMove extends TimerTask {
6.121 + private static final Timer T = new Timer("Animate moves");
6.122 + private final Board b;
6.123 + private final Move m;
6.124 +
6.125 + public NextMove(Board b, Move m) {
6.126 + this.b = b;
6.127 + this.m = m;
6.128 + T.schedule(this, 1000);
6.129 + }
6.130 +
6.131 +
6.132 + @Override
6.133 + public void run() {
6.134 + b.showPosition(m);
6.135 + }
6.136 + }
6.137 +
6.138 + @ModelOperation @Function static void showPosition(Board b, Move data) {
6.139 + Rules.initBoard(b);
6.140 + boolean found = false;
6.141 + for (Move m : b.getMoves()) {
6.142 + if (found) {
6.143 + b.setTurn(null);
6.144 + new NextMove(b, m);
6.145 + return;
6.146 + }
6.147 + Square from = findSquare(b, (char)m.getFrom().getX(), m.getFrom().getY());
6.148 + Square to = findSquare(b, (char)m.getTo().getX(), m.getTo().getY());
6.149 + to.setPiece(from.getPiece());
6.150 + to.setPieceColor(from.getPieceColor());
6.151 + from.setPiece(null);
6.152 + from.setPieceColor(null);
6.153 + if (m == data) {
6.154 + found = true;
6.155 + }
6.156 + }
6.157 + b.setTurn(b.getMoves().size() % 2 == 0 ? Color.W : Color.B);
6.158 + }
6.159 +
6.160 +
6.161 +
6.162 + @Function static void rotateBoard(Board b) {
6.163 + Collections.reverse(b.getRows());
6.164 + for (Row r : b.getRows()) {
6.165 + Collections.reverse(r.getColumns());
6.166 + }
6.167 + Square sq = findSelectedSquare(b);
6.168 + if (sq != null) {
6.169 + sq.setSelected(false);
6.170 + Rules.computeAccessible(b, null);
6.171 + }
6.172 + }
6.173 +
6.174 + @ComputedProperty static boolean whiteTurn(Color turn) {
6.175 + return turn == Color.W;
6.176 + }
6.177 +
6.178 + @ComputedProperty static boolean blackTurn(Color turn) {
6.179 + return turn == Color.B;
6.180 + }
6.181 +
6.182 + @ComputedProperty static List<String> columnNames(List<Row> rows) {
6.183 + boolean whiteDown = rows.isEmpty() || rows.get(0).getY() == 8;
6.184 + String[] arr = new String[8];
6.185 + for (int i = 0; i < 8; i++) {
6.186 + String s;
6.187 + if (whiteDown) {
6.188 + s = "" + (char)('A' + i);
6.189 + } else {
6.190 + s = "" + (char)('H' - i);
6.191 + }
6.192 + arr[i] = s;
6.193 + }
6.194 + return Arrays.asList(arr);
6.195 + }
6.196 +
6.197 + static Square findSquare(Board b, char column, int row) {
6.198 + for (Row r : b.getRows()) {
6.199 + for (Square square : r.getColumns()) {
6.200 + if (square.getPosition().getX() == column && square.getPosition().getY() == row) {
6.201 + return square;
6.202 + }
6.203 + }
6.204 + }
6.205 + return null;
6.206 + }
6.207 +
6.208 + private static Square findSquare(Board b, Position to) {
6.209 + return findSquare(b, (char)to.getX(), to.getY());
6.210 + }
6.211 +
6.212 + static Square findSelectedSquare(Board b) {
6.213 + for (Row row : b.getRows()) {
6.214 + for (Square square : row.getColumns()) {
6.215 + if (square.isSelected()) {
6.216 + return square;
6.217 + }
6.218 + }
6.219 + }
6.220 + return null;
6.221 + }
6.222 +
6.223 + static void moveUpdate(
6.224 + final Board b, final Move move,
6.225 + final List<String> whites, final List<String> blacks,
6.226 + final Color turn, Object alert
6.227 + ) {
6.228 + final Square from = BoardModel.findSquare(b, move.getFrom());
6.229 + final Square to = BoardModel.findSquare(b, move.getTo());
6.230 + move.setPiece(from.getPiece());
6.231 + move.setTurn(from.getPieceColor());
6.232 + if (to.getPiece() != null) {
6.233 + move.setTakes(true);
6.234 + }
6.235 + move.setRound(b.getMoves().size() / 2 + 1);
6.236 + b.getMoves().add(move);
6.237 + Rules.initBoard(b, whites, blacks, turn);
6.238 + }
6.239 +
6.240 + @Model(className="Row", properties = {
6.241 + @Property(name = "columns", type = Square.class, array = true)
6.242 + })
6.243 + static class RowsImpl {
6.244 + @ComputedProperty static int y(List<Square> columns) {
6.245 + return columns.isEmpty() ? 0 : columns.get(0).getY();
6.246 + }
6.247 + }
6.248 +
6.249 + enum PieceType {
6.250 + PAWN(5), ROCK(2), KNIGHT(4), BISHOP(3), QUEEN(1), KING(0);
6.251 +
6.252 + final int entityIndex;
6.253 +
6.254 + PieceType(int ei) {
6.255 + this.entityIndex = ei;
6.256 + }
6.257 +
6.258 + static PieceType fromNotation(char notation) {
6.259 + switch (notation) {
6.260 + case 'R': return ROCK;
6.261 + case 'N': return KNIGHT;
6.262 + case 'B': return BISHOP;
6.263 + case 'Q': return QUEEN;
6.264 + case 'K': return KING;
6.265 + case 'P': return PAWN;
6.266 + }
6.267 + throw new IllegalStateException("Unexpected: " + notation);
6.268 + }
6.269 +
6.270 + String computeEntity(Color color) {
6.271 + if (color == null) {
6.272 + color = Color.W;
6.273 + }
6.274 + int base;
6.275 + switch (color) {
6.276 + case W: base = 12; break;
6.277 + case B: base = 18; break;
6.278 + default:
6.279 + throw new AssertionError();
6.280 + }
6.281 + return "b" + String.valueOf(base + entityIndex) + ";";
6.282 + }
6.283 + }
6.284 +
6.285 + @Model(className="Position", properties = {
6.286 + @Property(name = "x", type = char.class),
6.287 + @Property(name = "y", type = int.class),
6.288 + })
6.289 + static class PositionImpl {
6.290 + @ComputedProperty static String location(int x, int y) {
6.291 + return "" + (char)(x - 'A' + 'a') + y;
6.292 + }
6.293 + }
6.294 +
6.295 + @Model(className="Square", properties = {
6.296 + @Property(name = "position", type = Position.class),
6.297 + @Property(name = "color", type = Color.class),
6.298 + @Property(name = "piece", type = PieceType.class),
6.299 + @Property(name = "pieceColor", type = Color.class),
6.300 + @Property(name = "selected", type = boolean.class),
6.301 + @Property(name = "accessible", type = boolean.class),
6.302 + })
6.303 + static class SquareModel {
6.304 + @ComputedProperty static String pieceEntity(
6.305 + PieceType piece, Color pieceColor
6.306 + ) {
6.307 + if (piece == null) {
6.308 + return "";
6.309 + }
6.310 + return piece.computeEntity(pieceColor);
6.311 + }
6.312 +
6.313 + @ComputedProperty static String squareColor(
6.314 + Color color, boolean selected, boolean accessible
6.315 + ) {
6.316 + if (selected) {
6.317 + return "selected";
6.318 + }
6.319 + if (accessible) {
6.320 + return "accessible";
6.321 + }
6.322 +
6.323 + if (color == null) {
6.324 + return "";
6.325 + } else {
6.326 + if (color == Color.W) {
6.327 + return "white";
6.328 + } else {
6.329 + return "black";
6.330 + }
6.331 + }
6.332 + }
6.333 +
6.334 + @ComputedProperty static char x(Position position) {
6.335 + return position == null ? 'A' : position.getX();
6.336 + }
6.337 +
6.338 + @ComputedProperty static int y(Position position) {
6.339 + return position == null ? 1 : position.getY();
6.340 + }
6.341 + }
6.342 +
6.343 + @Model(className = "Move", properties = {
6.344 + @Property(name = "round", type = int.class),
6.345 + @Property(name = "turn", type = Color.class),
6.346 + @Property(name = "piece", type = PieceType.class),
6.347 + @Property(name = "from", type = Position.class),
6.348 + @Property(name = "to", type = Position.class),
6.349 + @Property(name = "promoted", type = PieceType.class),
6.350 + @Property(name = "takes", type = boolean.class),
6.351 + @Property(name = "check", type = boolean.class),
6.352 + })
6.353 + static class MoveImpl {
6.354 + @ComputedProperty static boolean whiteMove(Color turn) {
6.355 + return turn == Color.W;
6.356 + }
6.357 +
6.358 + @ComputedProperty static String html(
6.359 + Position from, Position to, boolean takes, PieceType piece, Color turn
6.360 + ) {
6.361 + if (from == null || to == null) {
6.362 + return "";
6.363 + }
6.364 + StringBuilder sb = new StringBuilder();
6.365 + if (piece != null && piece != PieceType.PAWN) {
6.366 + sb.append(piece.computeEntity(turn));
6.367 + }
6.368 +
6.369 + sb.append(from.getLocation());
6.370 + if (takes) {
6.371 + sb.append("x");
6.372 + }
6.373 + sb.append(to.getLocation());
6.374 + return sb.toString();
6.375 + }
6.376 +
6.377 + static Move valueOf(String move) {
6.378 + move = move.toUpperCase();
6.379 + Move m = new Move();
6.380 + {
6.381 + Position p = new Position();
6.382 + p.setX(move.charAt(0));
6.383 + p.setY(move.charAt(1) - '0');
6.384 + m.setFrom(p);
6.385 + }
6.386 + {
6.387 + Position p = new Position();
6.388 + p.setX(move.charAt(2));
6.389 + p.setY(move.charAt(3) - '0');
6.390 + m.setTo(p);
6.391 + }
6.392 + return m;
6.393 + }
6.394 + }
6.395 +}
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/chess/src/main/java/org/apidesign/html/demo/chess/Color.java Wed Sep 25 04:28:19 2013 +0200
7.3 @@ -0,0 +1,32 @@
7.4 +/**
7.5 + * The MIT License (MIT)
7.6 + *
7.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
7.8 + *
7.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
7.10 + * of this software and associated documentation files (the "Software"), to deal
7.11 + * in the Software without restriction, including without limitation the rights
7.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7.13 + * copies of the Software, and to permit persons to whom the Software is
7.14 + * furnished to do so, subject to the following conditions:
7.15 + *
7.16 + * The above copyright notice and this permission notice shall be included in
7.17 + * all copies or substantial portions of the Software.
7.18 + *
7.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
7.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
7.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
7.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
7.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
7.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
7.25 + * THE SOFTWARE.
7.26 + */
7.27 +package org.apidesign.html.demo.chess;
7.28 +
7.29 +/**
7.30 + *
7.31 + * @author Jaroslav Tulach <jtulach@netbeans.org>
7.32 + */
7.33 +public enum Color {
7.34 + W, B;
7.35 +}
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/chess/src/main/java/org/apidesign/html/demo/chess/GamesModel.java Wed Sep 25 04:28:19 2013 +0200
8.3 @@ -0,0 +1,46 @@
8.4 +/**
8.5 + * The MIT License (MIT)
8.6 + *
8.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
8.8 + *
8.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
8.10 + * of this software and associated documentation files (the "Software"), to deal
8.11 + * in the Software without restriction, including without limitation the rights
8.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8.13 + * copies of the Software, and to permit persons to whom the Software is
8.14 + * furnished to do so, subject to the following conditions:
8.15 + *
8.16 + * The above copyright notice and this permission notice shall be included in
8.17 + * all copies or substantial portions of the Software.
8.18 + *
8.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
8.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
8.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
8.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
8.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
8.25 + * THE SOFTWARE.
8.26 + */
8.27 +package org.apidesign.html.demo.chess;
8.28 +
8.29 +import net.java.html.json.ComputedProperty;
8.30 +import net.java.html.json.Model;
8.31 +import net.java.html.json.Property;
8.32 +
8.33 +/**
8.34 + *
8.35 + * @author Jaroslav Tulach <jtulach@netbeans.org>
8.36 + */
8.37 +@Model(className = "Games", properties = {
8.38 + @Property(name = "whitePlayer", type = String.class),
8.39 + @Property(name = "blackPlayer", type = String.class),
8.40 + @Property(name = "selectedColor", type = String.class),
8.41 +})
8.42 +class GamesModel {
8.43 + @ComputedProperty static boolean correctNames(
8.44 + String whitePlayer, String blackPlayer
8.45 + ) {
8.46 + return whitePlayer != null && blackPlayer != null && !whitePlayer.isEmpty() &&
8.47 + !blackPlayer.isEmpty();
8.48 + }
8.49 +}
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/chess/src/main/java/org/apidesign/html/demo/chess/LoadMain.java Wed Sep 25 04:28:19 2013 +0200
9.3 @@ -0,0 +1,41 @@
9.4 +/**
9.5 + * The MIT License (MIT)
9.6 + *
9.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
9.8 + *
9.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
9.10 + * of this software and associated documentation files (the "Software"), to deal
9.11 + * in the Software without restriction, including without limitation the rights
9.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9.13 + * copies of the Software, and to permit persons to whom the Software is
9.14 + * furnished to do so, subject to the following conditions:
9.15 + *
9.16 + * The above copyright notice and this permission notice shall be included in
9.17 + * all copies or substantial portions of the Software.
9.18 + *
9.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
9.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
9.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
9.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
9.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
9.25 + * THE SOFTWARE.
9.26 + */
9.27 +package org.apidesign.html.demo.chess;
9.28 +
9.29 +
9.30 +public final class LoadMain {
9.31 + private LoadMain() {
9.32 + }
9.33 +
9.34 + /**
9.35 + * Called when the page is ready.
9.36 + */
9.37 + static {
9.38 + try {
9.39 + UIModel.initialize();
9.40 + } catch (Throwable ex) {
9.41 + ex.printStackTrace();
9.42 + }
9.43 + }
9.44 +}
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/chess/src/main/java/org/apidesign/html/demo/chess/Main.java Wed Sep 25 04:28:19 2013 +0200
10.3 @@ -0,0 +1,42 @@
10.4 +/**
10.5 + * The MIT License (MIT)
10.6 + *
10.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
10.8 + *
10.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
10.10 + * of this software and associated documentation files (the "Software"), to deal
10.11 + * in the Software without restriction, including without limitation the rights
10.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10.13 + * copies of the Software, and to permit persons to whom the Software is
10.14 + * furnished to do so, subject to the following conditions:
10.15 + *
10.16 + * The above copyright notice and this permission notice shall be included in
10.17 + * all copies or substantial portions of the Software.
10.18 + *
10.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
10.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
10.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
10.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
10.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
10.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
10.25 + * THE SOFTWARE.
10.26 + */
10.27 +package org.apidesign.html.demo.chess;
10.28 +
10.29 +import net.java.html.boot.BrowserBuilder;
10.30 +import org.apidesign.bck2brwsr.core.JavaScriptOnly;
10.31 +
10.32 +public final class Main {
10.33 + private Main() {
10.34 + }
10.35 +
10.36 + @JavaScriptOnly(name = "main", value = "null")
10.37 + public static void main(String... args) throws Exception {
10.38 + BrowserBuilder.newBrowser().
10.39 + loadPage("pages/index.html").
10.40 + loadClass(UIModel.class).
10.41 + invoke("initialize", args).
10.42 + showAndWait();
10.43 + System.exit(0);
10.44 + }
10.45 +}
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
11.2 +++ b/chess/src/main/java/org/apidesign/html/demo/chess/MsgType.java Wed Sep 25 04:28:19 2013 +0200
11.3 @@ -0,0 +1,40 @@
11.4 +/**
11.5 + * The MIT License (MIT)
11.6 + *
11.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
11.8 + *
11.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
11.10 + * of this software and associated documentation files (the "Software"), to deal
11.11 + * in the Software without restriction, including without limitation the rights
11.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11.13 + * copies of the Software, and to permit persons to whom the Software is
11.14 + * furnished to do so, subject to the following conditions:
11.15 + *
11.16 + * The above copyright notice and this permission notice shall be included in
11.17 + * all copies or substantial portions of the Software.
11.18 + *
11.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
11.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
11.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
11.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
11.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
11.25 + * THE SOFTWARE.
11.26 + */
11.27 +package org.apidesign.html.demo.chess;
11.28 +
11.29 +/**
11.30 + *
11.31 + * @author Jaroslav Tulach <jtulach@netbeans.org>
11.32 + */
11.33 + enum MsgType {
11.34 + CreateGame, QueryGames, SendMove, JoinGame, UpdateGame, CheckCredentials;
11.35 +
11.36 + static MsgType forResponse(String msg) {
11.37 + if (msg.endsWith("Rsp")) {
11.38 + msg = msg.substring(0, msg.length() - 3);
11.39 + }
11.40 + return MsgType.valueOf(msg);
11.41 + }
11.42 +
11.43 +}
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
12.2 +++ b/chess/src/main/java/org/apidesign/html/demo/chess/Rules.java Wed Sep 25 04:28:19 2013 +0200
12.3 @@ -0,0 +1,312 @@
12.4 +/**
12.5 + * The MIT License (MIT)
12.6 + *
12.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
12.8 + *
12.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
12.10 + * of this software and associated documentation files (the "Software"), to deal
12.11 + * in the Software without restriction, including without limitation the rights
12.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12.13 + * copies of the Software, and to permit persons to whom the Software is
12.14 + * furnished to do so, subject to the following conditions:
12.15 + *
12.16 + * The above copyright notice and this permission notice shall be included in
12.17 + * all copies or substantial portions of the Software.
12.18 + *
12.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
12.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
12.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
12.25 + * THE SOFTWARE.
12.26 + */
12.27 +package org.apidesign.html.demo.chess;
12.28 +
12.29 +import java.util.ArrayList;
12.30 +import java.util.List;
12.31 +
12.32 +/** Common chess rules.
12.33 + *
12.34 + * @author Jaroslav Tulach <jtulach@netbeans.org>
12.35 + */
12.36 +class Rules {
12.37 + static void computeAccessible(Board b, Square s) {
12.38 + for (Row r : b.getRows()) {
12.39 + for (Square ts : r.getColumns()) {
12.40 + ts.setAccessible(false);
12.41 + }
12.42 + }
12.43 + if (s == null) {
12.44 + return;
12.45 + }
12.46 +
12.47 + switch (s.getPiece()) {
12.48 + case BISHOP:
12.49 + moveBishop(b, s);
12.50 + break;
12.51 + case KING:
12.52 + computeAccessible(b, s, 1, 1, 1);
12.53 + computeAccessible(b, s, 1, -1, 1);
12.54 + computeAccessible(b, s, -1, -1, 1);
12.55 + computeAccessible(b, s, -1, 1, 1);
12.56 + computeAccessible(b, s, 1, 0, 1);
12.57 + computeAccessible(b, s, 0, -1, 1);
12.58 + computeAccessible(b, s, 0, 1, 1);
12.59 + computeAccessible(b, s, -1, 0, 1);
12.60 + checkRochade(b, s);
12.61 + break;
12.62 + case ROCK:
12.63 + moveRock(b, s);
12.64 + break;
12.65 + case QUEEN:
12.66 + moveRock(b, s);
12.67 + moveBishop(b, s);
12.68 + break;
12.69 + case KNIGHT:
12.70 + computeAccessible(b, s, 2, 1, 1);
12.71 + computeAccessible(b, s, 2, -1, 1);
12.72 + computeAccessible(b, s, -2, -1, 1);
12.73 + computeAccessible(b, s, -2, 1, 1);
12.74 + computeAccessible(b, s, 1, 2, 1);
12.75 + computeAccessible(b, s, -1, 2, 1);
12.76 + computeAccessible(b, s, -1, -2, 1);
12.77 + computeAccessible(b, s, 1, -2, 1);
12.78 + break;
12.79 + case PAWN:
12.80 + pawns(b, s);
12.81 + break;
12.82 + }
12.83 + }
12.84 +
12.85 + private static void moveRock(Board b, Square s) {
12.86 + computeAccessible(b, s, 1, 0, 8);
12.87 + computeAccessible(b, s, 0, -1, 8);
12.88 + computeAccessible(b, s, -1, 0, 8);
12.89 + computeAccessible(b, s, 0, 1, 8);
12.90 + }
12.91 +
12.92 + private static void moveBishop(Board b, Square s) {
12.93 + computeAccessible(b, s, 1, 1, 8);
12.94 + computeAccessible(b, s, 1, -1, 8);
12.95 + computeAccessible(b, s, -1, -1, 8);
12.96 + computeAccessible(b, s, -1, 1, 8);
12.97 + }
12.98 +
12.99 + private static void computeAccessible(
12.100 + Board b, Square s, int dx, int dy,
12.101 + int limit
12.102 + ) {
12.103 + int x = s.getX();
12.104 + int y = s.getY();
12.105 +
12.106 + while (limit-- > 0) {
12.107 + x += dx;
12.108 + y += dy;
12.109 + Square next = BoardModel.findSquare(b, (char)x, y);
12.110 + if (next == null) {
12.111 + break;
12.112 + }
12.113 + if (next.getPieceColor() == s.getPieceColor()) {
12.114 + break;
12.115 + }
12.116 + next.setAccessible(true);
12.117 + if (next.getPieceColor() != null) {
12.118 + break;
12.119 + }
12.120 + }
12.121 + }
12.122 +
12.123 + private static void pawns(Board b, Square s) {
12.124 + final boolean white = s.getPieceColor() == Color.W;
12.125 + int dy = white ? 1 : -1;
12.126 + Square step = BoardModel.findSquare(b, (char)s.getX(), s.getY() + dy);
12.127 + if (step != null && step.getPiece() == null) {
12.128 + step.setAccessible(true);
12.129 + if ((s.getY() == 2 && white) || (s.getY() == 7 && !white)) {
12.130 + Square nextSTep = BoardModel.findSquare(b, (char)s.getX(), step.getY() + dy);
12.131 + if (nextSTep != null && step.getPiece() == null && nextSTep.getPiece() == null) {
12.132 + nextSTep.setAccessible(true);
12.133 + }
12.134 + }
12.135 + }
12.136 + Color opposite = white ? Color.B : Color.W;
12.137 + Square takeLeft = BoardModel.findSquare(b, (char)(s.getX() - 1), s.getY() + dy);
12.138 + if (takeLeft != null && takeLeft.getPieceColor() == opposite) {
12.139 + takeLeft.setAccessible(true);
12.140 + }
12.141 + Square takeRight = BoardModel.findSquare(b, (char)(s.getX() + 1), s.getY() + dy);
12.142 + if (takeRight != null && takeRight.getPieceColor() == opposite) {
12.143 + takeRight.setAccessible(true);
12.144 + }
12.145 + if ((white && s.getY() == 5) || (!white && s.getY() == 4)) {
12.146 + int enPassantFrom = white ? 7 : 2;
12.147 + int enPassantTo = white ? 5 : 4;
12.148 + if (!b.getMoves().isEmpty()) {
12.149 + Move last = b.getMoves().get(b.getMoves().size() - 1);
12.150 + if (
12.151 + last.getPiece() == BoardModel.PieceType.PAWN &&
12.152 + last.getFrom().getY() == enPassantFrom &&
12.153 + last.getTo().getY() == enPassantTo
12.154 + ) {
12.155 + if (takeLeft != null && last.getFrom().getX() == s.getX() - 1) {
12.156 + takeLeft.setAccessible(true);
12.157 + }
12.158 + if (takeRight != null && last.getFrom().getX() == s.getX() + 1) {
12.159 + takeRight.setAccessible(true);
12.160 + }
12.161 + }
12.162 + }
12.163 + }
12.164 + }
12.165 +
12.166 + static Board createBoard() {
12.167 + Board b = new Board();
12.168 + initBoardField(b);
12.169 + initBoard(b);
12.170 + return b;
12.171 + }
12.172 +
12.173 + private static void initBoardField(Board b) {
12.174 + List<Row> addRows = new ArrayList<>(8);
12.175 + for (int i = 8; i > 0; i--) {
12.176 + Square[] arr = new Square[8];
12.177 + for (char j = 'A'; j <= 'H'; j++) {
12.178 + arr[j - 'A'] = new Square(
12.179 + new Position(j, i),
12.180 + (i + j) % 2 == 1 ? Color.W : Color.B,
12.181 + null, null, // figure
12.182 + false, false
12.183 + );
12.184 + }
12.185 + addRows.add(new Row(arr));
12.186 + }
12.187 + b.getRows().addAll(addRows);
12.188 + }
12.189 +
12.190 + static void initBoard(Board b) {
12.191 + initBoard(b, true);
12.192 + }
12.193 + private static void initBoard(Board b, boolean init) {
12.194 + if (init) {
12.195 + b.setTurn(Color.W);
12.196 + }
12.197 + if (b.getRows().isEmpty()) {
12.198 + for (int i = 8; i > 0; i--) {
12.199 + Row r = b.getRows().get(8 - i);
12.200 + for (char j = 'A'; j <= 'H'; j++) {
12.201 + Square s = r.getColumns().get(j - 'A');
12.202 + s.setAccessible(false);
12.203 + r.getColumns().set(j - 'A', s);
12.204 + initialPosition(s, init);
12.205 + }
12.206 + }
12.207 + } else {
12.208 + for (Row r : b.getRows()) {
12.209 + for (Square square : r.getColumns()) {
12.210 + square.setAccessible(false);
12.211 + square.setPiece(null);
12.212 + square.setPieceColor(null);
12.213 + square.setSelected(false);
12.214 + initialPosition(square, init);
12.215 + }
12.216 + }
12.217 + }
12.218 + b.setPendingMove(null);
12.219 + }
12.220 +
12.221 + private static void initialPosition(Square s, boolean init) {
12.222 + int row = s.getPosition().getY();
12.223 + char column = s.getPosition().getX();
12.224 + s.setPiece(null);
12.225 + s.setPieceColor(null);
12.226 + if (init) {
12.227 + if (row == 2) {
12.228 + s.setPiece(BoardModel.PieceType.PAWN);
12.229 + s.setPieceColor(Color.W);
12.230 + } else if (row == 7) {
12.231 + s.setPiece(BoardModel.PieceType.PAWN);
12.232 + s.setPieceColor(Color.B);
12.233 + } else if (row == 8 || row == 1) {
12.234 + s.setPieceColor(row == 1 ? Color.W : Color.B);
12.235 + BoardModel.PieceType t;
12.236 + switch (column) {
12.237 + case 'A':
12.238 + case 'H':
12.239 + t = BoardModel.PieceType.ROCK;
12.240 + break;
12.241 + case 'B':
12.242 + case 'G':
12.243 + t = BoardModel.PieceType.KNIGHT;
12.244 + break;
12.245 + case 'C':
12.246 + case 'F':
12.247 + t = BoardModel.PieceType.BISHOP;
12.248 + break;
12.249 + case 'D':
12.250 + t = BoardModel.PieceType.QUEEN;
12.251 + break;
12.252 + default:
12.253 + t = BoardModel.PieceType.KING;
12.254 + break;
12.255 + }
12.256 + s.setPiece(t);
12.257 + }
12.258 + }
12.259 + }
12.260 +
12.261 + static void initBoard(
12.262 + Board board, List<String> whites, List<String> blacks, Color turn
12.263 + ) {
12.264 + initBoard(board, false);
12.265 + for (String w : whites) {
12.266 + assert w.length() == 3 : "Expecting three letter string: '" + w + "'";
12.267 + w = w.toUpperCase();
12.268 + char column = w.charAt(1);
12.269 + int row = (w.charAt(2) - '0');
12.270 +
12.271 + Square s = BoardModel.findSquare(board, column, row);
12.272 + s.setPieceColor(Color.W);
12.273 + s.setPiece(BoardModel.PieceType.fromNotation(w.charAt(0)));
12.274 + }
12.275 + for (String w : blacks) {
12.276 + assert w.length() == 3 : "Expecting three letter string: '" + w + "'";
12.277 + w = w.toUpperCase();
12.278 + char column = w.charAt(1);
12.279 + int row = (w.charAt(2) - '0');
12.280 +
12.281 + Square s = BoardModel.findSquare(board, column, row);
12.282 + s.setPieceColor(Color.B);
12.283 + s.setPiece(BoardModel.PieceType.fromNotation(w.charAt(0)));
12.284 + }
12.285 + board.setTurn(turn);
12.286 + }
12.287 +
12.288 + private static void checkRochade(Board b, Square s) {
12.289 + if (s.getPosition().getX() == 'E') {
12.290 + int y = s.getPosition().getY();
12.291 + final Square gRow = BoardModel.findSquare(b, 'G', y);
12.292 + if (
12.293 + BoardModel.findSquare(b, 'H', y).getPiece() == BoardModel.PieceType.ROCK
12.294 + &&
12.295 + BoardModel.findSquare(b, 'F', y).getPiece() == null
12.296 + &&
12.297 + gRow.getPiece() == null
12.298 + ) {
12.299 + gRow.setAccessible(true);
12.300 + }
12.301 + final Square cRow = BoardModel.findSquare(b, 'C', y);
12.302 + if (
12.303 + BoardModel.findSquare(b, 'A', y).getPiece() == BoardModel.PieceType.ROCK
12.304 + &&
12.305 + BoardModel.findSquare(b, 'B', y).getPiece() == null
12.306 + &&
12.307 + BoardModel.findSquare(b, 'D', y).getPiece() == null
12.308 + &&
12.309 + cRow.getPiece() == null
12.310 + ) {
12.311 + cRow.setAccessible(true);
12.312 + }
12.313 + }
12.314 + }
12.315 +}
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
13.2 +++ b/chess/src/main/java/org/apidesign/html/demo/chess/UIModel.java Wed Sep 25 04:28:19 2013 +0200
13.3 @@ -0,0 +1,116 @@
13.4 +/**
13.5 + * The MIT License (MIT)
13.6 + *
13.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
13.8 + *
13.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
13.10 + * of this software and associated documentation files (the "Software"), to deal
13.11 + * in the Software without restriction, including without limitation the rights
13.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13.13 + * copies of the Software, and to permit persons to whom the Software is
13.14 + * furnished to do so, subject to the following conditions:
13.15 + *
13.16 + * The above copyright notice and this permission notice shall be included in
13.17 + * all copies or substantial portions of the Software.
13.18 + *
13.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
13.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
13.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
13.25 + * THE SOFTWARE.
13.26 + */
13.27 +package org.apidesign.html.demo.chess;
13.28 +
13.29 +import java.io.IOException;
13.30 +import java.net.URISyntaxException;
13.31 +import java.util.List;
13.32 +import java.util.logging.Logger;
13.33 +import net.java.html.json.ComputedProperty;
13.34 +import net.java.html.json.Function;
13.35 +import net.java.html.json.Model;
13.36 +import net.java.html.json.Property;
13.37 +
13.38 +/**
13.39 + *
13.40 + * @author Jaroslav Tulach <jtulach@netbeans.org>
13.41 + */
13.42 +@Model(className = "UI", properties = {
13.43 + @Property(name = "status", type = String.class),
13.44 + @Property(name = "selectedGameId", type = String.class),
13.45 + @Property(name = "boards", type = Board.class, array = true),
13.46 + @Property(name = "viewGames", type = Games.class),
13.47 +})
13.48 +public class UIModel {
13.49 + private static final Logger LOG = Logger.getLogger(UIModel.class.getName());
13.50 +
13.51 + @ComputedProperty static boolean viewGamesActive(String selectedGameId) {
13.52 + return selectedGameId == null;
13.53 + }
13.54 +
13.55 + @ComputedProperty static Board selectedBoard(String selectedGameId, List<Board> boards) {
13.56 + Board active = null;
13.57 + for (Board b : boards) {
13.58 + b.setActive(false);
13.59 + if (selectedGameId != null && selectedGameId.equals(b.getGameId())) {
13.60 + b.setActive(true);
13.61 + active = b;
13.62 + }
13.63 + }
13.64 + return active;
13.65 + }
13.66 +
13.67 + @Function static void activateGame(UI m, Board data) {
13.68 + m.setSelectedGameId(data.getGameId());
13.69 + }
13.70 +
13.71 + @Function static void activateSettings(UI m) {
13.72 + m.setSelectedGameId(null);
13.73 + }
13.74 +
13.75 + private static int boardCnt;
13.76 +
13.77 + @Function static void createGame(UI u) {
13.78 + Board b = Rules.createBoard();
13.79 + b.setGameId("id" + ++boardCnt);
13.80 + final String wp = u.getViewGames().getWhitePlayer();
13.81 + b.setWhitePlayer(wp);
13.82 + final String bp = u.getViewGames().getBlackPlayer();
13.83 + b.setBlackPlayer(bp);
13.84 + b.setStatus(wp + " vs. " + bp);
13.85 + u.getBoards().add(b);
13.86 + u.setSelectedGameId(b.getGameId());
13.87 +
13.88 + u.getViewGames().setWhitePlayer(null);
13.89 + u.getViewGames().setBlackPlayer(null);
13.90 + }
13.91 +
13.92 +
13.93 +
13.94 +
13.95 + private static Board findBoard(UI ui, String gameId) {
13.96 + for (Board tmp : ui.getBoards()) {
13.97 + if (tmp.getGameId().equals(gameId)) {
13.98 + return tmp;
13.99 + }
13.100 + }
13.101 + return null;
13.102 + }
13.103 +
13.104 +
13.105 + @Function static void joinGame(UI u) {
13.106 + }
13.107 +
13.108 + @Function static void leave(UI ui, Board data) {
13.109 + ui.getBoards().remove(data);
13.110 + ui.setSelectedGameId(null);
13.111 + }
13.112 +
13.113 + public static void initialize(String... args) throws URISyntaxException, IOException {
13.114 + UI ui = new UI();
13.115 + ui.setStatus("Ready.");
13.116 + ui.applyBindings();
13.117 + }
13.118 +
13.119 +}
14.1 Binary file chess/src/main/webapp/pages/DukeHTML.png has changed
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
15.2 +++ b/chess/src/main/webapp/pages/css/bootstrap-responsive.css Wed Sep 25 04:28:19 2013 +0200
15.3 @@ -0,0 +1,1122 @@
15.4 +/**
15.5 + * The MIT License (MIT)
15.6 + *
15.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
15.8 + *
15.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
15.10 + * of this software and associated documentation files (the "Software"), to deal
15.11 + * in the Software without restriction, including without limitation the rights
15.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15.13 + * copies of the Software, and to permit persons to whom the Software is
15.14 + * furnished to do so, subject to the following conditions:
15.15 + *
15.16 + * The above copyright notice and this permission notice shall be included in
15.17 + * all copies or substantial portions of the Software.
15.18 + *
15.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
15.25 + * THE SOFTWARE.
15.26 + */
15.27 +.clearfix {
15.28 + *zoom: 1;
15.29 +}
15.30 +
15.31 +.clearfix:before,
15.32 +.clearfix:after {
15.33 + display: table;
15.34 + line-height: 0;
15.35 + content: "";
15.36 +}
15.37 +
15.38 +.clearfix:after {
15.39 + clear: both;
15.40 +}
15.41 +
15.42 +.hide-text {
15.43 + font: 0/0 a;
15.44 + color: transparent;
15.45 + text-shadow: none;
15.46 + background-color: transparent;
15.47 + border: 0;
15.48 +}
15.49 +
15.50 +.input-block-level {
15.51 + display: block;
15.52 + width: 100%;
15.53 + min-height: 30px;
15.54 + -webkit-box-sizing: border-box;
15.55 + -moz-box-sizing: border-box;
15.56 + box-sizing: border-box;
15.57 +}
15.58 +
15.59 +@-ms-viewport {
15.60 + width: device-width;
15.61 +}
15.62 +
15.63 +.hidden {
15.64 + display: none;
15.65 + visibility: hidden;
15.66 +}
15.67 +
15.68 +.visible-phone {
15.69 + display: none !important;
15.70 +}
15.71 +
15.72 +.visible-tablet {
15.73 + display: none !important;
15.74 +}
15.75 +
15.76 +.hidden-desktop {
15.77 + display: none !important;
15.78 +}
15.79 +
15.80 +.visible-desktop {
15.81 + display: inherit !important;
15.82 +}
15.83 +
15.84 +@media (min-width: 768px) and (max-width: 979px) {
15.85 + .hidden-desktop {
15.86 + display: inherit !important;
15.87 + }
15.88 + .visible-desktop {
15.89 + display: none !important ;
15.90 + }
15.91 + .visible-tablet {
15.92 + display: inherit !important;
15.93 + }
15.94 + .hidden-tablet {
15.95 + display: none !important;
15.96 + }
15.97 +}
15.98 +
15.99 +@media (max-width: 767px) {
15.100 + .hidden-desktop {
15.101 + display: inherit !important;
15.102 + }
15.103 + .visible-desktop {
15.104 + display: none !important;
15.105 + }
15.106 + .visible-phone {
15.107 + display: inherit !important;
15.108 + }
15.109 + .hidden-phone {
15.110 + display: none !important;
15.111 + }
15.112 +}
15.113 +
15.114 +.visible-print {
15.115 + display: none !important;
15.116 +}
15.117 +
15.118 +@media print {
15.119 + .visible-print {
15.120 + display: inherit !important;
15.121 + }
15.122 + .hidden-print {
15.123 + display: none !important;
15.124 + }
15.125 +}
15.126 +
15.127 +@media (min-width: 1200px) {
15.128 + .row {
15.129 + margin-left: -30px;
15.130 + *zoom: 1;
15.131 + }
15.132 + .row:before,
15.133 + .row:after {
15.134 + display: table;
15.135 + line-height: 0;
15.136 + content: "";
15.137 + }
15.138 + .row:after {
15.139 + clear: both;
15.140 + }
15.141 + [class*="span"] {
15.142 + float: left;
15.143 + min-height: 1px;
15.144 + margin-left: 30px;
15.145 + }
15.146 + .container,
15.147 + .navbar-static-top .container,
15.148 + .navbar-fixed-top .container,
15.149 + .navbar-fixed-bottom .container {
15.150 + width: 1170px;
15.151 + }
15.152 + .span12 {
15.153 + width: 1170px;
15.154 + }
15.155 + .span11 {
15.156 + width: 1070px;
15.157 + }
15.158 + .span10 {
15.159 + width: 970px;
15.160 + }
15.161 + .span9 {
15.162 + width: 870px;
15.163 + }
15.164 + .span8 {
15.165 + width: 770px;
15.166 + }
15.167 + .span7 {
15.168 + width: 670px;
15.169 + }
15.170 + .span6 {
15.171 + width: 570px;
15.172 + }
15.173 + .span5 {
15.174 + width: 470px;
15.175 + }
15.176 + .span4 {
15.177 + width: 370px;
15.178 + }
15.179 + .span3 {
15.180 + width: 270px;
15.181 + }
15.182 + .span2 {
15.183 + width: 170px;
15.184 + }
15.185 + .span1 {
15.186 + width: 70px;
15.187 + }
15.188 + .offset12 {
15.189 + margin-left: 1230px;
15.190 + }
15.191 + .offset11 {
15.192 + margin-left: 1130px;
15.193 + }
15.194 + .offset10 {
15.195 + margin-left: 1030px;
15.196 + }
15.197 + .offset9 {
15.198 + margin-left: 930px;
15.199 + }
15.200 + .offset8 {
15.201 + margin-left: 830px;
15.202 + }
15.203 + .offset7 {
15.204 + margin-left: 730px;
15.205 + }
15.206 + .offset6 {
15.207 + margin-left: 630px;
15.208 + }
15.209 + .offset5 {
15.210 + margin-left: 530px;
15.211 + }
15.212 + .offset4 {
15.213 + margin-left: 430px;
15.214 + }
15.215 + .offset3 {
15.216 + margin-left: 330px;
15.217 + }
15.218 + .offset2 {
15.219 + margin-left: 230px;
15.220 + }
15.221 + .offset1 {
15.222 + margin-left: 130px;
15.223 + }
15.224 + .row-fluid {
15.225 + width: 100%;
15.226 + *zoom: 1;
15.227 + }
15.228 + .row-fluid:before,
15.229 + .row-fluid:after {
15.230 + display: table;
15.231 + line-height: 0;
15.232 + content: "";
15.233 + }
15.234 + .row-fluid:after {
15.235 + clear: both;
15.236 + }
15.237 + .row-fluid [class*="span"] {
15.238 + display: block;
15.239 + float: left;
15.240 + width: 100%;
15.241 + min-height: 30px;
15.242 + margin-left: 2.564102564102564%;
15.243 + *margin-left: 2.5109110747408616%;
15.244 + -webkit-box-sizing: border-box;
15.245 + -moz-box-sizing: border-box;
15.246 + box-sizing: border-box;
15.247 + }
15.248 + .row-fluid [class*="span"]:first-child {
15.249 + margin-left: 0;
15.250 + }
15.251 + .row-fluid .controls-row [class*="span"] + [class*="span"] {
15.252 + margin-left: 2.564102564102564%;
15.253 + }
15.254 + .row-fluid .span12 {
15.255 + width: 100%;
15.256 + *width: 99.94680851063829%;
15.257 + }
15.258 + .row-fluid .span11 {
15.259 + width: 91.45299145299145%;
15.260 + *width: 91.39979996362975%;
15.261 + }
15.262 + .row-fluid .span10 {
15.263 + width: 82.90598290598291%;
15.264 + *width: 82.8527914166212%;
15.265 + }
15.266 + .row-fluid .span9 {
15.267 + width: 74.35897435897436%;
15.268 + *width: 74.30578286961266%;
15.269 + }
15.270 + .row-fluid .span8 {
15.271 + width: 65.81196581196582%;
15.272 + *width: 65.75877432260411%;
15.273 + }
15.274 + .row-fluid .span7 {
15.275 + width: 57.26495726495726%;
15.276 + *width: 57.21176577559556%;
15.277 + }
15.278 + .row-fluid .span6 {
15.279 + width: 48.717948717948715%;
15.280 + *width: 48.664757228587014%;
15.281 + }
15.282 + .row-fluid .span5 {
15.283 + width: 40.17094017094017%;
15.284 + *width: 40.11774868157847%;
15.285 + }
15.286 + .row-fluid .span4 {
15.287 + width: 31.623931623931625%;
15.288 + *width: 31.570740134569924%;
15.289 + }
15.290 + .row-fluid .span3 {
15.291 + width: 23.076923076923077%;
15.292 + *width: 23.023731587561375%;
15.293 + }
15.294 + .row-fluid .span2 {
15.295 + width: 14.52991452991453%;
15.296 + *width: 14.476723040552828%;
15.297 + }
15.298 + .row-fluid .span1 {
15.299 + width: 5.982905982905983%;
15.300 + *width: 5.929714493544281%;
15.301 + }
15.302 + .row-fluid .offset12 {
15.303 + margin-left: 105.12820512820512%;
15.304 + *margin-left: 105.02182214948171%;
15.305 + }
15.306 + .row-fluid .offset12:first-child {
15.307 + margin-left: 102.56410256410257%;
15.308 + *margin-left: 102.45771958537915%;
15.309 + }
15.310 + .row-fluid .offset11 {
15.311 + margin-left: 96.58119658119658%;
15.312 + *margin-left: 96.47481360247316%;
15.313 + }
15.314 + .row-fluid .offset11:first-child {
15.315 + margin-left: 94.01709401709402%;
15.316 + *margin-left: 93.91071103837061%;
15.317 + }
15.318 + .row-fluid .offset10 {
15.319 + margin-left: 88.03418803418803%;
15.320 + *margin-left: 87.92780505546462%;
15.321 + }
15.322 + .row-fluid .offset10:first-child {
15.323 + margin-left: 85.47008547008548%;
15.324 + *margin-left: 85.36370249136206%;
15.325 + }
15.326 + .row-fluid .offset9 {
15.327 + margin-left: 79.48717948717949%;
15.328 + *margin-left: 79.38079650845607%;
15.329 + }
15.330 + .row-fluid .offset9:first-child {
15.331 + margin-left: 76.92307692307693%;
15.332 + *margin-left: 76.81669394435352%;
15.333 + }
15.334 + .row-fluid .offset8 {
15.335 + margin-left: 70.94017094017094%;
15.336 + *margin-left: 70.83378796144753%;
15.337 + }
15.338 + .row-fluid .offset8:first-child {
15.339 + margin-left: 68.37606837606839%;
15.340 + *margin-left: 68.26968539734497%;
15.341 + }
15.342 + .row-fluid .offset7 {
15.343 + margin-left: 62.393162393162385%;
15.344 + *margin-left: 62.28677941443899%;
15.345 + }
15.346 + .row-fluid .offset7:first-child {
15.347 + margin-left: 59.82905982905982%;
15.348 + *margin-left: 59.72267685033642%;
15.349 + }
15.350 + .row-fluid .offset6 {
15.351 + margin-left: 53.84615384615384%;
15.352 + *margin-left: 53.739770867430444%;
15.353 + }
15.354 + .row-fluid .offset6:first-child {
15.355 + margin-left: 51.28205128205128%;
15.356 + *margin-left: 51.175668303327875%;
15.357 + }
15.358 + .row-fluid .offset5 {
15.359 + margin-left: 45.299145299145295%;
15.360 + *margin-left: 45.1927623204219%;
15.361 + }
15.362 + .row-fluid .offset5:first-child {
15.363 + margin-left: 42.73504273504273%;
15.364 + *margin-left: 42.62865975631933%;
15.365 + }
15.366 + .row-fluid .offset4 {
15.367 + margin-left: 36.75213675213675%;
15.368 + *margin-left: 36.645753773413354%;
15.369 + }
15.370 + .row-fluid .offset4:first-child {
15.371 + margin-left: 34.18803418803419%;
15.372 + *margin-left: 34.081651209310785%;
15.373 + }
15.374 + .row-fluid .offset3 {
15.375 + margin-left: 28.205128205128204%;
15.376 + *margin-left: 28.0987452264048%;
15.377 + }
15.378 + .row-fluid .offset3:first-child {
15.379 + margin-left: 25.641025641025642%;
15.380 + *margin-left: 25.53464266230224%;
15.381 + }
15.382 + .row-fluid .offset2 {
15.383 + margin-left: 19.65811965811966%;
15.384 + *margin-left: 19.551736679396257%;
15.385 + }
15.386 + .row-fluid .offset2:first-child {
15.387 + margin-left: 17.094017094017094%;
15.388 + *margin-left: 16.98763411529369%;
15.389 + }
15.390 + .row-fluid .offset1 {
15.391 + margin-left: 11.11111111111111%;
15.392 + *margin-left: 11.004728132387708%;
15.393 + }
15.394 + .row-fluid .offset1:first-child {
15.395 + margin-left: 8.547008547008547%;
15.396 + *margin-left: 8.440625568285142%;
15.397 + }
15.398 + input,
15.399 + textarea,
15.400 + .uneditable-input {
15.401 + margin-left: 0;
15.402 + }
15.403 + .controls-row [class*="span"] + [class*="span"] {
15.404 + margin-left: 30px;
15.405 + }
15.406 + input.span12,
15.407 + textarea.span12,
15.408 + .uneditable-input.span12 {
15.409 + width: 1156px;
15.410 + }
15.411 + input.span11,
15.412 + textarea.span11,
15.413 + .uneditable-input.span11 {
15.414 + width: 1056px;
15.415 + }
15.416 + input.span10,
15.417 + textarea.span10,
15.418 + .uneditable-input.span10 {
15.419 + width: 956px;
15.420 + }
15.421 + input.span9,
15.422 + textarea.span9,
15.423 + .uneditable-input.span9 {
15.424 + width: 856px;
15.425 + }
15.426 + input.span8,
15.427 + textarea.span8,
15.428 + .uneditable-input.span8 {
15.429 + width: 756px;
15.430 + }
15.431 + input.span7,
15.432 + textarea.span7,
15.433 + .uneditable-input.span7 {
15.434 + width: 656px;
15.435 + }
15.436 + input.span6,
15.437 + textarea.span6,
15.438 + .uneditable-input.span6 {
15.439 + width: 556px;
15.440 + }
15.441 + input.span5,
15.442 + textarea.span5,
15.443 + .uneditable-input.span5 {
15.444 + width: 456px;
15.445 + }
15.446 + input.span4,
15.447 + textarea.span4,
15.448 + .uneditable-input.span4 {
15.449 + width: 356px;
15.450 + }
15.451 + input.span3,
15.452 + textarea.span3,
15.453 + .uneditable-input.span3 {
15.454 + width: 256px;
15.455 + }
15.456 + input.span2,
15.457 + textarea.span2,
15.458 + .uneditable-input.span2 {
15.459 + width: 156px;
15.460 + }
15.461 + input.span1,
15.462 + textarea.span1,
15.463 + .uneditable-input.span1 {
15.464 + width: 56px;
15.465 + }
15.466 + .thumbnails {
15.467 + margin-left: -30px;
15.468 + }
15.469 + .thumbnails > li {
15.470 + margin-left: 30px;
15.471 + }
15.472 + .row-fluid .thumbnails {
15.473 + margin-left: 0;
15.474 + }
15.475 +}
15.476 +
15.477 +@media (min-width: 768px) and (max-width: 979px) {
15.478 + .row {
15.479 + margin-left: -20px;
15.480 + *zoom: 1;
15.481 + }
15.482 + .row:before,
15.483 + .row:after {
15.484 + display: table;
15.485 + line-height: 0;
15.486 + content: "";
15.487 + }
15.488 + .row:after {
15.489 + clear: both;
15.490 + }
15.491 + [class*="span"] {
15.492 + float: left;
15.493 + min-height: 1px;
15.494 + margin-left: 20px;
15.495 + }
15.496 + .container,
15.497 + .navbar-static-top .container,
15.498 + .navbar-fixed-top .container,
15.499 + .navbar-fixed-bottom .container {
15.500 + width: 724px;
15.501 + }
15.502 + .span12 {
15.503 + width: 724px;
15.504 + }
15.505 + .span11 {
15.506 + width: 662px;
15.507 + }
15.508 + .span10 {
15.509 + width: 600px;
15.510 + }
15.511 + .span9 {
15.512 + width: 538px;
15.513 + }
15.514 + .span8 {
15.515 + width: 476px;
15.516 + }
15.517 + .span7 {
15.518 + width: 414px;
15.519 + }
15.520 + .span6 {
15.521 + width: 352px;
15.522 + }
15.523 + .span5 {
15.524 + width: 290px;
15.525 + }
15.526 + .span4 {
15.527 + width: 228px;
15.528 + }
15.529 + .span3 {
15.530 + width: 166px;
15.531 + }
15.532 + .span2 {
15.533 + width: 104px;
15.534 + }
15.535 + .span1 {
15.536 + width: 42px;
15.537 + }
15.538 + .offset12 {
15.539 + margin-left: 764px;
15.540 + }
15.541 + .offset11 {
15.542 + margin-left: 702px;
15.543 + }
15.544 + .offset10 {
15.545 + margin-left: 640px;
15.546 + }
15.547 + .offset9 {
15.548 + margin-left: 578px;
15.549 + }
15.550 + .offset8 {
15.551 + margin-left: 516px;
15.552 + }
15.553 + .offset7 {
15.554 + margin-left: 454px;
15.555 + }
15.556 + .offset6 {
15.557 + margin-left: 392px;
15.558 + }
15.559 + .offset5 {
15.560 + margin-left: 330px;
15.561 + }
15.562 + .offset4 {
15.563 + margin-left: 268px;
15.564 + }
15.565 + .offset3 {
15.566 + margin-left: 206px;
15.567 + }
15.568 + .offset2 {
15.569 + margin-left: 144px;
15.570 + }
15.571 + .offset1 {
15.572 + margin-left: 82px;
15.573 + }
15.574 + .row-fluid {
15.575 + width: 100%;
15.576 + *zoom: 1;
15.577 + }
15.578 + .row-fluid:before,
15.579 + .row-fluid:after {
15.580 + display: table;
15.581 + line-height: 0;
15.582 + content: "";
15.583 + }
15.584 + .row-fluid:after {
15.585 + clear: both;
15.586 + }
15.587 + .row-fluid [class*="span"] {
15.588 + display: block;
15.589 + float: left;
15.590 + width: 100%;
15.591 + min-height: 30px;
15.592 + margin-left: 2.7624309392265194%;
15.593 + *margin-left: 2.709239449864817%;
15.594 + -webkit-box-sizing: border-box;
15.595 + -moz-box-sizing: border-box;
15.596 + box-sizing: border-box;
15.597 + }
15.598 + .row-fluid [class*="span"]:first-child {
15.599 + margin-left: 0;
15.600 + }
15.601 + .row-fluid .controls-row [class*="span"] + [class*="span"] {
15.602 + margin-left: 2.7624309392265194%;
15.603 + }
15.604 + .row-fluid .span12 {
15.605 + width: 100%;
15.606 + *width: 99.94680851063829%;
15.607 + }
15.608 + .row-fluid .span11 {
15.609 + width: 91.43646408839778%;
15.610 + *width: 91.38327259903608%;
15.611 + }
15.612 + .row-fluid .span10 {
15.613 + width: 82.87292817679558%;
15.614 + *width: 82.81973668743387%;
15.615 + }
15.616 + .row-fluid .span9 {
15.617 + width: 74.30939226519337%;
15.618 + *width: 74.25620077583166%;
15.619 + }
15.620 + .row-fluid .span8 {
15.621 + width: 65.74585635359117%;
15.622 + *width: 65.69266486422946%;
15.623 + }
15.624 + .row-fluid .span7 {
15.625 + width: 57.18232044198895%;
15.626 + *width: 57.12912895262725%;
15.627 + }
15.628 + .row-fluid .span6 {
15.629 + width: 48.61878453038674%;
15.630 + *width: 48.56559304102504%;
15.631 + }
15.632 + .row-fluid .span5 {
15.633 + width: 40.05524861878453%;
15.634 + *width: 40.00205712942283%;
15.635 + }
15.636 + .row-fluid .span4 {
15.637 + width: 31.491712707182323%;
15.638 + *width: 31.43852121782062%;
15.639 + }
15.640 + .row-fluid .span3 {
15.641 + width: 22.92817679558011%;
15.642 + *width: 22.87498530621841%;
15.643 + }
15.644 + .row-fluid .span2 {
15.645 + width: 14.3646408839779%;
15.646 + *width: 14.311449394616199%;
15.647 + }
15.648 + .row-fluid .span1 {
15.649 + width: 5.801104972375691%;
15.650 + *width: 5.747913483013988%;
15.651 + }
15.652 + .row-fluid .offset12 {
15.653 + margin-left: 105.52486187845304%;
15.654 + *margin-left: 105.41847889972962%;
15.655 + }
15.656 + .row-fluid .offset12:first-child {
15.657 + margin-left: 102.76243093922652%;
15.658 + *margin-left: 102.6560479605031%;
15.659 + }
15.660 + .row-fluid .offset11 {
15.661 + margin-left: 96.96132596685082%;
15.662 + *margin-left: 96.8549429881274%;
15.663 + }
15.664 + .row-fluid .offset11:first-child {
15.665 + margin-left: 94.1988950276243%;
15.666 + *margin-left: 94.09251204890089%;
15.667 + }
15.668 + .row-fluid .offset10 {
15.669 + margin-left: 88.39779005524862%;
15.670 + *margin-left: 88.2914070765252%;
15.671 + }
15.672 + .row-fluid .offset10:first-child {
15.673 + margin-left: 85.6353591160221%;
15.674 + *margin-left: 85.52897613729868%;
15.675 + }
15.676 + .row-fluid .offset9 {
15.677 + margin-left: 79.8342541436464%;
15.678 + *margin-left: 79.72787116492299%;
15.679 + }
15.680 + .row-fluid .offset9:first-child {
15.681 + margin-left: 77.07182320441989%;
15.682 + *margin-left: 76.96544022569647%;
15.683 + }
15.684 + .row-fluid .offset8 {
15.685 + margin-left: 71.2707182320442%;
15.686 + *margin-left: 71.16433525332079%;
15.687 + }
15.688 + .row-fluid .offset8:first-child {
15.689 + margin-left: 68.50828729281768%;
15.690 + *margin-left: 68.40190431409427%;
15.691 + }
15.692 + .row-fluid .offset7 {
15.693 + margin-left: 62.70718232044199%;
15.694 + *margin-left: 62.600799341718584%;
15.695 + }
15.696 + .row-fluid .offset7:first-child {
15.697 + margin-left: 59.94475138121547%;
15.698 + *margin-left: 59.838368402492065%;
15.699 + }
15.700 + .row-fluid .offset6 {
15.701 + margin-left: 54.14364640883978%;
15.702 + *margin-left: 54.037263430116376%;
15.703 + }
15.704 + .row-fluid .offset6:first-child {
15.705 + margin-left: 51.38121546961326%;
15.706 + *margin-left: 51.27483249088986%;
15.707 + }
15.708 + .row-fluid .offset5 {
15.709 + margin-left: 45.58011049723757%;
15.710 + *margin-left: 45.47372751851417%;
15.711 + }
15.712 + .row-fluid .offset5:first-child {
15.713 + margin-left: 42.81767955801105%;
15.714 + *margin-left: 42.71129657928765%;
15.715 + }
15.716 + .row-fluid .offset4 {
15.717 + margin-left: 37.01657458563536%;
15.718 + *margin-left: 36.91019160691196%;
15.719 + }
15.720 + .row-fluid .offset4:first-child {
15.721 + margin-left: 34.25414364640884%;
15.722 + *margin-left: 34.14776066768544%;
15.723 + }
15.724 + .row-fluid .offset3 {
15.725 + margin-left: 28.45303867403315%;
15.726 + *margin-left: 28.346655695309746%;
15.727 + }
15.728 + .row-fluid .offset3:first-child {
15.729 + margin-left: 25.69060773480663%;
15.730 + *margin-left: 25.584224756083227%;
15.731 + }
15.732 + .row-fluid .offset2 {
15.733 + margin-left: 19.88950276243094%;
15.734 + *margin-left: 19.783119783707537%;
15.735 + }
15.736 + .row-fluid .offset2:first-child {
15.737 + margin-left: 17.12707182320442%;
15.738 + *margin-left: 17.02068884448102%;
15.739 + }
15.740 + .row-fluid .offset1 {
15.741 + margin-left: 11.32596685082873%;
15.742 + *margin-left: 11.219583872105325%;
15.743 + }
15.744 + .row-fluid .offset1:first-child {
15.745 + margin-left: 8.56353591160221%;
15.746 + *margin-left: 8.457152932878806%;
15.747 + }
15.748 + input,
15.749 + textarea,
15.750 + .uneditable-input {
15.751 + margin-left: 0;
15.752 + }
15.753 + .controls-row [class*="span"] + [class*="span"] {
15.754 + margin-left: 20px;
15.755 + }
15.756 + input.span12,
15.757 + textarea.span12,
15.758 + .uneditable-input.span12 {
15.759 + width: 710px;
15.760 + }
15.761 + input.span11,
15.762 + textarea.span11,
15.763 + .uneditable-input.span11 {
15.764 + width: 648px;
15.765 + }
15.766 + input.span10,
15.767 + textarea.span10,
15.768 + .uneditable-input.span10 {
15.769 + width: 586px;
15.770 + }
15.771 + input.span9,
15.772 + textarea.span9,
15.773 + .uneditable-input.span9 {
15.774 + width: 524px;
15.775 + }
15.776 + input.span8,
15.777 + textarea.span8,
15.778 + .uneditable-input.span8 {
15.779 + width: 462px;
15.780 + }
15.781 + input.span7,
15.782 + textarea.span7,
15.783 + .uneditable-input.span7 {
15.784 + width: 400px;
15.785 + }
15.786 + input.span6,
15.787 + textarea.span6,
15.788 + .uneditable-input.span6 {
15.789 + width: 338px;
15.790 + }
15.791 + input.span5,
15.792 + textarea.span5,
15.793 + .uneditable-input.span5 {
15.794 + width: 276px;
15.795 + }
15.796 + input.span4,
15.797 + textarea.span4,
15.798 + .uneditable-input.span4 {
15.799 + width: 214px;
15.800 + }
15.801 + input.span3,
15.802 + textarea.span3,
15.803 + .uneditable-input.span3 {
15.804 + width: 152px;
15.805 + }
15.806 + input.span2,
15.807 + textarea.span2,
15.808 + .uneditable-input.span2 {
15.809 + width: 90px;
15.810 + }
15.811 + input.span1,
15.812 + textarea.span1,
15.813 + .uneditable-input.span1 {
15.814 + width: 28px;
15.815 + }
15.816 +}
15.817 +
15.818 +@media (max-width: 767px) {
15.819 + body {
15.820 + padding-right: 20px;
15.821 + padding-left: 20px;
15.822 + }
15.823 + .navbar-fixed-top,
15.824 + .navbar-fixed-bottom,
15.825 + .navbar-static-top {
15.826 + margin-right: -20px;
15.827 + margin-left: -20px;
15.828 + }
15.829 + .container-fluid {
15.830 + padding: 0;
15.831 + }
15.832 + .dl-horizontal dt {
15.833 + float: none;
15.834 + width: auto;
15.835 + clear: none;
15.836 + text-align: left;
15.837 + }
15.838 + .dl-horizontal dd {
15.839 + margin-left: 0;
15.840 + }
15.841 + .container {
15.842 + width: auto;
15.843 + }
15.844 + .row-fluid {
15.845 + width: 100%;
15.846 + }
15.847 + .row,
15.848 + .thumbnails {
15.849 + margin-left: 0;
15.850 + }
15.851 + .thumbnails > li {
15.852 + float: none;
15.853 + margin-left: 0;
15.854 + }
15.855 + [class*="span"],
15.856 + .uneditable-input[class*="span"],
15.857 + .row-fluid [class*="span"] {
15.858 + display: block;
15.859 + float: none;
15.860 + width: 100%;
15.861 + margin-left: 0;
15.862 + -webkit-box-sizing: border-box;
15.863 + -moz-box-sizing: border-box;
15.864 + box-sizing: border-box;
15.865 + }
15.866 + .span12,
15.867 + .row-fluid .span12 {
15.868 + width: 100%;
15.869 + -webkit-box-sizing: border-box;
15.870 + -moz-box-sizing: border-box;
15.871 + box-sizing: border-box;
15.872 + }
15.873 + .row-fluid [class*="offset"]:first-child {
15.874 + margin-left: 0;
15.875 + }
15.876 + .input-large,
15.877 + .input-xlarge,
15.878 + .input-xxlarge,
15.879 + input[class*="span"],
15.880 + select[class*="span"],
15.881 + textarea[class*="span"],
15.882 + .uneditable-input {
15.883 + display: block;
15.884 + width: 100%;
15.885 + min-height: 30px;
15.886 + -webkit-box-sizing: border-box;
15.887 + -moz-box-sizing: border-box;
15.888 + box-sizing: border-box;
15.889 + }
15.890 + .input-prepend input,
15.891 + .input-append input,
15.892 + .input-prepend input[class*="span"],
15.893 + .input-append input[class*="span"] {
15.894 + display: inline-block;
15.895 + width: auto;
15.896 + }
15.897 + .controls-row [class*="span"] + [class*="span"] {
15.898 + margin-left: 0;
15.899 + }
15.900 + .modal {
15.901 + position: fixed;
15.902 + top: 20px;
15.903 + right: 20px;
15.904 + left: 20px;
15.905 + width: auto;
15.906 + margin: 0;
15.907 + }
15.908 + .modal.fade {
15.909 + top: -100px;
15.910 + }
15.911 + .modal.fade.in {
15.912 + top: 20px;
15.913 + }
15.914 +}
15.915 +
15.916 +@media (max-width: 480px) {
15.917 + .nav-collapse {
15.918 + -webkit-transform: translate3d(0, 0, 0);
15.919 + }
15.920 + .page-header h1 small {
15.921 + display: block;
15.922 + line-height: 20px;
15.923 + }
15.924 + input[type="checkbox"],
15.925 + input[type="radio"] {
15.926 + border: 1px solid #ccc;
15.927 + }
15.928 + .form-horizontal .control-label {
15.929 + float: none;
15.930 + width: auto;
15.931 + padding-top: 0;
15.932 + text-align: left;
15.933 + }
15.934 + .form-horizontal .controls {
15.935 + margin-left: 0;
15.936 + }
15.937 + .form-horizontal .control-list {
15.938 + padding-top: 0;
15.939 + }
15.940 + .form-horizontal .form-actions {
15.941 + padding-right: 10px;
15.942 + padding-left: 10px;
15.943 + }
15.944 + .media .pull-left,
15.945 + .media .pull-right {
15.946 + display: block;
15.947 + float: none;
15.948 + margin-bottom: 10px;
15.949 + }
15.950 + .media-object {
15.951 + margin-right: 0;
15.952 + margin-left: 0;
15.953 + }
15.954 + .modal {
15.955 + top: 10px;
15.956 + right: 10px;
15.957 + left: 10px;
15.958 + }
15.959 + .modal-header .close {
15.960 + padding: 10px;
15.961 + margin: -10px;
15.962 + }
15.963 + .carousel-caption {
15.964 + position: static;
15.965 + }
15.966 +}
15.967 +
15.968 +@media (max-width: 979px) {
15.969 + body {
15.970 + padding-top: 0;
15.971 + }
15.972 + .navbar-fixed-top,
15.973 + .navbar-fixed-bottom {
15.974 + position: static;
15.975 + }
15.976 + .navbar-fixed-top {
15.977 + margin-bottom: 20px;
15.978 + }
15.979 + .navbar-fixed-bottom {
15.980 + margin-top: 20px;
15.981 + }
15.982 + .navbar-fixed-top .navbar-inner,
15.983 + .navbar-fixed-bottom .navbar-inner {
15.984 + padding: 5px;
15.985 + }
15.986 + .navbar .container {
15.987 + width: auto;
15.988 + padding: 0;
15.989 + }
15.990 + .navbar .brand {
15.991 + padding-right: 10px;
15.992 + padding-left: 10px;
15.993 + margin: 0 0 0 -5px;
15.994 + }
15.995 + .nav-collapse {
15.996 + clear: both;
15.997 + }
15.998 + .nav-collapse .nav {
15.999 + float: none;
15.1000 + margin: 0 0 10px;
15.1001 + }
15.1002 + .nav-collapse .nav > li {
15.1003 + float: none;
15.1004 + }
15.1005 + .nav-collapse .nav > li > a {
15.1006 + margin-bottom: 2px;
15.1007 + }
15.1008 + .nav-collapse .nav > .divider-vertical {
15.1009 + display: none;
15.1010 + }
15.1011 + .nav-collapse .nav .nav-header {
15.1012 + color: #777777;
15.1013 + text-shadow: none;
15.1014 + }
15.1015 + .nav-collapse .nav > li > a,
15.1016 + .nav-collapse .dropdown-menu a {
15.1017 + padding: 9px 15px;
15.1018 + font-weight: bold;
15.1019 + color: #777777;
15.1020 + -webkit-border-radius: 3px;
15.1021 + -moz-border-radius: 3px;
15.1022 + border-radius: 3px;
15.1023 + }
15.1024 + .nav-collapse .btn {
15.1025 + padding: 4px 10px 4px;
15.1026 + font-weight: normal;
15.1027 + -webkit-border-radius: 4px;
15.1028 + -moz-border-radius: 4px;
15.1029 + border-radius: 4px;
15.1030 + }
15.1031 + .nav-collapse .dropdown-menu li + li a {
15.1032 + margin-bottom: 2px;
15.1033 + }
15.1034 + .nav-collapse .nav > li > a:hover,
15.1035 + .nav-collapse .nav > li > a:focus,
15.1036 + .nav-collapse .dropdown-menu a:hover,
15.1037 + .nav-collapse .dropdown-menu a:focus {
15.1038 + background-color: #f2f2f2;
15.1039 + }
15.1040 + .navbar-inverse .nav-collapse .nav > li > a,
15.1041 + .navbar-inverse .nav-collapse .dropdown-menu a {
15.1042 + color: #999999;
15.1043 + }
15.1044 + .navbar-inverse .nav-collapse .nav > li > a:hover,
15.1045 + .navbar-inverse .nav-collapse .nav > li > a:focus,
15.1046 + .navbar-inverse .nav-collapse .dropdown-menu a:hover,
15.1047 + .navbar-inverse .nav-collapse .dropdown-menu a:focus {
15.1048 + background-color: #111111;
15.1049 + }
15.1050 + .nav-collapse.in .btn-group {
15.1051 + padding: 0;
15.1052 + margin-top: 5px;
15.1053 + }
15.1054 + .nav-collapse .dropdown-menu {
15.1055 + position: static;
15.1056 + top: auto;
15.1057 + left: auto;
15.1058 + display: none;
15.1059 + float: none;
15.1060 + max-width: none;
15.1061 + padding: 0;
15.1062 + margin: 0 15px;
15.1063 + background-color: transparent;
15.1064 + border: none;
15.1065 + -webkit-border-radius: 0;
15.1066 + -moz-border-radius: 0;
15.1067 + border-radius: 0;
15.1068 + -webkit-box-shadow: none;
15.1069 + -moz-box-shadow: none;
15.1070 + box-shadow: none;
15.1071 + }
15.1072 + .nav-collapse .open > .dropdown-menu {
15.1073 + display: block;
15.1074 + }
15.1075 + .nav-collapse .dropdown-menu:before,
15.1076 + .nav-collapse .dropdown-menu:after {
15.1077 + display: none;
15.1078 + }
15.1079 + .nav-collapse .dropdown-menu .divider {
15.1080 + display: none;
15.1081 + }
15.1082 + .nav-collapse .nav > li > .dropdown-menu:before,
15.1083 + .nav-collapse .nav > li > .dropdown-menu:after {
15.1084 + display: none;
15.1085 + }
15.1086 + .nav-collapse .navbar-form,
15.1087 + .nav-collapse .navbar-search {
15.1088 + float: none;
15.1089 + padding: 10px 15px;
15.1090 + margin: 10px 0;
15.1091 + border-top: 1px solid #f2f2f2;
15.1092 + border-bottom: 1px solid #f2f2f2;
15.1093 + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
15.1094 + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
15.1095 + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
15.1096 + }
15.1097 + .navbar-inverse .nav-collapse .navbar-form,
15.1098 + .navbar-inverse .nav-collapse .navbar-search {
15.1099 + border-top-color: #111111;
15.1100 + border-bottom-color: #111111;
15.1101 + }
15.1102 + .navbar .nav-collapse .nav.pull-right {
15.1103 + float: none;
15.1104 + margin-left: 0;
15.1105 + }
15.1106 + .nav-collapse,
15.1107 + .nav-collapse.collapse {
15.1108 + height: 0;
15.1109 + overflow: hidden;
15.1110 + }
15.1111 + .navbar .btn-navbar {
15.1112 + display: block;
15.1113 + }
15.1114 + .navbar-static .navbar-inner {
15.1115 + padding-right: 10px;
15.1116 + padding-left: 10px;
15.1117 + }
15.1118 +}
15.1119 +
15.1120 +@media (min-width: 980px) {
15.1121 + .nav-collapse.collapse {
15.1122 + height: auto !important;
15.1123 + overflow: visible !important;
15.1124 + }
15.1125 +}
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
16.2 +++ b/chess/src/main/webapp/pages/css/bootstrap.css Wed Sep 25 04:28:19 2013 +0200
16.3 @@ -0,0 +1,6181 @@
16.4 +/**
16.5 + * The MIT License (MIT)
16.6 + *
16.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
16.8 + *
16.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
16.10 + * of this software and associated documentation files (the "Software"), to deal
16.11 + * in the Software without restriction, including without limitation the rights
16.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16.13 + * copies of the Software, and to permit persons to whom the Software is
16.14 + * furnished to do so, subject to the following conditions:
16.15 + *
16.16 + * The above copyright notice and this permission notice shall be included in
16.17 + * all copies or substantial portions of the Software.
16.18 + *
16.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
16.25 + * THE SOFTWARE.
16.26 + */
16.27 +.clearfix {
16.28 + *zoom: 1;
16.29 +}
16.30 +
16.31 +.clearfix:before,
16.32 +.clearfix:after {
16.33 + display: table;
16.34 + line-height: 0;
16.35 + content: "";
16.36 +}
16.37 +
16.38 +.clearfix:after {
16.39 + clear: both;
16.40 +}
16.41 +
16.42 +.hide-text {
16.43 + font: 0/0 a;
16.44 + color: transparent;
16.45 + text-shadow: none;
16.46 + background-color: transparent;
16.47 + border: 0;
16.48 +}
16.49 +
16.50 +.input-block-level {
16.51 + display: block;
16.52 + width: 100%;
16.53 + min-height: 30px;
16.54 + -webkit-box-sizing: border-box;
16.55 + -moz-box-sizing: border-box;
16.56 + box-sizing: border-box;
16.57 +}
16.58 +
16.59 +article,
16.60 +aside,
16.61 +details,
16.62 +figcaption,
16.63 +figure,
16.64 +footer,
16.65 +header,
16.66 +hgroup,
16.67 +nav,
16.68 +section {
16.69 + display: block;
16.70 +}
16.71 +
16.72 +audio,
16.73 +canvas,
16.74 +video {
16.75 + display: inline-block;
16.76 + *display: inline;
16.77 + *zoom: 1;
16.78 +}
16.79 +
16.80 +audio:not([controls]) {
16.81 + display: none;
16.82 +}
16.83 +
16.84 +html {
16.85 + font-size: 100%;
16.86 + -webkit-text-size-adjust: 100%;
16.87 + -ms-text-size-adjust: 100%;
16.88 +}
16.89 +
16.90 +a:focus {
16.91 + outline: thin dotted #333;
16.92 + outline: 5px auto -webkit-focus-ring-color;
16.93 + outline-offset: -2px;
16.94 +}
16.95 +
16.96 +a:hover,
16.97 +a:active {
16.98 + outline: 0;
16.99 +}
16.100 +
16.101 +sub,
16.102 +sup {
16.103 + position: relative;
16.104 + font-size: 75%;
16.105 + line-height: 0;
16.106 + vertical-align: baseline;
16.107 +}
16.108 +
16.109 +sup {
16.110 + top: -0.5em;
16.111 +}
16.112 +
16.113 +sub {
16.114 + bottom: -0.25em;
16.115 +}
16.116 +
16.117 +img {
16.118 + width: auto\9;
16.119 + height: auto;
16.120 + max-width: 100%;
16.121 + vertical-align: middle;
16.122 + border: 0;
16.123 + -ms-interpolation-mode: bicubic;
16.124 +}
16.125 +
16.126 +#map_canvas img,
16.127 +.google-maps img {
16.128 + max-width: none;
16.129 +}
16.130 +
16.131 +button,
16.132 +input,
16.133 +select,
16.134 +textarea {
16.135 + margin: 0;
16.136 + font-size: 100%;
16.137 + vertical-align: middle;
16.138 +}
16.139 +
16.140 +button,
16.141 +input {
16.142 + *overflow: visible;
16.143 + line-height: normal;
16.144 +}
16.145 +
16.146 +button::-moz-focus-inner,
16.147 +input::-moz-focus-inner {
16.148 + padding: 0;
16.149 + border: 0;
16.150 +}
16.151 +
16.152 +button,
16.153 +html input[type="button"],
16.154 +input[type="reset"],
16.155 +input[type="submit"] {
16.156 + cursor: pointer;
16.157 + -webkit-appearance: button;
16.158 +}
16.159 +
16.160 +label,
16.161 +select,
16.162 +button,
16.163 +input[type="button"],
16.164 +input[type="reset"],
16.165 +input[type="submit"],
16.166 +input[type="radio"],
16.167 +input[type="checkbox"] {
16.168 + cursor: pointer;
16.169 +}
16.170 +
16.171 +input[type="search"] {
16.172 + -webkit-box-sizing: content-box;
16.173 + -moz-box-sizing: content-box;
16.174 + box-sizing: content-box;
16.175 + -webkit-appearance: textfield;
16.176 +}
16.177 +
16.178 +input[type="search"]::-webkit-search-decoration,
16.179 +input[type="search"]::-webkit-search-cancel-button {
16.180 + -webkit-appearance: none;
16.181 +}
16.182 +
16.183 +textarea {
16.184 + overflow: auto;
16.185 + vertical-align: top;
16.186 +}
16.187 +
16.188 +@media print {
16.189 + * {
16.190 + color: #000 !important;
16.191 + text-shadow: none !important;
16.192 + background: transparent !important;
16.193 + box-shadow: none !important;
16.194 + }
16.195 + a,
16.196 + a:visited {
16.197 + text-decoration: underline;
16.198 + }
16.199 + a[href]:after {
16.200 + content: " (" attr(href) ")";
16.201 + }
16.202 + abbr[title]:after {
16.203 + content: " (" attr(title) ")";
16.204 + }
16.205 + .ir a:after,
16.206 + a[href^="javascript:"]:after,
16.207 + a[href^="#"]:after {
16.208 + content: "";
16.209 + }
16.210 + pre,
16.211 + blockquote {
16.212 + border: 1px solid #999;
16.213 + page-break-inside: avoid;
16.214 + }
16.215 + thead {
16.216 + display: table-header-group;
16.217 + }
16.218 + tr,
16.219 + img {
16.220 + page-break-inside: avoid;
16.221 + }
16.222 + img {
16.223 + max-width: 100% !important;
16.224 + }
16.225 + @page {
16.226 + margin: 0.5cm;
16.227 + }
16.228 + p,
16.229 + h2,
16.230 + h3 {
16.231 + orphans: 3;
16.232 + widows: 3;
16.233 + }
16.234 + h2,
16.235 + h3 {
16.236 + page-break-after: avoid;
16.237 + }
16.238 +}
16.239 +
16.240 +body {
16.241 + margin: 0;
16.242 + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
16.243 + font-size: 14px;
16.244 + line-height: 20px;
16.245 + color: #333333;
16.246 + background-color: #ffffff;
16.247 +}
16.248 +
16.249 +a {
16.250 + color: #0088cc;
16.251 + text-decoration: none;
16.252 +}
16.253 +
16.254 +a:hover,
16.255 +a:focus {
16.256 + color: #005580;
16.257 + text-decoration: underline;
16.258 +}
16.259 +
16.260 +.img-rounded {
16.261 + -webkit-border-radius: 6px;
16.262 + -moz-border-radius: 6px;
16.263 + border-radius: 6px;
16.264 +}
16.265 +
16.266 +.img-polaroid {
16.267 + padding: 4px;
16.268 + background-color: #fff;
16.269 + border: 1px solid #ccc;
16.270 + border: 1px solid rgba(0, 0, 0, 0.2);
16.271 + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
16.272 + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
16.273 + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
16.274 +}
16.275 +
16.276 +.img-circle {
16.277 + -webkit-border-radius: 500px;
16.278 + -moz-border-radius: 500px;
16.279 + border-radius: 500px;
16.280 +}
16.281 +
16.282 +.row {
16.283 + margin-left: -20px;
16.284 + *zoom: 1;
16.285 +}
16.286 +
16.287 +.row:before,
16.288 +.row:after {
16.289 + display: table;
16.290 + line-height: 0;
16.291 + content: "";
16.292 +}
16.293 +
16.294 +.row:after {
16.295 + clear: both;
16.296 +}
16.297 +
16.298 +[class*="span"] {
16.299 + float: left;
16.300 + min-height: 1px;
16.301 + margin-left: 20px;
16.302 +}
16.303 +
16.304 +.container,
16.305 +.navbar-static-top .container,
16.306 +.navbar-fixed-top .container,
16.307 +.navbar-fixed-bottom .container {
16.308 + width: 940px;
16.309 +}
16.310 +
16.311 +.span12 {
16.312 + width: 940px;
16.313 +}
16.314 +
16.315 +.span11 {
16.316 + width: 860px;
16.317 +}
16.318 +
16.319 +.span10 {
16.320 + width: 780px;
16.321 +}
16.322 +
16.323 +.span9 {
16.324 + width: 700px;
16.325 +}
16.326 +
16.327 +.span8 {
16.328 + width: 620px;
16.329 +}
16.330 +
16.331 +.span7 {
16.332 + width: 540px;
16.333 +}
16.334 +
16.335 +.span6 {
16.336 + width: 460px;
16.337 +}
16.338 +
16.339 +.span5 {
16.340 + width: 380px;
16.341 +}
16.342 +
16.343 +.span4 {
16.344 + width: 300px;
16.345 +}
16.346 +
16.347 +.span3 {
16.348 + width: 220px;
16.349 +}
16.350 +
16.351 +.span2 {
16.352 + width: 140px;
16.353 +}
16.354 +
16.355 +.span1 {
16.356 + width: 60px;
16.357 +}
16.358 +
16.359 +.offset12 {
16.360 + margin-left: 980px;
16.361 +}
16.362 +
16.363 +.offset11 {
16.364 + margin-left: 900px;
16.365 +}
16.366 +
16.367 +.offset10 {
16.368 + margin-left: 820px;
16.369 +}
16.370 +
16.371 +.offset9 {
16.372 + margin-left: 740px;
16.373 +}
16.374 +
16.375 +.offset8 {
16.376 + margin-left: 660px;
16.377 +}
16.378 +
16.379 +.offset7 {
16.380 + margin-left: 580px;
16.381 +}
16.382 +
16.383 +.offset6 {
16.384 + margin-left: 500px;
16.385 +}
16.386 +
16.387 +.offset5 {
16.388 + margin-left: 420px;
16.389 +}
16.390 +
16.391 +.offset4 {
16.392 + margin-left: 340px;
16.393 +}
16.394 +
16.395 +.offset3 {
16.396 + margin-left: 260px;
16.397 +}
16.398 +
16.399 +.offset2 {
16.400 + margin-left: 180px;
16.401 +}
16.402 +
16.403 +.offset1 {
16.404 + margin-left: 100px;
16.405 +}
16.406 +
16.407 +.row-fluid {
16.408 + width: 100%;
16.409 + *zoom: 1;
16.410 +}
16.411 +
16.412 +.row-fluid:before,
16.413 +.row-fluid:after {
16.414 + display: table;
16.415 + line-height: 0;
16.416 + content: "";
16.417 +}
16.418 +
16.419 +.row-fluid:after {
16.420 + clear: both;
16.421 +}
16.422 +
16.423 +.row-fluid [class*="span"] {
16.424 + display: block;
16.425 + float: left;
16.426 + width: 100%;
16.427 + min-height: 30px;
16.428 + margin-left: 2.127659574468085%;
16.429 + *margin-left: 2.074468085106383%;
16.430 + -webkit-box-sizing: border-box;
16.431 + -moz-box-sizing: border-box;
16.432 + box-sizing: border-box;
16.433 +}
16.434 +
16.435 +.row-fluid [class*="span"]:first-child {
16.436 + margin-left: 0;
16.437 +}
16.438 +
16.439 +.row-fluid .controls-row [class*="span"] + [class*="span"] {
16.440 + margin-left: 2.127659574468085%;
16.441 +}
16.442 +
16.443 +.row-fluid .span12 {
16.444 + width: 100%;
16.445 + *width: 99.94680851063829%;
16.446 +}
16.447 +
16.448 +.row-fluid .span11 {
16.449 + width: 91.48936170212765%;
16.450 + *width: 91.43617021276594%;
16.451 +}
16.452 +
16.453 +.row-fluid .span10 {
16.454 + width: 82.97872340425532%;
16.455 + *width: 82.92553191489361%;
16.456 +}
16.457 +
16.458 +.row-fluid .span9 {
16.459 + width: 74.46808510638297%;
16.460 + *width: 74.41489361702126%;
16.461 +}
16.462 +
16.463 +.row-fluid .span8 {
16.464 + width: 65.95744680851064%;
16.465 + *width: 65.90425531914893%;
16.466 +}
16.467 +
16.468 +.row-fluid .span7 {
16.469 + width: 57.44680851063829%;
16.470 + *width: 57.39361702127659%;
16.471 +}
16.472 +
16.473 +.row-fluid .span6 {
16.474 + width: 48.93617021276595%;
16.475 + *width: 48.88297872340425%;
16.476 +}
16.477 +
16.478 +.row-fluid .span5 {
16.479 + width: 40.42553191489362%;
16.480 + *width: 40.37234042553192%;
16.481 +}
16.482 +
16.483 +.row-fluid .span4 {
16.484 + width: 31.914893617021278%;
16.485 + *width: 31.861702127659576%;
16.486 +}
16.487 +
16.488 +.row-fluid .span3 {
16.489 + width: 23.404255319148934%;
16.490 + *width: 23.351063829787233%;
16.491 +}
16.492 +
16.493 +.row-fluid .span2 {
16.494 + width: 14.893617021276595%;
16.495 + *width: 14.840425531914894%;
16.496 +}
16.497 +
16.498 +.row-fluid .span1 {
16.499 + width: 6.382978723404255%;
16.500 + *width: 6.329787234042553%;
16.501 +}
16.502 +
16.503 +.row-fluid .offset12 {
16.504 + margin-left: 104.25531914893617%;
16.505 + *margin-left: 104.14893617021275%;
16.506 +}
16.507 +
16.508 +.row-fluid .offset12:first-child {
16.509 + margin-left: 102.12765957446808%;
16.510 + *margin-left: 102.02127659574467%;
16.511 +}
16.512 +
16.513 +.row-fluid .offset11 {
16.514 + margin-left: 95.74468085106382%;
16.515 + *margin-left: 95.6382978723404%;
16.516 +}
16.517 +
16.518 +.row-fluid .offset11:first-child {
16.519 + margin-left: 93.61702127659574%;
16.520 + *margin-left: 93.51063829787232%;
16.521 +}
16.522 +
16.523 +.row-fluid .offset10 {
16.524 + margin-left: 87.23404255319149%;
16.525 + *margin-left: 87.12765957446807%;
16.526 +}
16.527 +
16.528 +.row-fluid .offset10:first-child {
16.529 + margin-left: 85.1063829787234%;
16.530 + *margin-left: 84.99999999999999%;
16.531 +}
16.532 +
16.533 +.row-fluid .offset9 {
16.534 + margin-left: 78.72340425531914%;
16.535 + *margin-left: 78.61702127659572%;
16.536 +}
16.537 +
16.538 +.row-fluid .offset9:first-child {
16.539 + margin-left: 76.59574468085106%;
16.540 + *margin-left: 76.48936170212764%;
16.541 +}
16.542 +
16.543 +.row-fluid .offset8 {
16.544 + margin-left: 70.2127659574468%;
16.545 + *margin-left: 70.10638297872339%;
16.546 +}
16.547 +
16.548 +.row-fluid .offset8:first-child {
16.549 + margin-left: 68.08510638297872%;
16.550 + *margin-left: 67.9787234042553%;
16.551 +}
16.552 +
16.553 +.row-fluid .offset7 {
16.554 + margin-left: 61.70212765957446%;
16.555 + *margin-left: 61.59574468085106%;
16.556 +}
16.557 +
16.558 +.row-fluid .offset7:first-child {
16.559 + margin-left: 59.574468085106375%;
16.560 + *margin-left: 59.46808510638297%;
16.561 +}
16.562 +
16.563 +.row-fluid .offset6 {
16.564 + margin-left: 53.191489361702125%;
16.565 + *margin-left: 53.085106382978715%;
16.566 +}
16.567 +
16.568 +.row-fluid .offset6:first-child {
16.569 + margin-left: 51.063829787234035%;
16.570 + *margin-left: 50.95744680851063%;
16.571 +}
16.572 +
16.573 +.row-fluid .offset5 {
16.574 + margin-left: 44.68085106382979%;
16.575 + *margin-left: 44.57446808510638%;
16.576 +}
16.577 +
16.578 +.row-fluid .offset5:first-child {
16.579 + margin-left: 42.5531914893617%;
16.580 + *margin-left: 42.4468085106383%;
16.581 +}
16.582 +
16.583 +.row-fluid .offset4 {
16.584 + margin-left: 36.170212765957444%;
16.585 + *margin-left: 36.06382978723405%;
16.586 +}
16.587 +
16.588 +.row-fluid .offset4:first-child {
16.589 + margin-left: 34.04255319148936%;
16.590 + *margin-left: 33.93617021276596%;
16.591 +}
16.592 +
16.593 +.row-fluid .offset3 {
16.594 + margin-left: 27.659574468085104%;
16.595 + *margin-left: 27.5531914893617%;
16.596 +}
16.597 +
16.598 +.row-fluid .offset3:first-child {
16.599 + margin-left: 25.53191489361702%;
16.600 + *margin-left: 25.425531914893618%;
16.601 +}
16.602 +
16.603 +.row-fluid .offset2 {
16.604 + margin-left: 19.148936170212764%;
16.605 + *margin-left: 19.04255319148936%;
16.606 +}
16.607 +
16.608 +.row-fluid .offset2:first-child {
16.609 + margin-left: 17.02127659574468%;
16.610 + *margin-left: 16.914893617021278%;
16.611 +}
16.612 +
16.613 +.row-fluid .offset1 {
16.614 + margin-left: 10.638297872340425%;
16.615 + *margin-left: 10.53191489361702%;
16.616 +}
16.617 +
16.618 +.row-fluid .offset1:first-child {
16.619 + margin-left: 8.51063829787234%;
16.620 + *margin-left: 8.404255319148938%;
16.621 +}
16.622 +
16.623 +[class*="span"].hide,
16.624 +.row-fluid [class*="span"].hide {
16.625 + display: none;
16.626 +}
16.627 +
16.628 +[class*="span"].pull-right,
16.629 +.row-fluid [class*="span"].pull-right {
16.630 + float: right;
16.631 +}
16.632 +
16.633 +.container {
16.634 + margin-right: auto;
16.635 + margin-left: auto;
16.636 + *zoom: 1;
16.637 +}
16.638 +
16.639 +.container:before,
16.640 +.container:after {
16.641 + display: table;
16.642 + line-height: 0;
16.643 + content: "";
16.644 +}
16.645 +
16.646 +.container:after {
16.647 + clear: both;
16.648 +}
16.649 +
16.650 +.container-fluid {
16.651 + padding-right: 20px;
16.652 + padding-left: 20px;
16.653 + *zoom: 1;
16.654 +}
16.655 +
16.656 +.container-fluid:before,
16.657 +.container-fluid:after {
16.658 + display: table;
16.659 + line-height: 0;
16.660 + content: "";
16.661 +}
16.662 +
16.663 +.container-fluid:after {
16.664 + clear: both;
16.665 +}
16.666 +
16.667 +p {
16.668 + margin: 0 0 10px;
16.669 +}
16.670 +
16.671 +.lead {
16.672 + margin-bottom: 20px;
16.673 + font-size: 21px;
16.674 + font-weight: 200;
16.675 + line-height: 30px;
16.676 +}
16.677 +
16.678 +small {
16.679 + font-size: 85%;
16.680 +}
16.681 +
16.682 +strong {
16.683 + font-weight: bold;
16.684 +}
16.685 +
16.686 +em {
16.687 + font-style: italic;
16.688 +}
16.689 +
16.690 +cite {
16.691 + font-style: normal;
16.692 +}
16.693 +
16.694 +.muted {
16.695 + color: #999999;
16.696 +}
16.697 +
16.698 +a.muted:hover,
16.699 +a.muted:focus {
16.700 + color: #808080;
16.701 +}
16.702 +
16.703 +.text-warning {
16.704 + color: #c09853;
16.705 +}
16.706 +
16.707 +a.text-warning:hover,
16.708 +a.text-warning:focus {
16.709 + color: #a47e3c;
16.710 +}
16.711 +
16.712 +.text-error {
16.713 + color: #b94a48;
16.714 +}
16.715 +
16.716 +a.text-error:hover,
16.717 +a.text-error:focus {
16.718 + color: #953b39;
16.719 +}
16.720 +
16.721 +.text-info {
16.722 + color: #3a87ad;
16.723 +}
16.724 +
16.725 +a.text-info:hover,
16.726 +a.text-info:focus {
16.727 + color: #2d6987;
16.728 +}
16.729 +
16.730 +.text-success {
16.731 + color: #468847;
16.732 +}
16.733 +
16.734 +a.text-success:hover,
16.735 +a.text-success:focus {
16.736 + color: #356635;
16.737 +}
16.738 +
16.739 +.text-left {
16.740 + text-align: left;
16.741 +}
16.742 +
16.743 +.text-right {
16.744 + text-align: right;
16.745 +}
16.746 +
16.747 +.text-center {
16.748 + text-align: center;
16.749 +}
16.750 +
16.751 +h1,
16.752 +h2,
16.753 +h3,
16.754 +h4,
16.755 +h5,
16.756 +h6 {
16.757 + margin: 10px 0;
16.758 + font-family: inherit;
16.759 + font-weight: bold;
16.760 + line-height: 20px;
16.761 + color: inherit;
16.762 + text-rendering: optimizelegibility;
16.763 +}
16.764 +
16.765 +h1 small,
16.766 +h2 small,
16.767 +h3 small,
16.768 +h4 small,
16.769 +h5 small,
16.770 +h6 small {
16.771 + font-weight: normal;
16.772 + line-height: 1;
16.773 + color: #999999;
16.774 +}
16.775 +
16.776 +h1,
16.777 +h2,
16.778 +h3 {
16.779 + line-height: 40px;
16.780 +}
16.781 +
16.782 +h1 {
16.783 + font-size: 38.5px;
16.784 +}
16.785 +
16.786 +h2 {
16.787 + font-size: 31.5px;
16.788 +}
16.789 +
16.790 +h3 {
16.791 + font-size: 24.5px;
16.792 +}
16.793 +
16.794 +h4 {
16.795 + font-size: 17.5px;
16.796 +}
16.797 +
16.798 +h5 {
16.799 + font-size: 14px;
16.800 +}
16.801 +
16.802 +h6 {
16.803 + font-size: 11.9px;
16.804 +}
16.805 +
16.806 +h1 small {
16.807 + font-size: 24.5px;
16.808 +}
16.809 +
16.810 +h2 small {
16.811 + font-size: 17.5px;
16.812 +}
16.813 +
16.814 +h3 small {
16.815 + font-size: 14px;
16.816 +}
16.817 +
16.818 +h4 small {
16.819 + font-size: 14px;
16.820 +}
16.821 +
16.822 +.page-header {
16.823 + padding-bottom: 9px;
16.824 + margin: 20px 0 30px;
16.825 + border-bottom: 1px solid #eeeeee;
16.826 +}
16.827 +
16.828 +ul,
16.829 +ol {
16.830 + padding: 0;
16.831 + margin: 0 0 10px 25px;
16.832 +}
16.833 +
16.834 +ul ul,
16.835 +ul ol,
16.836 +ol ol,
16.837 +ol ul {
16.838 + margin-bottom: 0;
16.839 +}
16.840 +
16.841 +li {
16.842 + line-height: 20px;
16.843 +}
16.844 +
16.845 +ul.unstyled,
16.846 +ol.unstyled {
16.847 + margin-left: 0;
16.848 + list-style: none;
16.849 +}
16.850 +
16.851 +ul.inline,
16.852 +ol.inline {
16.853 + margin-left: 0;
16.854 + list-style: none;
16.855 +}
16.856 +
16.857 +ul.inline > li,
16.858 +ol.inline > li {
16.859 + display: inline-block;
16.860 + *display: inline;
16.861 + padding-right: 5px;
16.862 + padding-left: 5px;
16.863 + *zoom: 1;
16.864 +}
16.865 +
16.866 +dl {
16.867 + margin-bottom: 20px;
16.868 +}
16.869 +
16.870 +dt,
16.871 +dd {
16.872 + line-height: 20px;
16.873 +}
16.874 +
16.875 +dt {
16.876 + font-weight: bold;
16.877 +}
16.878 +
16.879 +dd {
16.880 + margin-left: 10px;
16.881 +}
16.882 +
16.883 +.dl-horizontal {
16.884 + *zoom: 1;
16.885 +}
16.886 +
16.887 +.dl-horizontal:before,
16.888 +.dl-horizontal:after {
16.889 + display: table;
16.890 + line-height: 0;
16.891 + content: "";
16.892 +}
16.893 +
16.894 +.dl-horizontal:after {
16.895 + clear: both;
16.896 +}
16.897 +
16.898 +.dl-horizontal dt {
16.899 + float: left;
16.900 + width: 160px;
16.901 + overflow: hidden;
16.902 + clear: left;
16.903 + text-align: right;
16.904 + text-overflow: ellipsis;
16.905 + white-space: nowrap;
16.906 +}
16.907 +
16.908 +.dl-horizontal dd {
16.909 + margin-left: 180px;
16.910 +}
16.911 +
16.912 +hr {
16.913 + margin: 20px 0;
16.914 + border: 0;
16.915 + border-top: 1px solid #eeeeee;
16.916 + border-bottom: 1px solid #ffffff;
16.917 +}
16.918 +
16.919 +abbr[title],
16.920 +abbr[data-original-title] {
16.921 + cursor: help;
16.922 + border-bottom: 1px dotted #999999;
16.923 +}
16.924 +
16.925 +abbr.initialism {
16.926 + font-size: 90%;
16.927 + text-transform: uppercase;
16.928 +}
16.929 +
16.930 +blockquote {
16.931 + padding: 0 0 0 15px;
16.932 + margin: 0 0 20px;
16.933 + border-left: 5px solid #eeeeee;
16.934 +}
16.935 +
16.936 +blockquote p {
16.937 + margin-bottom: 0;
16.938 + font-size: 17.5px;
16.939 + font-weight: 300;
16.940 + line-height: 1.25;
16.941 +}
16.942 +
16.943 +blockquote small {
16.944 + display: block;
16.945 + line-height: 20px;
16.946 + color: #999999;
16.947 +}
16.948 +
16.949 +blockquote small:before {
16.950 + content: '\2014 \00A0';
16.951 +}
16.952 +
16.953 +blockquote.pull-right {
16.954 + float: right;
16.955 + padding-right: 15px;
16.956 + padding-left: 0;
16.957 + border-right: 5px solid #eeeeee;
16.958 + border-left: 0;
16.959 +}
16.960 +
16.961 +blockquote.pull-right p,
16.962 +blockquote.pull-right small {
16.963 + text-align: right;
16.964 +}
16.965 +
16.966 +blockquote.pull-right small:before {
16.967 + content: '';
16.968 +}
16.969 +
16.970 +blockquote.pull-right small:after {
16.971 + content: '\00A0 \2014';
16.972 +}
16.973 +
16.974 +q:before,
16.975 +q:after,
16.976 +blockquote:before,
16.977 +blockquote:after {
16.978 + content: "";
16.979 +}
16.980 +
16.981 +address {
16.982 + display: block;
16.983 + margin-bottom: 20px;
16.984 + font-style: normal;
16.985 + line-height: 20px;
16.986 +}
16.987 +
16.988 +code,
16.989 +pre {
16.990 + padding: 0 3px 2px;
16.991 + font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
16.992 + font-size: 12px;
16.993 + color: #333333;
16.994 + -webkit-border-radius: 3px;
16.995 + -moz-border-radius: 3px;
16.996 + border-radius: 3px;
16.997 +}
16.998 +
16.999 +code {
16.1000 + padding: 2px 4px;
16.1001 + color: #d14;
16.1002 + white-space: nowrap;
16.1003 + background-color: #f7f7f9;
16.1004 + border: 1px solid #e1e1e8;
16.1005 +}
16.1006 +
16.1007 +pre {
16.1008 + display: block;
16.1009 + padding: 9.5px;
16.1010 + margin: 0 0 10px;
16.1011 + font-size: 13px;
16.1012 + line-height: 20px;
16.1013 + word-break: break-all;
16.1014 + word-wrap: break-word;
16.1015 + white-space: pre;
16.1016 + white-space: pre-wrap;
16.1017 + background-color: #f5f5f5;
16.1018 + border: 1px solid #ccc;
16.1019 + border: 1px solid rgba(0, 0, 0, 0.15);
16.1020 + -webkit-border-radius: 4px;
16.1021 + -moz-border-radius: 4px;
16.1022 + border-radius: 4px;
16.1023 +}
16.1024 +
16.1025 +pre.prettyprint {
16.1026 + margin-bottom: 20px;
16.1027 +}
16.1028 +
16.1029 +pre code {
16.1030 + padding: 0;
16.1031 + color: inherit;
16.1032 + white-space: pre;
16.1033 + white-space: pre-wrap;
16.1034 + background-color: transparent;
16.1035 + border: 0;
16.1036 +}
16.1037 +
16.1038 +.pre-scrollable {
16.1039 + max-height: 340px;
16.1040 + overflow-y: scroll;
16.1041 +}
16.1042 +
16.1043 +form {
16.1044 + margin: 0 0 20px;
16.1045 +}
16.1046 +
16.1047 +fieldset {
16.1048 + padding: 0;
16.1049 + margin: 0;
16.1050 + border: 0;
16.1051 +}
16.1052 +
16.1053 +legend {
16.1054 + display: block;
16.1055 + width: 100%;
16.1056 + padding: 0;
16.1057 + margin-bottom: 20px;
16.1058 + font-size: 21px;
16.1059 + line-height: 40px;
16.1060 + color: #333333;
16.1061 + border: 0;
16.1062 + border-bottom: 1px solid #e5e5e5;
16.1063 +}
16.1064 +
16.1065 +legend small {
16.1066 + font-size: 15px;
16.1067 + color: #999999;
16.1068 +}
16.1069 +
16.1070 +label,
16.1071 +input,
16.1072 +button,
16.1073 +select,
16.1074 +textarea {
16.1075 + font-size: 14px;
16.1076 + font-weight: normal;
16.1077 + line-height: 20px;
16.1078 +}
16.1079 +
16.1080 +input,
16.1081 +button,
16.1082 +select,
16.1083 +textarea {
16.1084 + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
16.1085 +}
16.1086 +
16.1087 +label {
16.1088 + display: block;
16.1089 + margin-bottom: 5px;
16.1090 +}
16.1091 +
16.1092 +select,
16.1093 +textarea,
16.1094 +input[type="text"],
16.1095 +input[type="password"],
16.1096 +input[type="datetime"],
16.1097 +input[type="datetime-local"],
16.1098 +input[type="date"],
16.1099 +input[type="month"],
16.1100 +input[type="time"],
16.1101 +input[type="week"],
16.1102 +input[type="number"],
16.1103 +input[type="email"],
16.1104 +input[type="url"],
16.1105 +input[type="search"],
16.1106 +input[type="tel"],
16.1107 +input[type="color"],
16.1108 +.uneditable-input {
16.1109 + display: inline-block;
16.1110 + height: 20px;
16.1111 + padding: 4px 6px;
16.1112 + margin-bottom: 10px;
16.1113 + font-size: 14px;
16.1114 + line-height: 20px;
16.1115 + color: #555555;
16.1116 + vertical-align: middle;
16.1117 + -webkit-border-radius: 4px;
16.1118 + -moz-border-radius: 4px;
16.1119 + border-radius: 4px;
16.1120 +}
16.1121 +
16.1122 +input,
16.1123 +textarea,
16.1124 +.uneditable-input {
16.1125 + width: 300px;
16.1126 +}
16.1127 +
16.1128 +textarea {
16.1129 + height: auto;
16.1130 +}
16.1131 +
16.1132 +textarea,
16.1133 +input[type="text"],
16.1134 +input[type="password"],
16.1135 +input[type="datetime"],
16.1136 +input[type="datetime-local"],
16.1137 +input[type="date"],
16.1138 +input[type="month"],
16.1139 +input[type="time"],
16.1140 +input[type="week"],
16.1141 +input[type="number"],
16.1142 +input[type="email"],
16.1143 +input[type="url"],
16.1144 +input[type="search"],
16.1145 +input[type="tel"],
16.1146 +input[type="color"],
16.1147 +.uneditable-input {
16.1148 + background-color: #ffffff;
16.1149 + border: 1px solid #cccccc;
16.1150 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1151 + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1152 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1153 + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
16.1154 + -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
16.1155 + -o-transition: border linear 0.2s, box-shadow linear 0.2s;
16.1156 + transition: border linear 0.2s, box-shadow linear 0.2s;
16.1157 +}
16.1158 +
16.1159 +textarea:focus,
16.1160 +input[type="text"]:focus,
16.1161 +input[type="password"]:focus,
16.1162 +input[type="datetime"]:focus,
16.1163 +input[type="datetime-local"]:focus,
16.1164 +input[type="date"]:focus,
16.1165 +input[type="month"]:focus,
16.1166 +input[type="time"]:focus,
16.1167 +input[type="week"]:focus,
16.1168 +input[type="number"]:focus,
16.1169 +input[type="email"]:focus,
16.1170 +input[type="url"]:focus,
16.1171 +input[type="search"]:focus,
16.1172 +input[type="tel"]:focus,
16.1173 +input[type="color"]:focus,
16.1174 +.uneditable-input:focus {
16.1175 + border-color: rgba(82, 168, 236, 0.8);
16.1176 + outline: 0;
16.1177 + outline: thin dotted \9;
16.1178 + /* IE6-9 */
16.1179 +
16.1180 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
16.1181 + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
16.1182 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
16.1183 +}
16.1184 +
16.1185 +input[type="radio"],
16.1186 +input[type="checkbox"] {
16.1187 + margin: 4px 0 0;
16.1188 + margin-top: 1px \9;
16.1189 + *margin-top: 0;
16.1190 + line-height: normal;
16.1191 +}
16.1192 +
16.1193 +input[type="file"],
16.1194 +input[type="image"],
16.1195 +input[type="submit"],
16.1196 +input[type="reset"],
16.1197 +input[type="button"],
16.1198 +input[type="radio"],
16.1199 +input[type="checkbox"] {
16.1200 + width: auto;
16.1201 +}
16.1202 +
16.1203 +select,
16.1204 +input[type="file"] {
16.1205 + height: 30px;
16.1206 + /* In IE7, the height of the select element cannot be changed by height, only font-size */
16.1207 +
16.1208 + *margin-top: 4px;
16.1209 + /* For IE7, add top margin to align select with labels */
16.1210 +
16.1211 + vertical-align: middle;
16.1212 +}
16.1213 +
16.1214 +select {
16.1215 + width: 220px;
16.1216 + background-color: #ffffff;
16.1217 + border: 1px solid #cccccc;
16.1218 +}
16.1219 +
16.1220 +select[multiple],
16.1221 +select[size] {
16.1222 + height: auto;
16.1223 +}
16.1224 +
16.1225 +select:focus,
16.1226 +input[type="file"]:focus,
16.1227 +input[type="radio"]:focus,
16.1228 +input[type="checkbox"]:focus {
16.1229 + outline: thin dotted #333;
16.1230 + outline: 5px auto -webkit-focus-ring-color;
16.1231 + outline-offset: -2px;
16.1232 +}
16.1233 +
16.1234 +.uneditable-input,
16.1235 +.uneditable-textarea {
16.1236 + color: #999999;
16.1237 + cursor: not-allowed;
16.1238 + background-color: #fcfcfc;
16.1239 + border-color: #cccccc;
16.1240 + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
16.1241 + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
16.1242 + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
16.1243 +}
16.1244 +
16.1245 +.uneditable-input {
16.1246 + overflow: hidden;
16.1247 + white-space: nowrap;
16.1248 +}
16.1249 +
16.1250 +.uneditable-textarea {
16.1251 + width: auto;
16.1252 + height: auto;
16.1253 +}
16.1254 +
16.1255 +input:-moz-placeholder,
16.1256 +textarea:-moz-placeholder {
16.1257 + color: #999999;
16.1258 +}
16.1259 +
16.1260 +input:-ms-input-placeholder,
16.1261 +textarea:-ms-input-placeholder {
16.1262 + color: #999999;
16.1263 +}
16.1264 +
16.1265 +input::-webkit-input-placeholder,
16.1266 +textarea::-webkit-input-placeholder {
16.1267 + color: #999999;
16.1268 +}
16.1269 +
16.1270 +.radio,
16.1271 +.checkbox {
16.1272 + min-height: 20px;
16.1273 + padding-left: 20px;
16.1274 +}
16.1275 +
16.1276 +.radio input[type="radio"],
16.1277 +.checkbox input[type="checkbox"] {
16.1278 + float: left;
16.1279 + margin-left: -20px;
16.1280 +}
16.1281 +
16.1282 +.controls > .radio:first-child,
16.1283 +.controls > .checkbox:first-child {
16.1284 + padding-top: 5px;
16.1285 +}
16.1286 +
16.1287 +.radio.inline,
16.1288 +.checkbox.inline {
16.1289 + display: inline-block;
16.1290 + padding-top: 5px;
16.1291 + margin-bottom: 0;
16.1292 + vertical-align: middle;
16.1293 +}
16.1294 +
16.1295 +.radio.inline + .radio.inline,
16.1296 +.checkbox.inline + .checkbox.inline {
16.1297 + margin-left: 10px;
16.1298 +}
16.1299 +
16.1300 +.input-mini {
16.1301 + width: 60px;
16.1302 +}
16.1303 +
16.1304 +.input-small {
16.1305 + width: 90px;
16.1306 +}
16.1307 +
16.1308 +.input-medium {
16.1309 + width: 150px;
16.1310 +}
16.1311 +
16.1312 +.input-large {
16.1313 + width: 210px;
16.1314 +}
16.1315 +
16.1316 +.input-xlarge {
16.1317 + width: 270px;
16.1318 +}
16.1319 +
16.1320 +.input-xxlarge {
16.1321 + width: 530px;
16.1322 +}
16.1323 +
16.1324 +input[class*="span"],
16.1325 +select[class*="span"],
16.1326 +textarea[class*="span"],
16.1327 +.uneditable-input[class*="span"],
16.1328 +.row-fluid input[class*="span"],
16.1329 +.row-fluid select[class*="span"],
16.1330 +.row-fluid textarea[class*="span"],
16.1331 +.row-fluid .uneditable-input[class*="span"] {
16.1332 + float: none;
16.1333 + margin-left: 0;
16.1334 +}
16.1335 +
16.1336 +.input-append input[class*="span"],
16.1337 +.input-append .uneditable-input[class*="span"],
16.1338 +.input-prepend input[class*="span"],
16.1339 +.input-prepend .uneditable-input[class*="span"],
16.1340 +.row-fluid input[class*="span"],
16.1341 +.row-fluid select[class*="span"],
16.1342 +.row-fluid textarea[class*="span"],
16.1343 +.row-fluid .uneditable-input[class*="span"],
16.1344 +.row-fluid .input-prepend [class*="span"],
16.1345 +.row-fluid .input-append [class*="span"] {
16.1346 + display: inline-block;
16.1347 +}
16.1348 +
16.1349 +input,
16.1350 +textarea,
16.1351 +.uneditable-input {
16.1352 + margin-left: 0;
16.1353 +}
16.1354 +
16.1355 +.controls-row [class*="span"] + [class*="span"] {
16.1356 + margin-left: 20px;
16.1357 +}
16.1358 +
16.1359 +input.span12,
16.1360 +textarea.span12,
16.1361 +.uneditable-input.span12 {
16.1362 + width: 926px;
16.1363 +}
16.1364 +
16.1365 +input.span11,
16.1366 +textarea.span11,
16.1367 +.uneditable-input.span11 {
16.1368 + width: 846px;
16.1369 +}
16.1370 +
16.1371 +input.span10,
16.1372 +textarea.span10,
16.1373 +.uneditable-input.span10 {
16.1374 + width: 766px;
16.1375 +}
16.1376 +
16.1377 +input.span9,
16.1378 +textarea.span9,
16.1379 +.uneditable-input.span9 {
16.1380 + width: 686px;
16.1381 +}
16.1382 +
16.1383 +input.span8,
16.1384 +textarea.span8,
16.1385 +.uneditable-input.span8 {
16.1386 + width: 606px;
16.1387 +}
16.1388 +
16.1389 +input.span7,
16.1390 +textarea.span7,
16.1391 +.uneditable-input.span7 {
16.1392 + width: 526px;
16.1393 +}
16.1394 +
16.1395 +input.span6,
16.1396 +textarea.span6,
16.1397 +.uneditable-input.span6 {
16.1398 + width: 446px;
16.1399 +}
16.1400 +
16.1401 +input.span5,
16.1402 +textarea.span5,
16.1403 +.uneditable-input.span5 {
16.1404 + width: 366px;
16.1405 +}
16.1406 +
16.1407 +input.span4,
16.1408 +textarea.span4,
16.1409 +.uneditable-input.span4 {
16.1410 + width: 286px;
16.1411 +}
16.1412 +
16.1413 +input.span3,
16.1414 +textarea.span3,
16.1415 +.uneditable-input.span3 {
16.1416 + width: 206px;
16.1417 +}
16.1418 +
16.1419 +input.span2,
16.1420 +textarea.span2,
16.1421 +.uneditable-input.span2 {
16.1422 + width: 126px;
16.1423 +}
16.1424 +
16.1425 +input.span1,
16.1426 +textarea.span1,
16.1427 +.uneditable-input.span1 {
16.1428 + width: 46px;
16.1429 +}
16.1430 +
16.1431 +.controls-row {
16.1432 + *zoom: 1;
16.1433 +}
16.1434 +
16.1435 +.controls-row:before,
16.1436 +.controls-row:after {
16.1437 + display: table;
16.1438 + line-height: 0;
16.1439 + content: "";
16.1440 +}
16.1441 +
16.1442 +.controls-row:after {
16.1443 + clear: both;
16.1444 +}
16.1445 +
16.1446 +.controls-row [class*="span"],
16.1447 +.row-fluid .controls-row [class*="span"] {
16.1448 + float: left;
16.1449 +}
16.1450 +
16.1451 +.controls-row .checkbox[class*="span"],
16.1452 +.controls-row .radio[class*="span"] {
16.1453 + padding-top: 5px;
16.1454 +}
16.1455 +
16.1456 +input[disabled],
16.1457 +select[disabled],
16.1458 +textarea[disabled],
16.1459 +input[readonly],
16.1460 +select[readonly],
16.1461 +textarea[readonly] {
16.1462 + cursor: not-allowed;
16.1463 + background-color: #eeeeee;
16.1464 +}
16.1465 +
16.1466 +input[type="radio"][disabled],
16.1467 +input[type="checkbox"][disabled],
16.1468 +input[type="radio"][readonly],
16.1469 +input[type="checkbox"][readonly] {
16.1470 + background-color: transparent;
16.1471 +}
16.1472 +
16.1473 +.control-group.warning .control-label,
16.1474 +.control-group.warning .help-block,
16.1475 +.control-group.warning .help-inline {
16.1476 + color: #c09853;
16.1477 +}
16.1478 +
16.1479 +.control-group.warning .checkbox,
16.1480 +.control-group.warning .radio,
16.1481 +.control-group.warning input,
16.1482 +.control-group.warning select,
16.1483 +.control-group.warning textarea {
16.1484 + color: #c09853;
16.1485 +}
16.1486 +
16.1487 +.control-group.warning input,
16.1488 +.control-group.warning select,
16.1489 +.control-group.warning textarea {
16.1490 + border-color: #c09853;
16.1491 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1492 + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1493 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1494 +}
16.1495 +
16.1496 +.control-group.warning input:focus,
16.1497 +.control-group.warning select:focus,
16.1498 +.control-group.warning textarea:focus {
16.1499 + border-color: #a47e3c;
16.1500 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
16.1501 + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
16.1502 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
16.1503 +}
16.1504 +
16.1505 +.control-group.warning .input-prepend .add-on,
16.1506 +.control-group.warning .input-append .add-on {
16.1507 + color: #c09853;
16.1508 + background-color: #fcf8e3;
16.1509 + border-color: #c09853;
16.1510 +}
16.1511 +
16.1512 +.control-group.error .control-label,
16.1513 +.control-group.error .help-block,
16.1514 +.control-group.error .help-inline {
16.1515 + color: #b94a48;
16.1516 +}
16.1517 +
16.1518 +.control-group.error .checkbox,
16.1519 +.control-group.error .radio,
16.1520 +.control-group.error input,
16.1521 +.control-group.error select,
16.1522 +.control-group.error textarea {
16.1523 + color: #b94a48;
16.1524 +}
16.1525 +
16.1526 +.control-group.error input,
16.1527 +.control-group.error select,
16.1528 +.control-group.error textarea {
16.1529 + border-color: #b94a48;
16.1530 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1531 + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1532 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1533 +}
16.1534 +
16.1535 +.control-group.error input:focus,
16.1536 +.control-group.error select:focus,
16.1537 +.control-group.error textarea:focus {
16.1538 + border-color: #953b39;
16.1539 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
16.1540 + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
16.1541 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
16.1542 +}
16.1543 +
16.1544 +.control-group.error .input-prepend .add-on,
16.1545 +.control-group.error .input-append .add-on {
16.1546 + color: #b94a48;
16.1547 + background-color: #f2dede;
16.1548 + border-color: #b94a48;
16.1549 +}
16.1550 +
16.1551 +.control-group.success .control-label,
16.1552 +.control-group.success .help-block,
16.1553 +.control-group.success .help-inline {
16.1554 + color: #468847;
16.1555 +}
16.1556 +
16.1557 +.control-group.success .checkbox,
16.1558 +.control-group.success .radio,
16.1559 +.control-group.success input,
16.1560 +.control-group.success select,
16.1561 +.control-group.success textarea {
16.1562 + color: #468847;
16.1563 +}
16.1564 +
16.1565 +.control-group.success input,
16.1566 +.control-group.success select,
16.1567 +.control-group.success textarea {
16.1568 + border-color: #468847;
16.1569 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1570 + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1571 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1572 +}
16.1573 +
16.1574 +.control-group.success input:focus,
16.1575 +.control-group.success select:focus,
16.1576 +.control-group.success textarea:focus {
16.1577 + border-color: #356635;
16.1578 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
16.1579 + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
16.1580 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
16.1581 +}
16.1582 +
16.1583 +.control-group.success .input-prepend .add-on,
16.1584 +.control-group.success .input-append .add-on {
16.1585 + color: #468847;
16.1586 + background-color: #dff0d8;
16.1587 + border-color: #468847;
16.1588 +}
16.1589 +
16.1590 +.control-group.info .control-label,
16.1591 +.control-group.info .help-block,
16.1592 +.control-group.info .help-inline {
16.1593 + color: #3a87ad;
16.1594 +}
16.1595 +
16.1596 +.control-group.info .checkbox,
16.1597 +.control-group.info .radio,
16.1598 +.control-group.info input,
16.1599 +.control-group.info select,
16.1600 +.control-group.info textarea {
16.1601 + color: #3a87ad;
16.1602 +}
16.1603 +
16.1604 +.control-group.info input,
16.1605 +.control-group.info select,
16.1606 +.control-group.info textarea {
16.1607 + border-color: #3a87ad;
16.1608 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1609 + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1610 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
16.1611 +}
16.1612 +
16.1613 +.control-group.info input:focus,
16.1614 +.control-group.info select:focus,
16.1615 +.control-group.info textarea:focus {
16.1616 + border-color: #2d6987;
16.1617 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
16.1618 + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
16.1619 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
16.1620 +}
16.1621 +
16.1622 +.control-group.info .input-prepend .add-on,
16.1623 +.control-group.info .input-append .add-on {
16.1624 + color: #3a87ad;
16.1625 + background-color: #d9edf7;
16.1626 + border-color: #3a87ad;
16.1627 +}
16.1628 +
16.1629 +input:focus:invalid,
16.1630 +textarea:focus:invalid,
16.1631 +select:focus:invalid {
16.1632 + color: #b94a48;
16.1633 + border-color: #ee5f5b;
16.1634 +}
16.1635 +
16.1636 +input:focus:invalid:focus,
16.1637 +textarea:focus:invalid:focus,
16.1638 +select:focus:invalid:focus {
16.1639 + border-color: #e9322d;
16.1640 + -webkit-box-shadow: 0 0 6px #f8b9b7;
16.1641 + -moz-box-shadow: 0 0 6px #f8b9b7;
16.1642 + box-shadow: 0 0 6px #f8b9b7;
16.1643 +}
16.1644 +
16.1645 +.form-actions {
16.1646 + padding: 19px 20px 20px;
16.1647 + margin-top: 20px;
16.1648 + margin-bottom: 20px;
16.1649 + background-color: #f5f5f5;
16.1650 + border-top: 1px solid #e5e5e5;
16.1651 + *zoom: 1;
16.1652 +}
16.1653 +
16.1654 +.form-actions:before,
16.1655 +.form-actions:after {
16.1656 + display: table;
16.1657 + line-height: 0;
16.1658 + content: "";
16.1659 +}
16.1660 +
16.1661 +.form-actions:after {
16.1662 + clear: both;
16.1663 +}
16.1664 +
16.1665 +.help-block,
16.1666 +.help-inline {
16.1667 + color: #595959;
16.1668 +}
16.1669 +
16.1670 +.help-block {
16.1671 + display: block;
16.1672 + margin-bottom: 10px;
16.1673 +}
16.1674 +
16.1675 +.help-inline {
16.1676 + display: inline-block;
16.1677 + *display: inline;
16.1678 + padding-left: 5px;
16.1679 + vertical-align: middle;
16.1680 + *zoom: 1;
16.1681 +}
16.1682 +
16.1683 +.input-append,
16.1684 +.input-prepend {
16.1685 + display: inline-block;
16.1686 + margin-bottom: 10px;
16.1687 + font-size: 0;
16.1688 + white-space: nowrap;
16.1689 + vertical-align: middle;
16.1690 +}
16.1691 +
16.1692 +.input-append input,
16.1693 +.input-prepend input,
16.1694 +.input-append select,
16.1695 +.input-prepend select,
16.1696 +.input-append .uneditable-input,
16.1697 +.input-prepend .uneditable-input,
16.1698 +.input-append .dropdown-menu,
16.1699 +.input-prepend .dropdown-menu,
16.1700 +.input-append .popover,
16.1701 +.input-prepend .popover {
16.1702 + font-size: 14px;
16.1703 +}
16.1704 +
16.1705 +.input-append input,
16.1706 +.input-prepend input,
16.1707 +.input-append select,
16.1708 +.input-prepend select,
16.1709 +.input-append .uneditable-input,
16.1710 +.input-prepend .uneditable-input {
16.1711 + position: relative;
16.1712 + margin-bottom: 0;
16.1713 + *margin-left: 0;
16.1714 + vertical-align: top;
16.1715 + -webkit-border-radius: 0 4px 4px 0;
16.1716 + -moz-border-radius: 0 4px 4px 0;
16.1717 + border-radius: 0 4px 4px 0;
16.1718 +}
16.1719 +
16.1720 +.input-append input:focus,
16.1721 +.input-prepend input:focus,
16.1722 +.input-append select:focus,
16.1723 +.input-prepend select:focus,
16.1724 +.input-append .uneditable-input:focus,
16.1725 +.input-prepend .uneditable-input:focus {
16.1726 + z-index: 2;
16.1727 +}
16.1728 +
16.1729 +.input-append .add-on,
16.1730 +.input-prepend .add-on {
16.1731 + display: inline-block;
16.1732 + width: auto;
16.1733 + height: 20px;
16.1734 + min-width: 16px;
16.1735 + padding: 4px 5px;
16.1736 + font-size: 14px;
16.1737 + font-weight: normal;
16.1738 + line-height: 20px;
16.1739 + text-align: center;
16.1740 + text-shadow: 0 1px 0 #ffffff;
16.1741 + background-color: #eeeeee;
16.1742 + border: 1px solid #ccc;
16.1743 +}
16.1744 +
16.1745 +.input-append .add-on,
16.1746 +.input-prepend .add-on,
16.1747 +.input-append .btn,
16.1748 +.input-prepend .btn,
16.1749 +.input-append .btn-group > .dropdown-toggle,
16.1750 +.input-prepend .btn-group > .dropdown-toggle {
16.1751 + vertical-align: top;
16.1752 + -webkit-border-radius: 0;
16.1753 + -moz-border-radius: 0;
16.1754 + border-radius: 0;
16.1755 +}
16.1756 +
16.1757 +.input-append .active,
16.1758 +.input-prepend .active {
16.1759 + background-color: #a9dba9;
16.1760 + border-color: #46a546;
16.1761 +}
16.1762 +
16.1763 +.input-prepend .add-on,
16.1764 +.input-prepend .btn {
16.1765 + margin-right: -1px;
16.1766 +}
16.1767 +
16.1768 +.input-prepend .add-on:first-child,
16.1769 +.input-prepend .btn:first-child {
16.1770 + -webkit-border-radius: 4px 0 0 4px;
16.1771 + -moz-border-radius: 4px 0 0 4px;
16.1772 + border-radius: 4px 0 0 4px;
16.1773 +}
16.1774 +
16.1775 +.input-append input,
16.1776 +.input-append select,
16.1777 +.input-append .uneditable-input {
16.1778 + -webkit-border-radius: 4px 0 0 4px;
16.1779 + -moz-border-radius: 4px 0 0 4px;
16.1780 + border-radius: 4px 0 0 4px;
16.1781 + color: black;
16.1782 +}
16.1783 +
16.1784 +.input-append input + .btn-group .btn:last-child,
16.1785 +.input-append select + .btn-group .btn:last-child,
16.1786 +.input-append .uneditable-input + .btn-group .btn:last-child {
16.1787 + -webkit-border-radius: 0 4px 4px 0;
16.1788 + -moz-border-radius: 0 4px 4px 0;
16.1789 + border-radius: 0 4px 4px 0;
16.1790 +}
16.1791 +
16.1792 +.input-append .add-on,
16.1793 +.input-append .btn,
16.1794 +.input-append .btn-group {
16.1795 + margin-left: -1px;
16.1796 +}
16.1797 +
16.1798 +.input-append .add-on:last-child,
16.1799 +.input-append .btn:last-child,
16.1800 +.input-append .btn-group:last-child > .dropdown-toggle {
16.1801 + -webkit-border-radius: 0 4px 4px 0;
16.1802 + -moz-border-radius: 0 4px 4px 0;
16.1803 + border-radius: 0 4px 4px 0;
16.1804 +}
16.1805 +
16.1806 +.input-prepend.input-append input,
16.1807 +.input-prepend.input-append select,
16.1808 +.input-prepend.input-append .uneditable-input {
16.1809 + -webkit-border-radius: 0;
16.1810 + -moz-border-radius: 0;
16.1811 + border-radius: 0;
16.1812 +}
16.1813 +
16.1814 +.input-prepend.input-append input + .btn-group .btn,
16.1815 +.input-prepend.input-append select + .btn-group .btn,
16.1816 +.input-prepend.input-append .uneditable-input + .btn-group .btn {
16.1817 + -webkit-border-radius: 0 4px 4px 0;
16.1818 + -moz-border-radius: 0 4px 4px 0;
16.1819 + border-radius: 0 4px 4px 0;
16.1820 +}
16.1821 +
16.1822 +.input-prepend.input-append .add-on:first-child,
16.1823 +.input-prepend.input-append .btn:first-child {
16.1824 + margin-right: -1px;
16.1825 + -webkit-border-radius: 4px 0 0 4px;
16.1826 + -moz-border-radius: 4px 0 0 4px;
16.1827 + border-radius: 4px 0 0 4px;
16.1828 +}
16.1829 +
16.1830 +.input-prepend.input-append .add-on:last-child,
16.1831 +.input-prepend.input-append .btn:last-child {
16.1832 + margin-left: -1px;
16.1833 + -webkit-border-radius: 0 4px 4px 0;
16.1834 + -moz-border-radius: 0 4px 4px 0;
16.1835 + border-radius: 0 4px 4px 0;
16.1836 +}
16.1837 +
16.1838 +.input-prepend.input-append .btn-group:first-child {
16.1839 + margin-left: 0;
16.1840 +}
16.1841 +
16.1842 +input.search-query {
16.1843 + padding-right: 14px;
16.1844 + padding-right: 4px \9;
16.1845 + padding-left: 14px;
16.1846 + padding-left: 4px \9;
16.1847 + /* IE7-8 doesn't have border-radius, so don't indent the padding */
16.1848 +
16.1849 + margin-bottom: 0;
16.1850 + -webkit-border-radius: 15px;
16.1851 + -moz-border-radius: 15px;
16.1852 + border-radius: 15px;
16.1853 +}
16.1854 +
16.1855 +/* Allow for input prepend/append in search forms */
16.1856 +
16.1857 +.form-search .input-append .search-query,
16.1858 +.form-search .input-prepend .search-query {
16.1859 + -webkit-border-radius: 0;
16.1860 + -moz-border-radius: 0;
16.1861 + border-radius: 0;
16.1862 +}
16.1863 +
16.1864 +.form-search .input-append .search-query {
16.1865 + -webkit-border-radius: 14px 0 0 14px;
16.1866 + -moz-border-radius: 14px 0 0 14px;
16.1867 + border-radius: 14px 0 0 14px;
16.1868 +}
16.1869 +
16.1870 +.form-search .input-append .btn {
16.1871 + -webkit-border-radius: 0 14px 14px 0;
16.1872 + -moz-border-radius: 0 14px 14px 0;
16.1873 + border-radius: 0 14px 14px 0;
16.1874 +}
16.1875 +
16.1876 +.form-search .input-prepend .search-query {
16.1877 + -webkit-border-radius: 0 14px 14px 0;
16.1878 + -moz-border-radius: 0 14px 14px 0;
16.1879 + border-radius: 0 14px 14px 0;
16.1880 +}
16.1881 +
16.1882 +.form-search .input-prepend .btn {
16.1883 + -webkit-border-radius: 14px 0 0 14px;
16.1884 + -moz-border-radius: 14px 0 0 14px;
16.1885 + border-radius: 14px 0 0 14px;
16.1886 +}
16.1887 +
16.1888 +.form-search input,
16.1889 +.form-inline input,
16.1890 +.form-horizontal input,
16.1891 +.form-search textarea,
16.1892 +.form-inline textarea,
16.1893 +.form-horizontal textarea,
16.1894 +.form-search select,
16.1895 +.form-inline select,
16.1896 +.form-horizontal select,
16.1897 +.form-search .help-inline,
16.1898 +.form-inline .help-inline,
16.1899 +.form-horizontal .help-inline,
16.1900 +.form-search .uneditable-input,
16.1901 +.form-inline .uneditable-input,
16.1902 +.form-horizontal .uneditable-input,
16.1903 +.form-search .input-prepend,
16.1904 +.form-inline .input-prepend,
16.1905 +.form-horizontal .input-prepend,
16.1906 +.form-search .input-append,
16.1907 +.form-inline .input-append,
16.1908 +.form-horizontal .input-append {
16.1909 + display: inline-block;
16.1910 + *display: inline;
16.1911 + margin-bottom: 0;
16.1912 + vertical-align: middle;
16.1913 + *zoom: 1;
16.1914 +}
16.1915 +
16.1916 +.form-search .hide,
16.1917 +.form-inline .hide,
16.1918 +.form-horizontal .hide {
16.1919 + display: none;
16.1920 +}
16.1921 +
16.1922 +.form-search label,
16.1923 +.form-inline label,
16.1924 +.form-search .btn-group,
16.1925 +.form-inline .btn-group {
16.1926 + display: inline-block;
16.1927 +}
16.1928 +
16.1929 +.form-search .input-append,
16.1930 +.form-inline .input-append,
16.1931 +.form-search .input-prepend,
16.1932 +.form-inline .input-prepend {
16.1933 + margin-bottom: 0;
16.1934 +}
16.1935 +
16.1936 +.form-search .radio,
16.1937 +.form-search .checkbox,
16.1938 +.form-inline .radio,
16.1939 +.form-inline .checkbox {
16.1940 + padding-left: 0;
16.1941 + margin-bottom: 0;
16.1942 + vertical-align: middle;
16.1943 +}
16.1944 +
16.1945 +.form-search .radio input[type="radio"],
16.1946 +.form-search .checkbox input[type="checkbox"],
16.1947 +.form-inline .radio input[type="radio"],
16.1948 +.form-inline .checkbox input[type="checkbox"] {
16.1949 + float: left;
16.1950 + margin-right: 3px;
16.1951 + margin-left: 0;
16.1952 +}
16.1953 +
16.1954 +.control-group {
16.1955 + margin-bottom: 10px;
16.1956 +}
16.1957 +
16.1958 +legend + .control-group {
16.1959 + margin-top: 20px;
16.1960 + -webkit-margin-top-collapse: separate;
16.1961 +}
16.1962 +
16.1963 +.form-horizontal .control-group {
16.1964 + margin-bottom: 20px;
16.1965 + *zoom: 1;
16.1966 +}
16.1967 +
16.1968 +.form-horizontal .control-group:before,
16.1969 +.form-horizontal .control-group:after {
16.1970 + display: table;
16.1971 + line-height: 0;
16.1972 + content: "";
16.1973 +}
16.1974 +
16.1975 +.form-horizontal .control-group:after {
16.1976 + clear: both;
16.1977 +}
16.1978 +
16.1979 +.form-horizontal .control-label {
16.1980 + float: left;
16.1981 + width: 160px;
16.1982 + padding-top: 5px;
16.1983 + text-align: right;
16.1984 +}
16.1985 +
16.1986 +.form-horizontal .controls {
16.1987 + *display: inline-block;
16.1988 + *padding-left: 20px;
16.1989 + margin-left: 180px;
16.1990 + *margin-left: 0;
16.1991 +}
16.1992 +
16.1993 +.form-horizontal .controls:first-child {
16.1994 + *padding-left: 180px;
16.1995 +}
16.1996 +
16.1997 +.form-horizontal .help-block {
16.1998 + margin-bottom: 0;
16.1999 +}
16.2000 +
16.2001 +.form-horizontal input + .help-block,
16.2002 +.form-horizontal select + .help-block,
16.2003 +.form-horizontal textarea + .help-block,
16.2004 +.form-horizontal .uneditable-input + .help-block,
16.2005 +.form-horizontal .input-prepend + .help-block,
16.2006 +.form-horizontal .input-append + .help-block {
16.2007 + margin-top: 10px;
16.2008 +}
16.2009 +
16.2010 +.form-horizontal .form-actions {
16.2011 + padding-left: 180px;
16.2012 +}
16.2013 +
16.2014 +table {
16.2015 + max-width: 100%;
16.2016 + background-color: transparent;
16.2017 + border-collapse: collapse;
16.2018 + border-spacing: 0;
16.2019 +}
16.2020 +
16.2021 +.table {
16.2022 + width: 100%;
16.2023 + margin-bottom: 20px;
16.2024 +}
16.2025 +
16.2026 +.table th,
16.2027 +.table td {
16.2028 + padding: 8px;
16.2029 + line-height: 20px;
16.2030 + text-align: left;
16.2031 + vertical-align: top;
16.2032 + border-top: 1px solid #dddddd;
16.2033 +}
16.2034 +
16.2035 +.table th {
16.2036 + font-weight: bold;
16.2037 +}
16.2038 +
16.2039 +.table thead th {
16.2040 + vertical-align: bottom;
16.2041 +}
16.2042 +
16.2043 +.table caption + thead tr:first-child th,
16.2044 +.table caption + thead tr:first-child td,
16.2045 +.table colgroup + thead tr:first-child th,
16.2046 +.table colgroup + thead tr:first-child td,
16.2047 +.table thead:first-child tr:first-child th,
16.2048 +.table thead:first-child tr:first-child td {
16.2049 + border-top: 0;
16.2050 +}
16.2051 +
16.2052 +.table tbody + tbody {
16.2053 + border-top: 2px solid #dddddd;
16.2054 +}
16.2055 +
16.2056 +.table .table {
16.2057 + background-color: #ffffff;
16.2058 +}
16.2059 +
16.2060 +.table-condensed th,
16.2061 +.table-condensed td {
16.2062 + padding: 4px 5px;
16.2063 +}
16.2064 +
16.2065 +.table-bordered {
16.2066 + border: 1px solid #dddddd;
16.2067 + border-collapse: separate;
16.2068 + *border-collapse: collapse;
16.2069 + border-left: 0;
16.2070 + -webkit-border-radius: 4px;
16.2071 + -moz-border-radius: 4px;
16.2072 + border-radius: 4px;
16.2073 +}
16.2074 +
16.2075 +.table-bordered th,
16.2076 +.table-bordered td {
16.2077 + border-left: 1px solid #dddddd;
16.2078 +}
16.2079 +
16.2080 +.table-bordered caption + thead tr:first-child th,
16.2081 +.table-bordered caption + tbody tr:first-child th,
16.2082 +.table-bordered caption + tbody tr:first-child td,
16.2083 +.table-bordered colgroup + thead tr:first-child th,
16.2084 +.table-bordered colgroup + tbody tr:first-child th,
16.2085 +.table-bordered colgroup + tbody tr:first-child td,
16.2086 +.table-bordered thead:first-child tr:first-child th,
16.2087 +.table-bordered tbody:first-child tr:first-child th,
16.2088 +.table-bordered tbody:first-child tr:first-child td {
16.2089 + border-top: 0;
16.2090 +}
16.2091 +
16.2092 +.table-bordered thead:first-child tr:first-child > th:first-child,
16.2093 +.table-bordered tbody:first-child tr:first-child > td:first-child,
16.2094 +.table-bordered tbody:first-child tr:first-child > th:first-child {
16.2095 + -webkit-border-top-left-radius: 4px;
16.2096 + border-top-left-radius: 4px;
16.2097 + -moz-border-radius-topleft: 4px;
16.2098 +}
16.2099 +
16.2100 +.table-bordered thead:first-child tr:first-child > th:last-child,
16.2101 +.table-bordered tbody:first-child tr:first-child > td:last-child,
16.2102 +.table-bordered tbody:first-child tr:first-child > th:last-child {
16.2103 + -webkit-border-top-right-radius: 4px;
16.2104 + border-top-right-radius: 4px;
16.2105 + -moz-border-radius-topright: 4px;
16.2106 +}
16.2107 +
16.2108 +.table-bordered thead:last-child tr:last-child > th:first-child,
16.2109 +.table-bordered tbody:last-child tr:last-child > td:first-child,
16.2110 +.table-bordered tbody:last-child tr:last-child > th:first-child,
16.2111 +.table-bordered tfoot:last-child tr:last-child > td:first-child,
16.2112 +.table-bordered tfoot:last-child tr:last-child > th:first-child {
16.2113 + -webkit-border-bottom-left-radius: 4px;
16.2114 + border-bottom-left-radius: 4px;
16.2115 + -moz-border-radius-bottomleft: 4px;
16.2116 +}
16.2117 +
16.2118 +.table-bordered thead:last-child tr:last-child > th:last-child,
16.2119 +.table-bordered tbody:last-child tr:last-child > td:last-child,
16.2120 +.table-bordered tbody:last-child tr:last-child > th:last-child,
16.2121 +.table-bordered tfoot:last-child tr:last-child > td:last-child,
16.2122 +.table-bordered tfoot:last-child tr:last-child > th:last-child {
16.2123 + -webkit-border-bottom-right-radius: 4px;
16.2124 + border-bottom-right-radius: 4px;
16.2125 + -moz-border-radius-bottomright: 4px;
16.2126 +}
16.2127 +
16.2128 +.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
16.2129 + -webkit-border-bottom-left-radius: 0;
16.2130 + border-bottom-left-radius: 0;
16.2131 + -moz-border-radius-bottomleft: 0;
16.2132 +}
16.2133 +
16.2134 +.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
16.2135 + -webkit-border-bottom-right-radius: 0;
16.2136 + border-bottom-right-radius: 0;
16.2137 + -moz-border-radius-bottomright: 0;
16.2138 +}
16.2139 +
16.2140 +.table-bordered caption + thead tr:first-child th:first-child,
16.2141 +.table-bordered caption + tbody tr:first-child td:first-child,
16.2142 +.table-bordered colgroup + thead tr:first-child th:first-child,
16.2143 +.table-bordered colgroup + tbody tr:first-child td:first-child {
16.2144 + -webkit-border-top-left-radius: 4px;
16.2145 + border-top-left-radius: 4px;
16.2146 + -moz-border-radius-topleft: 4px;
16.2147 +}
16.2148 +
16.2149 +.table-bordered caption + thead tr:first-child th:last-child,
16.2150 +.table-bordered caption + tbody tr:first-child td:last-child,
16.2151 +.table-bordered colgroup + thead tr:first-child th:last-child,
16.2152 +.table-bordered colgroup + tbody tr:first-child td:last-child {
16.2153 + -webkit-border-top-right-radius: 4px;
16.2154 + border-top-right-radius: 4px;
16.2155 + -moz-border-radius-topright: 4px;
16.2156 +}
16.2157 +
16.2158 +.table-striped tbody > tr:nth-child(odd) > td,
16.2159 +.table-striped tbody > tr:nth-child(odd) > th {
16.2160 + background-color: #f9f9f9;
16.2161 +}
16.2162 +
16.2163 +.table-hover tbody tr:hover > td,
16.2164 +.table-hover tbody tr:hover > th {
16.2165 + background-color: #f5f5f5;
16.2166 +}
16.2167 +
16.2168 +table td[class*="span"],
16.2169 +table th[class*="span"],
16.2170 +.row-fluid table td[class*="span"],
16.2171 +.row-fluid table th[class*="span"] {
16.2172 + display: table-cell;
16.2173 + float: none;
16.2174 + margin-left: 0;
16.2175 +}
16.2176 +
16.2177 +.table td.span1,
16.2178 +.table th.span1 {
16.2179 + float: none;
16.2180 + width: 44px;
16.2181 + margin-left: 0;
16.2182 +}
16.2183 +
16.2184 +.table td.span2,
16.2185 +.table th.span2 {
16.2186 + float: none;
16.2187 + width: 124px;
16.2188 + margin-left: 0;
16.2189 +}
16.2190 +
16.2191 +.table td.span3,
16.2192 +.table th.span3 {
16.2193 + float: none;
16.2194 + width: 204px;
16.2195 + margin-left: 0;
16.2196 +}
16.2197 +
16.2198 +.table td.span4,
16.2199 +.table th.span4 {
16.2200 + float: none;
16.2201 + width: 284px;
16.2202 + margin-left: 0;
16.2203 +}
16.2204 +
16.2205 +.table td.span5,
16.2206 +.table th.span5 {
16.2207 + float: none;
16.2208 + width: 364px;
16.2209 + margin-left: 0;
16.2210 +}
16.2211 +
16.2212 +.table td.span6,
16.2213 +.table th.span6 {
16.2214 + float: none;
16.2215 + width: 444px;
16.2216 + margin-left: 0;
16.2217 +}
16.2218 +
16.2219 +.table td.span7,
16.2220 +.table th.span7 {
16.2221 + float: none;
16.2222 + width: 524px;
16.2223 + margin-left: 0;
16.2224 +}
16.2225 +
16.2226 +.table td.span8,
16.2227 +.table th.span8 {
16.2228 + float: none;
16.2229 + width: 604px;
16.2230 + margin-left: 0;
16.2231 +}
16.2232 +
16.2233 +.table td.span9,
16.2234 +.table th.span9 {
16.2235 + float: none;
16.2236 + width: 684px;
16.2237 + margin-left: 0;
16.2238 +}
16.2239 +
16.2240 +.table td.span10,
16.2241 +.table th.span10 {
16.2242 + float: none;
16.2243 + width: 764px;
16.2244 + margin-left: 0;
16.2245 +}
16.2246 +
16.2247 +.table td.span11,
16.2248 +.table th.span11 {
16.2249 + float: none;
16.2250 + width: 844px;
16.2251 + margin-left: 0;
16.2252 +}
16.2253 +
16.2254 +.table td.span12,
16.2255 +.table th.span12 {
16.2256 + float: none;
16.2257 + width: 924px;
16.2258 + margin-left: 0;
16.2259 +}
16.2260 +
16.2261 +.table tbody tr.success > td {
16.2262 + background-color: #dff0d8;
16.2263 +}
16.2264 +
16.2265 +.table tbody tr.error > td {
16.2266 + background-color: #f2dede;
16.2267 +}
16.2268 +
16.2269 +.table tbody tr.warning > td {
16.2270 + background-color: #fcf8e3;
16.2271 +}
16.2272 +
16.2273 +.table tbody tr.info > td {
16.2274 + background-color: #d9edf7;
16.2275 +}
16.2276 +
16.2277 +.table-hover tbody tr.success:hover > td {
16.2278 + background-color: #d0e9c6;
16.2279 +}
16.2280 +
16.2281 +.table-hover tbody tr.error:hover > td {
16.2282 + background-color: #ebcccc;
16.2283 +}
16.2284 +
16.2285 +.table-hover tbody tr.warning:hover > td {
16.2286 + background-color: #faf2cc;
16.2287 +}
16.2288 +
16.2289 +.table-hover tbody tr.info:hover > td {
16.2290 + background-color: #c4e3f3;
16.2291 +}
16.2292 +
16.2293 +[class^="icon-"],
16.2294 +[class*=" icon-"] {
16.2295 + display: inline-block;
16.2296 + width: 14px;
16.2297 + height: 14px;
16.2298 + margin-top: 1px;
16.2299 + *margin-right: .3em;
16.2300 + line-height: 14px;
16.2301 + vertical-align: text-top;
16.2302 + background-image: url("../img/glyphicons-halflings.png");
16.2303 + background-position: 14px 14px;
16.2304 + background-repeat: no-repeat;
16.2305 +}
16.2306 +
16.2307 +/* White icons with optional class, or on hover/focus/active states of certain elements */
16.2308 +
16.2309 +.icon-white,
16.2310 +.nav-pills > .active > a > [class^="icon-"],
16.2311 +.nav-pills > .active > a > [class*=" icon-"],
16.2312 +.nav-list > .active > a > [class^="icon-"],
16.2313 +.nav-list > .active > a > [class*=" icon-"],
16.2314 +.navbar-inverse .nav > .active > a > [class^="icon-"],
16.2315 +.navbar-inverse .nav > .active > a > [class*=" icon-"],
16.2316 +.dropdown-menu > li > a:hover > [class^="icon-"],
16.2317 +.dropdown-menu > li > a:focus > [class^="icon-"],
16.2318 +.dropdown-menu > li > a:hover > [class*=" icon-"],
16.2319 +.dropdown-menu > li > a:focus > [class*=" icon-"],
16.2320 +.dropdown-menu > .active > a > [class^="icon-"],
16.2321 +.dropdown-menu > .active > a > [class*=" icon-"],
16.2322 +.dropdown-submenu:hover > a > [class^="icon-"],
16.2323 +.dropdown-submenu:focus > a > [class^="icon-"],
16.2324 +.dropdown-submenu:hover > a > [class*=" icon-"],
16.2325 +.dropdown-submenu:focus > a > [class*=" icon-"] {
16.2326 + background-image: url("../img/glyphicons-halflings-white.png");
16.2327 +}
16.2328 +
16.2329 +.icon-glass {
16.2330 + background-position: 0 0;
16.2331 +}
16.2332 +
16.2333 +.icon-music {
16.2334 + background-position: -24px 0;
16.2335 +}
16.2336 +
16.2337 +.icon-search {
16.2338 + background-position: -48px 0;
16.2339 +}
16.2340 +
16.2341 +.icon-envelope {
16.2342 + background-position: -72px 0;
16.2343 +}
16.2344 +
16.2345 +.icon-heart {
16.2346 + background-position: -96px 0;
16.2347 +}
16.2348 +
16.2349 +.icon-star {
16.2350 + background-position: -120px 0;
16.2351 +}
16.2352 +
16.2353 +.icon-star-empty {
16.2354 + background-position: -144px 0;
16.2355 +}
16.2356 +
16.2357 +.icon-user {
16.2358 + background-position: -168px 0;
16.2359 +}
16.2360 +
16.2361 +.icon-film {
16.2362 + background-position: -192px 0;
16.2363 +}
16.2364 +
16.2365 +.icon-th-large {
16.2366 + background-position: -216px 0;
16.2367 +}
16.2368 +
16.2369 +.icon-th {
16.2370 + background-position: -240px 0;
16.2371 +}
16.2372 +
16.2373 +.icon-th-list {
16.2374 + background-position: -264px 0;
16.2375 +}
16.2376 +
16.2377 +.icon-ok {
16.2378 + background-position: -288px 0;
16.2379 +}
16.2380 +
16.2381 +.icon-remove {
16.2382 + background-position: -312px 0;
16.2383 +}
16.2384 +
16.2385 +.icon-zoom-in {
16.2386 + background-position: -336px 0;
16.2387 +}
16.2388 +
16.2389 +.icon-zoom-out {
16.2390 + background-position: -360px 0;
16.2391 +}
16.2392 +
16.2393 +.icon-off {
16.2394 + background-position: -384px 0;
16.2395 +}
16.2396 +
16.2397 +.icon-signal {
16.2398 + background-position: -408px 0;
16.2399 +}
16.2400 +
16.2401 +.icon-cog {
16.2402 + background-position: -432px 0;
16.2403 +}
16.2404 +
16.2405 +.icon-trash {
16.2406 + background-position: -456px 0;
16.2407 +}
16.2408 +
16.2409 +.icon-home {
16.2410 + background-position: 0 -24px;
16.2411 +}
16.2412 +
16.2413 +.icon-file {
16.2414 + background-position: -24px -24px;
16.2415 +}
16.2416 +
16.2417 +.icon-time {
16.2418 + background-position: -48px -24px;
16.2419 +}
16.2420 +
16.2421 +.icon-road {
16.2422 + background-position: -72px -24px;
16.2423 +}
16.2424 +
16.2425 +.icon-download-alt {
16.2426 + background-position: -96px -24px;
16.2427 +}
16.2428 +
16.2429 +.icon-download {
16.2430 + background-position: -120px -24px;
16.2431 +}
16.2432 +
16.2433 +.icon-upload {
16.2434 + background-position: -144px -24px;
16.2435 +}
16.2436 +
16.2437 +.icon-inbox {
16.2438 + background-position: -168px -24px;
16.2439 +}
16.2440 +
16.2441 +.icon-play-circle {
16.2442 + background-position: -192px -24px;
16.2443 +}
16.2444 +
16.2445 +.icon-repeat {
16.2446 + background-position: -216px -24px;
16.2447 +}
16.2448 +
16.2449 +.icon-refresh {
16.2450 + background-position: -240px -24px;
16.2451 +}
16.2452 +
16.2453 +.icon-list-alt {
16.2454 + background-position: -264px -24px;
16.2455 +}
16.2456 +
16.2457 +.icon-lock {
16.2458 + background-position: -287px -24px;
16.2459 +}
16.2460 +
16.2461 +.icon-flag {
16.2462 + background-position: -312px -24px;
16.2463 +}
16.2464 +
16.2465 +.icon-headphones {
16.2466 + background-position: -336px -24px;
16.2467 +}
16.2468 +
16.2469 +.icon-volume-off {
16.2470 + background-position: -360px -24px;
16.2471 +}
16.2472 +
16.2473 +.icon-volume-down {
16.2474 + background-position: -384px -24px;
16.2475 +}
16.2476 +
16.2477 +.icon-volume-up {
16.2478 + background-position: -408px -24px;
16.2479 +}
16.2480 +
16.2481 +.icon-qrcode {
16.2482 + background-position: -432px -24px;
16.2483 +}
16.2484 +
16.2485 +.icon-barcode {
16.2486 + background-position: -456px -24px;
16.2487 +}
16.2488 +
16.2489 +.icon-tag {
16.2490 + background-position: 0 -48px;
16.2491 +}
16.2492 +
16.2493 +.icon-tags {
16.2494 + background-position: -25px -48px;
16.2495 +}
16.2496 +
16.2497 +.icon-book {
16.2498 + background-position: -48px -48px;
16.2499 +}
16.2500 +
16.2501 +.icon-bookmark {
16.2502 + background-position: -72px -48px;
16.2503 +}
16.2504 +
16.2505 +.icon-print {
16.2506 + background-position: -96px -48px;
16.2507 +}
16.2508 +
16.2509 +.icon-camera {
16.2510 + background-position: -120px -48px;
16.2511 +}
16.2512 +
16.2513 +.icon-font {
16.2514 + background-position: -144px -48px;
16.2515 +}
16.2516 +
16.2517 +.icon-bold {
16.2518 + background-position: -167px -48px;
16.2519 +}
16.2520 +
16.2521 +.icon-italic {
16.2522 + background-position: -192px -48px;
16.2523 +}
16.2524 +
16.2525 +.icon-text-height {
16.2526 + background-position: -216px -48px;
16.2527 +}
16.2528 +
16.2529 +.icon-text-width {
16.2530 + background-position: -240px -48px;
16.2531 +}
16.2532 +
16.2533 +.icon-align-left {
16.2534 + background-position: -264px -48px;
16.2535 +}
16.2536 +
16.2537 +.icon-align-center {
16.2538 + background-position: -288px -48px;
16.2539 +}
16.2540 +
16.2541 +.icon-align-right {
16.2542 + background-position: -312px -48px;
16.2543 +}
16.2544 +
16.2545 +.icon-align-justify {
16.2546 + background-position: -336px -48px;
16.2547 +}
16.2548 +
16.2549 +.icon-list {
16.2550 + background-position: -360px -48px;
16.2551 +}
16.2552 +
16.2553 +.icon-indent-left {
16.2554 + background-position: -384px -48px;
16.2555 +}
16.2556 +
16.2557 +.icon-indent-right {
16.2558 + background-position: -408px -48px;
16.2559 +}
16.2560 +
16.2561 +.icon-facetime-video {
16.2562 + background-position: -432px -48px;
16.2563 +}
16.2564 +
16.2565 +.icon-picture {
16.2566 + background-position: -456px -48px;
16.2567 +}
16.2568 +
16.2569 +.icon-pencil {
16.2570 + background-position: 0 -72px;
16.2571 +}
16.2572 +
16.2573 +.icon-map-marker {
16.2574 + background-position: -24px -72px;
16.2575 +}
16.2576 +
16.2577 +.icon-adjust {
16.2578 + background-position: -48px -72px;
16.2579 +}
16.2580 +
16.2581 +.icon-tint {
16.2582 + background-position: -72px -72px;
16.2583 +}
16.2584 +
16.2585 +.icon-edit {
16.2586 + background-position: -96px -72px;
16.2587 +}
16.2588 +
16.2589 +.icon-share {
16.2590 + background-position: -120px -72px;
16.2591 +}
16.2592 +
16.2593 +.icon-check {
16.2594 + background-position: -144px -72px;
16.2595 +}
16.2596 +
16.2597 +.icon-move {
16.2598 + background-position: -168px -72px;
16.2599 +}
16.2600 +
16.2601 +.icon-step-backward {
16.2602 + background-position: -192px -72px;
16.2603 +}
16.2604 +
16.2605 +.icon-fast-backward {
16.2606 + background-position: -216px -72px;
16.2607 +}
16.2608 +
16.2609 +.icon-backward {
16.2610 + background-position: -240px -72px;
16.2611 +}
16.2612 +
16.2613 +.icon-play {
16.2614 + background-position: -264px -72px;
16.2615 +}
16.2616 +
16.2617 +.icon-pause {
16.2618 + background-position: -288px -72px;
16.2619 +}
16.2620 +
16.2621 +.icon-stop {
16.2622 + background-position: -312px -72px;
16.2623 +}
16.2624 +
16.2625 +.icon-forward {
16.2626 + background-position: -336px -72px;
16.2627 +}
16.2628 +
16.2629 +.icon-fast-forward {
16.2630 + background-position: -360px -72px;
16.2631 +}
16.2632 +
16.2633 +.icon-step-forward {
16.2634 + background-position: -384px -72px;
16.2635 +}
16.2636 +
16.2637 +.icon-eject {
16.2638 + background-position: -408px -72px;
16.2639 +}
16.2640 +
16.2641 +.icon-chevron-left {
16.2642 + background-position: -432px -72px;
16.2643 +}
16.2644 +
16.2645 +.icon-chevron-right {
16.2646 + background-position: -456px -72px;
16.2647 +}
16.2648 +
16.2649 +.icon-plus-sign {
16.2650 + background-position: 0 -96px;
16.2651 +}
16.2652 +
16.2653 +.icon-minus-sign {
16.2654 + background-position: -24px -96px;
16.2655 +}
16.2656 +
16.2657 +.icon-remove-sign {
16.2658 + background-position: -48px -96px;
16.2659 +}
16.2660 +
16.2661 +.icon-ok-sign {
16.2662 + background-position: -72px -96px;
16.2663 +}
16.2664 +
16.2665 +.icon-question-sign {
16.2666 + background-position: -96px -96px;
16.2667 +}
16.2668 +
16.2669 +.icon-info-sign {
16.2670 + background-position: -120px -96px;
16.2671 +}
16.2672 +
16.2673 +.icon-screenshot {
16.2674 + background-position: -144px -96px;
16.2675 +}
16.2676 +
16.2677 +.icon-remove-circle {
16.2678 + background-position: -168px -96px;
16.2679 +}
16.2680 +
16.2681 +.icon-ok-circle {
16.2682 + background-position: -192px -96px;
16.2683 +}
16.2684 +
16.2685 +.icon-ban-circle {
16.2686 + background-position: -216px -96px;
16.2687 +}
16.2688 +
16.2689 +.icon-arrow-left {
16.2690 + background-position: -240px -96px;
16.2691 +}
16.2692 +
16.2693 +.icon-arrow-right {
16.2694 + background-position: -264px -96px;
16.2695 +}
16.2696 +
16.2697 +.icon-arrow-up {
16.2698 + background-position: -289px -96px;
16.2699 +}
16.2700 +
16.2701 +.icon-arrow-down {
16.2702 + background-position: -312px -96px;
16.2703 +}
16.2704 +
16.2705 +.icon-share-alt {
16.2706 + background-position: -336px -96px;
16.2707 +}
16.2708 +
16.2709 +.icon-resize-full {
16.2710 + background-position: -360px -96px;
16.2711 +}
16.2712 +
16.2713 +.icon-resize-small {
16.2714 + background-position: -384px -96px;
16.2715 +}
16.2716 +
16.2717 +.icon-plus {
16.2718 + background-position: -408px -96px;
16.2719 +}
16.2720 +
16.2721 +.icon-minus {
16.2722 + background-position: -433px -96px;
16.2723 +}
16.2724 +
16.2725 +.icon-asterisk {
16.2726 + background-position: -456px -96px;
16.2727 +}
16.2728 +
16.2729 +.icon-exclamation-sign {
16.2730 + background-position: 0 -120px;
16.2731 +}
16.2732 +
16.2733 +.icon-gift {
16.2734 + background-position: -24px -120px;
16.2735 +}
16.2736 +
16.2737 +.icon-leaf {
16.2738 + background-position: -48px -120px;
16.2739 +}
16.2740 +
16.2741 +.icon-fire {
16.2742 + background-position: -72px -120px;
16.2743 +}
16.2744 +
16.2745 +.icon-eye-open {
16.2746 + background-position: -96px -120px;
16.2747 +}
16.2748 +
16.2749 +.icon-eye-close {
16.2750 + background-position: -120px -120px;
16.2751 +}
16.2752 +
16.2753 +.icon-warning-sign {
16.2754 + background-position: -144px -120px;
16.2755 +}
16.2756 +
16.2757 +.icon-plane {
16.2758 + background-position: -168px -120px;
16.2759 +}
16.2760 +
16.2761 +.icon-calendar {
16.2762 + background-position: -192px -120px;
16.2763 +}
16.2764 +
16.2765 +.icon-random {
16.2766 + width: 16px;
16.2767 + background-position: -216px -120px;
16.2768 +}
16.2769 +
16.2770 +.icon-comment {
16.2771 + background-position: -240px -120px;
16.2772 +}
16.2773 +
16.2774 +.icon-magnet {
16.2775 + background-position: -264px -120px;
16.2776 +}
16.2777 +
16.2778 +.icon-chevron-up {
16.2779 + background-position: -288px -120px;
16.2780 +}
16.2781 +
16.2782 +.icon-chevron-down {
16.2783 + background-position: -313px -119px;
16.2784 +}
16.2785 +
16.2786 +.icon-retweet {
16.2787 + background-position: -336px -120px;
16.2788 +}
16.2789 +
16.2790 +.icon-shopping-cart {
16.2791 + background-position: -360px -120px;
16.2792 +}
16.2793 +
16.2794 +.icon-folder-close {
16.2795 + width: 16px;
16.2796 + background-position: -384px -120px;
16.2797 +}
16.2798 +
16.2799 +.icon-folder-open {
16.2800 + width: 16px;
16.2801 + background-position: -408px -120px;
16.2802 +}
16.2803 +
16.2804 +.icon-resize-vertical {
16.2805 + background-position: -432px -119px;
16.2806 +}
16.2807 +
16.2808 +.icon-resize-horizontal {
16.2809 + background-position: -456px -118px;
16.2810 +}
16.2811 +
16.2812 +.icon-hdd {
16.2813 + background-position: 0 -144px;
16.2814 +}
16.2815 +
16.2816 +.icon-bullhorn {
16.2817 + background-position: -24px -144px;
16.2818 +}
16.2819 +
16.2820 +.icon-bell {
16.2821 + background-position: -48px -144px;
16.2822 +}
16.2823 +
16.2824 +.icon-certificate {
16.2825 + background-position: -72px -144px;
16.2826 +}
16.2827 +
16.2828 +.icon-thumbs-up {
16.2829 + background-position: -96px -144px;
16.2830 +}
16.2831 +
16.2832 +.icon-thumbs-down {
16.2833 + background-position: -120px -144px;
16.2834 +}
16.2835 +
16.2836 +.icon-hand-right {
16.2837 + background-position: -144px -144px;
16.2838 +}
16.2839 +
16.2840 +.icon-hand-left {
16.2841 + background-position: -168px -144px;
16.2842 +}
16.2843 +
16.2844 +.icon-hand-up {
16.2845 + background-position: -192px -144px;
16.2846 +}
16.2847 +
16.2848 +.icon-hand-down {
16.2849 + background-position: -216px -144px;
16.2850 +}
16.2851 +
16.2852 +.icon-circle-arrow-right {
16.2853 + background-position: -240px -144px;
16.2854 +}
16.2855 +
16.2856 +.icon-circle-arrow-left {
16.2857 + background-position: -264px -144px;
16.2858 +}
16.2859 +
16.2860 +.icon-circle-arrow-up {
16.2861 + background-position: -288px -144px;
16.2862 +}
16.2863 +
16.2864 +.icon-circle-arrow-down {
16.2865 + background-position: -312px -144px;
16.2866 +}
16.2867 +
16.2868 +.icon-globe {
16.2869 + background-position: -336px -144px;
16.2870 +}
16.2871 +
16.2872 +.icon-wrench {
16.2873 + background-position: -360px -144px;
16.2874 +}
16.2875 +
16.2876 +.icon-tasks {
16.2877 + background-position: -384px -144px;
16.2878 +}
16.2879 +
16.2880 +.icon-filter {
16.2881 + background-position: -408px -144px;
16.2882 +}
16.2883 +
16.2884 +.icon-briefcase {
16.2885 + background-position: -432px -144px;
16.2886 +}
16.2887 +
16.2888 +.icon-fullscreen {
16.2889 + background-position: -456px -144px;
16.2890 +}
16.2891 +
16.2892 +.dropup,
16.2893 +.dropdown {
16.2894 + position: relative;
16.2895 +}
16.2896 +
16.2897 +.dropdown-toggle {
16.2898 + *margin-bottom: -3px;
16.2899 +}
16.2900 +
16.2901 +.dropdown-toggle:active,
16.2902 +.open .dropdown-toggle {
16.2903 + outline: 0;
16.2904 +}
16.2905 +
16.2906 +.caret {
16.2907 + display: inline-block;
16.2908 + width: 0;
16.2909 + height: 0;
16.2910 + vertical-align: top;
16.2911 + border-top: 4px solid #000000;
16.2912 + border-right: 4px solid transparent;
16.2913 + border-left: 4px solid transparent;
16.2914 + content: "";
16.2915 +}
16.2916 +
16.2917 +.dropdown .caret {
16.2918 + margin-top: 8px;
16.2919 + margin-left: 2px;
16.2920 +}
16.2921 +
16.2922 +.dropdown-menu {
16.2923 + position: absolute;
16.2924 + top: 100%;
16.2925 + left: 0;
16.2926 + z-index: 1000;
16.2927 + display: none;
16.2928 + float: left;
16.2929 + min-width: 160px;
16.2930 + padding: 5px 0;
16.2931 + margin: 2px 0 0;
16.2932 + list-style: none;
16.2933 + background-color: #ffffff;
16.2934 + border: 1px solid #ccc;
16.2935 + border: 1px solid rgba(0, 0, 0, 0.2);
16.2936 + *border-right-width: 2px;
16.2937 + *border-bottom-width: 2px;
16.2938 + -webkit-border-radius: 6px;
16.2939 + -moz-border-radius: 6px;
16.2940 + border-radius: 6px;
16.2941 + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
16.2942 + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
16.2943 + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
16.2944 + -webkit-background-clip: padding-box;
16.2945 + -moz-background-clip: padding;
16.2946 + background-clip: padding-box;
16.2947 +}
16.2948 +
16.2949 +.dropdown-menu.pull-right {
16.2950 + right: 0;
16.2951 + left: auto;
16.2952 +}
16.2953 +
16.2954 +.dropdown-menu .divider {
16.2955 + *width: 100%;
16.2956 + height: 1px;
16.2957 + margin: 9px 1px;
16.2958 + *margin: -5px 0 5px;
16.2959 + overflow: hidden;
16.2960 + background-color: #e5e5e5;
16.2961 + border-bottom: 1px solid #ffffff;
16.2962 +}
16.2963 +
16.2964 +.dropdown-menu > li > a {
16.2965 + display: block;
16.2966 + padding: 3px 20px;
16.2967 + clear: both;
16.2968 + font-weight: normal;
16.2969 + line-height: 20px;
16.2970 + color: #333333;
16.2971 + white-space: nowrap;
16.2972 +}
16.2973 +
16.2974 +.dropdown-menu > li > a:hover,
16.2975 +.dropdown-menu > li > a:focus,
16.2976 +.dropdown-submenu:hover > a,
16.2977 +.dropdown-submenu:focus > a {
16.2978 + color: #ffffff;
16.2979 + text-decoration: none;
16.2980 + background-color: #0081c2;
16.2981 + background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
16.2982 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
16.2983 + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
16.2984 + background-image: -o-linear-gradient(top, #0088cc, #0077b3);
16.2985 + background-image: linear-gradient(to bottom, #0088cc, #0077b3);
16.2986 + background-repeat: repeat-x;
16.2987 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
16.2988 +}
16.2989 +
16.2990 +.dropdown-menu > .active > a,
16.2991 +.dropdown-menu > .active > a:hover,
16.2992 +.dropdown-menu > .active > a:focus {
16.2993 + color: #ffffff;
16.2994 + text-decoration: none;
16.2995 + background-color: #0081c2;
16.2996 + background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
16.2997 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
16.2998 + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
16.2999 + background-image: -o-linear-gradient(top, #0088cc, #0077b3);
16.3000 + background-image: linear-gradient(to bottom, #0088cc, #0077b3);
16.3001 + background-repeat: repeat-x;
16.3002 + outline: 0;
16.3003 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
16.3004 +}
16.3005 +
16.3006 +.dropdown-menu > .disabled > a,
16.3007 +.dropdown-menu > .disabled > a:hover,
16.3008 +.dropdown-menu > .disabled > a:focus {
16.3009 + color: #999999;
16.3010 +}
16.3011 +
16.3012 +.dropdown-menu > .disabled > a:hover,
16.3013 +.dropdown-menu > .disabled > a:focus {
16.3014 + text-decoration: none;
16.3015 + cursor: default;
16.3016 + background-color: transparent;
16.3017 + background-image: none;
16.3018 + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
16.3019 +}
16.3020 +
16.3021 +.open {
16.3022 + *z-index: 1000;
16.3023 +}
16.3024 +
16.3025 +.open > .dropdown-menu {
16.3026 + display: block;
16.3027 +}
16.3028 +
16.3029 +.dropdown-backdrop {
16.3030 + position: fixed;
16.3031 + top: 0;
16.3032 + right: 0;
16.3033 + bottom: 0;
16.3034 + left: 0;
16.3035 + z-index: 990;
16.3036 +}
16.3037 +
16.3038 +.pull-right > .dropdown-menu {
16.3039 + right: 0;
16.3040 + left: auto;
16.3041 +}
16.3042 +
16.3043 +.dropup .caret,
16.3044 +.navbar-fixed-bottom .dropdown .caret {
16.3045 + border-top: 0;
16.3046 + border-bottom: 4px solid #000000;
16.3047 + content: "";
16.3048 +}
16.3049 +
16.3050 +.dropup .dropdown-menu,
16.3051 +.navbar-fixed-bottom .dropdown .dropdown-menu {
16.3052 + top: auto;
16.3053 + bottom: 100%;
16.3054 + margin-bottom: 1px;
16.3055 +}
16.3056 +
16.3057 +.dropdown-submenu {
16.3058 + position: relative;
16.3059 +}
16.3060 +
16.3061 +.dropdown-submenu > .dropdown-menu {
16.3062 + top: 0;
16.3063 + left: 100%;
16.3064 + margin-top: -6px;
16.3065 + margin-left: -1px;
16.3066 + -webkit-border-radius: 0 6px 6px 6px;
16.3067 + -moz-border-radius: 0 6px 6px 6px;
16.3068 + border-radius: 0 6px 6px 6px;
16.3069 +}
16.3070 +
16.3071 +.dropdown-submenu:hover > .dropdown-menu {
16.3072 + display: block;
16.3073 +}
16.3074 +
16.3075 +.dropup .dropdown-submenu > .dropdown-menu {
16.3076 + top: auto;
16.3077 + bottom: 0;
16.3078 + margin-top: 0;
16.3079 + margin-bottom: -2px;
16.3080 + -webkit-border-radius: 5px 5px 5px 0;
16.3081 + -moz-border-radius: 5px 5px 5px 0;
16.3082 + border-radius: 5px 5px 5px 0;
16.3083 +}
16.3084 +
16.3085 +.dropdown-submenu > a:after {
16.3086 + display: block;
16.3087 + float: right;
16.3088 + width: 0;
16.3089 + height: 0;
16.3090 + margin-top: 5px;
16.3091 + margin-right: -10px;
16.3092 + border-color: transparent;
16.3093 + border-left-color: #cccccc;
16.3094 + border-style: solid;
16.3095 + border-width: 5px 0 5px 5px;
16.3096 + content: " ";
16.3097 +}
16.3098 +
16.3099 +.dropdown-submenu:hover > a:after {
16.3100 + border-left-color: #ffffff;
16.3101 +}
16.3102 +
16.3103 +.dropdown-submenu.pull-left {
16.3104 + float: none;
16.3105 +}
16.3106 +
16.3107 +.dropdown-submenu.pull-left > .dropdown-menu {
16.3108 + left: -100%;
16.3109 + margin-left: 10px;
16.3110 + -webkit-border-radius: 6px 0 6px 6px;
16.3111 + -moz-border-radius: 6px 0 6px 6px;
16.3112 + border-radius: 6px 0 6px 6px;
16.3113 +}
16.3114 +
16.3115 +.dropdown .dropdown-menu .nav-header {
16.3116 + padding-right: 20px;
16.3117 + padding-left: 20px;
16.3118 +}
16.3119 +
16.3120 +.typeahead {
16.3121 + z-index: 1051;
16.3122 + margin-top: 2px;
16.3123 + -webkit-border-radius: 4px;
16.3124 + -moz-border-radius: 4px;
16.3125 + border-radius: 4px;
16.3126 +}
16.3127 +
16.3128 +.well {
16.3129 + min-height: 20px;
16.3130 + padding: 19px;
16.3131 + margin-bottom: 20px;
16.3132 + background-color: #f5f5f5;
16.3133 + border: 1px solid #e3e3e3;
16.3134 + -webkit-border-radius: 4px;
16.3135 + -moz-border-radius: 4px;
16.3136 + border-radius: 4px;
16.3137 + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
16.3138 + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
16.3139 + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
16.3140 +}
16.3141 +
16.3142 +.well blockquote {
16.3143 + border-color: #ddd;
16.3144 + border-color: rgba(0, 0, 0, 0.15);
16.3145 +}
16.3146 +
16.3147 +.well-large {
16.3148 + padding: 24px;
16.3149 + -webkit-border-radius: 6px;
16.3150 + -moz-border-radius: 6px;
16.3151 + border-radius: 6px;
16.3152 +}
16.3153 +
16.3154 +.well-small {
16.3155 + padding: 9px;
16.3156 + -webkit-border-radius: 3px;
16.3157 + -moz-border-radius: 3px;
16.3158 + border-radius: 3px;
16.3159 +}
16.3160 +
16.3161 +.fade {
16.3162 + opacity: 0;
16.3163 + -webkit-transition: opacity 0.15s linear;
16.3164 + -moz-transition: opacity 0.15s linear;
16.3165 + -o-transition: opacity 0.15s linear;
16.3166 + transition: opacity 0.15s linear;
16.3167 +}
16.3168 +
16.3169 +.fade.in {
16.3170 + opacity: 1;
16.3171 +}
16.3172 +
16.3173 +.collapse {
16.3174 + position: relative;
16.3175 + height: 0;
16.3176 + overflow: hidden;
16.3177 + -webkit-transition: height 0.35s ease;
16.3178 + -moz-transition: height 0.35s ease;
16.3179 + -o-transition: height 0.35s ease;
16.3180 + transition: height 0.35s ease;
16.3181 +}
16.3182 +
16.3183 +.collapse.in {
16.3184 + height: auto;
16.3185 +}
16.3186 +
16.3187 +.close {
16.3188 + float: right;
16.3189 + font-size: 20px;
16.3190 + font-weight: bold;
16.3191 + line-height: 20px;
16.3192 + color: #000000;
16.3193 + text-shadow: 0 1px 0 #ffffff;
16.3194 + opacity: 0.2;
16.3195 + filter: alpha(opacity=20);
16.3196 +}
16.3197 +
16.3198 +.close:hover,
16.3199 +.close:focus {
16.3200 + color: #000000;
16.3201 + text-decoration: none;
16.3202 + cursor: pointer;
16.3203 + opacity: 0.4;
16.3204 + filter: alpha(opacity=40);
16.3205 +}
16.3206 +
16.3207 +button.close {
16.3208 + padding: 0;
16.3209 + cursor: pointer;
16.3210 + background: transparent;
16.3211 + border: 0;
16.3212 + -webkit-appearance: none;
16.3213 +}
16.3214 +
16.3215 +.btn {
16.3216 + display: inline-block;
16.3217 + *display: inline;
16.3218 + padding: 4px 12px;
16.3219 + margin-bottom: 0;
16.3220 + *margin-left: .3em;
16.3221 + font-size: 14px;
16.3222 + line-height: 20px;
16.3223 + color: #333333;
16.3224 + text-align: center;
16.3225 + text-shadow: none;
16.3226 + vertical-align: middle;
16.3227 + cursor: pointer;
16.3228 + background-color: #f5f5f5;
16.3229 + *background-color: #e6e6e6;
16.3230 + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
16.3231 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
16.3232 + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
16.3233 + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
16.3234 + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
16.3235 + background-repeat: repeat-x;
16.3236 + border: 1px solid #cccccc;
16.3237 + *border: 0;
16.3238 + border-color: #e6e6e6 #e6e6e6 #bfbfbf;
16.3239 + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
16.3240 + border-bottom-color: #b3b3b3;
16.3241 + -webkit-border-radius: 4px;
16.3242 + -moz-border-radius: 4px;
16.3243 + border-radius: 4px;
16.3244 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
16.3245 + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
16.3246 + *zoom: 1;
16.3247 + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
16.3248 + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
16.3249 + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
16.3250 +}
16.3251 +
16.3252 +.btn:hover,
16.3253 +.btn:focus,
16.3254 +.btn:active,
16.3255 +.btn.active,
16.3256 +.btn.disabled,
16.3257 +.btn[disabled] {
16.3258 + color: #333333;
16.3259 + background-color: #e6e6e6;
16.3260 + *background-color: #d9d9d9;
16.3261 +}
16.3262 +
16.3263 +.btn:active,
16.3264 +.btn.active {
16.3265 + background-color: #cccccc \9;
16.3266 +}
16.3267 +
16.3268 +.btn:first-child {
16.3269 + *margin-left: 0;
16.3270 +}
16.3271 +
16.3272 +.btn:hover,
16.3273 +.btn:focus {
16.3274 + color: #333333;
16.3275 + text-decoration: none;
16.3276 + background-position: 0 -15px;
16.3277 + -webkit-transition: background-position 0.1s linear;
16.3278 + -moz-transition: background-position 0.1s linear;
16.3279 + -o-transition: background-position 0.1s linear;
16.3280 + transition: background-position 0.1s linear;
16.3281 +}
16.3282 +
16.3283 +.btn:focus {
16.3284 + outline: thin dotted #333;
16.3285 + outline: 5px auto -webkit-focus-ring-color;
16.3286 + outline-offset: -2px;
16.3287 +}
16.3288 +
16.3289 +.btn.active,
16.3290 +.btn:active {
16.3291 + background-image: none;
16.3292 + outline: 0;
16.3293 + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
16.3294 + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
16.3295 + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
16.3296 +}
16.3297 +
16.3298 +.btn.disabled,
16.3299 +.btn[disabled] {
16.3300 + cursor: default;
16.3301 + background-image: none;
16.3302 + opacity: 0.65;
16.3303 + filter: alpha(opacity=65);
16.3304 + -webkit-box-shadow: none;
16.3305 + -moz-box-shadow: none;
16.3306 + box-shadow: none;
16.3307 +}
16.3308 +
16.3309 +.btn-large {
16.3310 + padding: 11px 19px;
16.3311 + font-size: 17.5px;
16.3312 + -webkit-border-radius: 6px;
16.3313 + -moz-border-radius: 6px;
16.3314 + border-radius: 6px;
16.3315 +}
16.3316 +
16.3317 +.btn-large [class^="icon-"],
16.3318 +.btn-large [class*=" icon-"] {
16.3319 + margin-top: 4px;
16.3320 +}
16.3321 +
16.3322 +.btn-small {
16.3323 + padding: 2px 10px;
16.3324 + font-size: 11.9px;
16.3325 + -webkit-border-radius: 3px;
16.3326 + -moz-border-radius: 3px;
16.3327 + border-radius: 3px;
16.3328 +}
16.3329 +
16.3330 +.btn-small [class^="icon-"],
16.3331 +.btn-small [class*=" icon-"] {
16.3332 + margin-top: 0;
16.3333 +}
16.3334 +
16.3335 +.btn-mini [class^="icon-"],
16.3336 +.btn-mini [class*=" icon-"] {
16.3337 + margin-top: -1px;
16.3338 +}
16.3339 +
16.3340 +.btn-mini {
16.3341 + padding: 0 6px;
16.3342 + font-size: 10.5px;
16.3343 + -webkit-border-radius: 3px;
16.3344 + -moz-border-radius: 3px;
16.3345 + border-radius: 3px;
16.3346 +}
16.3347 +
16.3348 +.btn-block {
16.3349 + display: block;
16.3350 + width: 100%;
16.3351 + padding-right: 0;
16.3352 + padding-left: 0;
16.3353 + -webkit-box-sizing: border-box;
16.3354 + -moz-box-sizing: border-box;
16.3355 + box-sizing: border-box;
16.3356 +}
16.3357 +
16.3358 +.btn-block + .btn-block {
16.3359 + margin-top: 5px;
16.3360 +}
16.3361 +
16.3362 +input[type="submit"].btn-block,
16.3363 +input[type="reset"].btn-block,
16.3364 +input[type="button"].btn-block {
16.3365 + width: 100%;
16.3366 +}
16.3367 +
16.3368 +.btn-primary.active,
16.3369 +.btn-warning.active,
16.3370 +.btn-danger.active,
16.3371 +.btn-success.active,
16.3372 +.btn-info.active,
16.3373 +.btn-inverse.active {
16.3374 + color: rgba(255, 255, 255, 0.75);
16.3375 +}
16.3376 +
16.3377 +.btn-primary {
16.3378 + color: #ffffff;
16.3379 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
16.3380 + background-color: #006dcc;
16.3381 + *background-color: #0044cc;
16.3382 + background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
16.3383 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
16.3384 + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
16.3385 + background-image: -o-linear-gradient(top, #0088cc, #0044cc);
16.3386 + background-image: linear-gradient(to bottom, #0088cc, #0044cc);
16.3387 + background-repeat: repeat-x;
16.3388 + border-color: #0044cc #0044cc #002a80;
16.3389 + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
16.3390 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
16.3391 + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
16.3392 +}
16.3393 +
16.3394 +.btn-primary:hover,
16.3395 +.btn-primary:focus,
16.3396 +.btn-primary:active,
16.3397 +.btn-primary.active,
16.3398 +.btn-primary.disabled,
16.3399 +.btn-primary[disabled] {
16.3400 + color: #ffffff;
16.3401 + background-color: #0044cc;
16.3402 + *background-color: #003bb3;
16.3403 +}
16.3404 +
16.3405 +.btn-primary:active,
16.3406 +.btn-primary.active {
16.3407 + background-color: #003399 \9;
16.3408 +}
16.3409 +
16.3410 +.btn-warning {
16.3411 + color: #ffffff;
16.3412 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
16.3413 + background-color: #faa732;
16.3414 + *background-color: #f89406;
16.3415 + background-image: -moz-linear-gradient(top, #fbb450, #f89406);
16.3416 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
16.3417 + background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
16.3418 + background-image: -o-linear-gradient(top, #fbb450, #f89406);
16.3419 + background-image: linear-gradient(to bottom, #fbb450, #f89406);
16.3420 + background-repeat: repeat-x;
16.3421 + border-color: #f89406 #f89406 #ad6704;
16.3422 + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
16.3423 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
16.3424 + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
16.3425 +}
16.3426 +
16.3427 +.btn-warning:hover,
16.3428 +.btn-warning:focus,
16.3429 +.btn-warning:active,
16.3430 +.btn-warning.active,
16.3431 +.btn-warning.disabled,
16.3432 +.btn-warning[disabled] {
16.3433 + color: #ffffff;
16.3434 + background-color: #f89406;
16.3435 + *background-color: #df8505;
16.3436 +}
16.3437 +
16.3438 +.btn-warning:active,
16.3439 +.btn-warning.active {
16.3440 + background-color: #c67605 \9;
16.3441 +}
16.3442 +
16.3443 +.btn-danger {
16.3444 + color: #ffffff;
16.3445 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
16.3446 + background-color: #da4f49;
16.3447 + *background-color: #bd362f;
16.3448 + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
16.3449 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
16.3450 + background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
16.3451 + background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
16.3452 + background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
16.3453 + background-repeat: repeat-x;
16.3454 + border-color: #bd362f #bd362f #802420;
16.3455 + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
16.3456 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
16.3457 + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
16.3458 +}
16.3459 +
16.3460 +.btn-danger:hover,
16.3461 +.btn-danger:focus,
16.3462 +.btn-danger:active,
16.3463 +.btn-danger.active,
16.3464 +.btn-danger.disabled,
16.3465 +.btn-danger[disabled] {
16.3466 + color: #ffffff;
16.3467 + background-color: #bd362f;
16.3468 + *background-color: #a9302a;
16.3469 +}
16.3470 +
16.3471 +.btn-danger:active,
16.3472 +.btn-danger.active {
16.3473 + background-color: #942a25 \9;
16.3474 +}
16.3475 +
16.3476 +.btn-success {
16.3477 + color: #ffffff;
16.3478 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
16.3479 + background-color: #5bb75b;
16.3480 + *background-color: #51a351;
16.3481 + background-image: -moz-linear-gradient(top, #62c462, #51a351);
16.3482 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
16.3483 + background-image: -webkit-linear-gradient(top, #62c462, #51a351);
16.3484 + background-image: -o-linear-gradient(top, #62c462, #51a351);
16.3485 + background-image: linear-gradient(to bottom, #62c462, #51a351);
16.3486 + background-repeat: repeat-x;
16.3487 + border-color: #51a351 #51a351 #387038;
16.3488 + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
16.3489 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
16.3490 + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
16.3491 +}
16.3492 +
16.3493 +.btn-success:hover,
16.3494 +.btn-success:focus,
16.3495 +.btn-success:active,
16.3496 +.btn-success.active,
16.3497 +.btn-success.disabled,
16.3498 +.btn-success[disabled] {
16.3499 + color: #ffffff;
16.3500 + background-color: #51a351;
16.3501 + *background-color: #499249;
16.3502 +}
16.3503 +
16.3504 +.btn-success:active,
16.3505 +.btn-success.active {
16.3506 + background-color: #408140 \9;
16.3507 +}
16.3508 +
16.3509 +.btn-info {
16.3510 + color: #ffffff;
16.3511 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
16.3512 + background-color: #49afcd;
16.3513 + *background-color: #2f96b4;
16.3514 + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
16.3515 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
16.3516 + background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
16.3517 + background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
16.3518 + background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
16.3519 + background-repeat: repeat-x;
16.3520 + border-color: #2f96b4 #2f96b4 #1f6377;
16.3521 + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
16.3522 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
16.3523 + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
16.3524 +}
16.3525 +
16.3526 +.btn-info:hover,
16.3527 +.btn-info:focus,
16.3528 +.btn-info:active,
16.3529 +.btn-info.active,
16.3530 +.btn-info.disabled,
16.3531 +.btn-info[disabled] {
16.3532 + color: #ffffff;
16.3533 + background-color: #2f96b4;
16.3534 + *background-color: #2a85a0;
16.3535 +}
16.3536 +
16.3537 +.btn-info:active,
16.3538 +.btn-info.active {
16.3539 + background-color: #24748c \9;
16.3540 +}
16.3541 +
16.3542 +.btn-inverse {
16.3543 + color: #ffffff;
16.3544 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
16.3545 + background-color: #363636;
16.3546 + *background-color: #222222;
16.3547 + background-image: -moz-linear-gradient(top, #444444, #222222);
16.3548 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
16.3549 + background-image: -webkit-linear-gradient(top, #444444, #222222);
16.3550 + background-image: -o-linear-gradient(top, #444444, #222222);
16.3551 + background-image: linear-gradient(to bottom, #444444, #222222);
16.3552 + background-repeat: repeat-x;
16.3553 + border-color: #222222 #222222 #000000;
16.3554 + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
16.3555 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
16.3556 + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
16.3557 +}
16.3558 +
16.3559 +.btn-inverse:hover,
16.3560 +.btn-inverse:focus,
16.3561 +.btn-inverse:active,
16.3562 +.btn-inverse.active,
16.3563 +.btn-inverse.disabled,
16.3564 +.btn-inverse[disabled] {
16.3565 + color: #ffffff;
16.3566 + background-color: #222222;
16.3567 + *background-color: #151515;
16.3568 +}
16.3569 +
16.3570 +.btn-inverse:active,
16.3571 +.btn-inverse.active {
16.3572 + background-color: #080808 \9;
16.3573 +}
16.3574 +
16.3575 +button.btn,
16.3576 +input[type="submit"].btn {
16.3577 + *padding-top: 3px;
16.3578 + *padding-bottom: 3px;
16.3579 +}
16.3580 +
16.3581 +button.btn::-moz-focus-inner,
16.3582 +input[type="submit"].btn::-moz-focus-inner {
16.3583 + padding: 0;
16.3584 + border: 0;
16.3585 +}
16.3586 +
16.3587 +button.btn.btn-large,
16.3588 +input[type="submit"].btn.btn-large {
16.3589 + *padding-top: 7px;
16.3590 + *padding-bottom: 7px;
16.3591 +}
16.3592 +
16.3593 +button.btn.btn-small,
16.3594 +input[type="submit"].btn.btn-small {
16.3595 + *padding-top: 3px;
16.3596 + *padding-bottom: 3px;
16.3597 +}
16.3598 +
16.3599 +button.btn.btn-mini,
16.3600 +input[type="submit"].btn.btn-mini {
16.3601 + *padding-top: 1px;
16.3602 + *padding-bottom: 1px;
16.3603 +}
16.3604 +
16.3605 +.btn-link,
16.3606 +.btn-link:active,
16.3607 +.btn-link[disabled] {
16.3608 + background-color: transparent;
16.3609 + background-image: none;
16.3610 + -webkit-box-shadow: none;
16.3611 + -moz-box-shadow: none;
16.3612 + box-shadow: none;
16.3613 +}
16.3614 +
16.3615 +.btn-link {
16.3616 + color: #0088cc;
16.3617 + cursor: pointer;
16.3618 + border-color: transparent;
16.3619 + -webkit-border-radius: 0;
16.3620 + -moz-border-radius: 0;
16.3621 + border-radius: 0;
16.3622 +}
16.3623 +
16.3624 +.btn-link:hover,
16.3625 +.btn-link:focus {
16.3626 + color: #005580;
16.3627 + text-decoration: underline;
16.3628 + background-color: transparent;
16.3629 +}
16.3630 +
16.3631 +.btn-link[disabled]:hover,
16.3632 +.btn-link[disabled]:focus {
16.3633 + color: #333333;
16.3634 + text-decoration: none;
16.3635 +}
16.3636 +
16.3637 +.btn-group {
16.3638 + position: relative;
16.3639 + display: inline-block;
16.3640 + *display: inline;
16.3641 + *margin-left: .3em;
16.3642 + font-size: 0;
16.3643 + white-space: nowrap;
16.3644 + vertical-align: middle;
16.3645 + *zoom: 1;
16.3646 +}
16.3647 +
16.3648 +.btn-group:first-child {
16.3649 + *margin-left: 0;
16.3650 +}
16.3651 +
16.3652 +.btn-group + .btn-group {
16.3653 + margin-left: 5px;
16.3654 +}
16.3655 +
16.3656 +.btn-toolbar {
16.3657 + margin-top: 10px;
16.3658 + margin-bottom: 10px;
16.3659 + font-size: 0;
16.3660 +}
16.3661 +
16.3662 +.btn-toolbar > .btn + .btn,
16.3663 +.btn-toolbar > .btn-group + .btn,
16.3664 +.btn-toolbar > .btn + .btn-group {
16.3665 + margin-left: 5px;
16.3666 +}
16.3667 +
16.3668 +.btn-group > .btn {
16.3669 + position: relative;
16.3670 + -webkit-border-radius: 0;
16.3671 + -moz-border-radius: 0;
16.3672 + border-radius: 0;
16.3673 +}
16.3674 +
16.3675 +.btn-group > .btn + .btn {
16.3676 + margin-left: -1px;
16.3677 +}
16.3678 +
16.3679 +.btn-group > .btn,
16.3680 +.btn-group > .dropdown-menu,
16.3681 +.btn-group > .popover {
16.3682 + font-size: 14px;
16.3683 +}
16.3684 +
16.3685 +.btn-group > .btn-mini {
16.3686 + font-size: 10.5px;
16.3687 +}
16.3688 +
16.3689 +.btn-group > .btn-small {
16.3690 + font-size: 11.9px;
16.3691 +}
16.3692 +
16.3693 +.btn-group > .btn-large {
16.3694 + font-size: 17.5px;
16.3695 +}
16.3696 +
16.3697 +.btn-group > .btn:first-child {
16.3698 + margin-left: 0;
16.3699 + -webkit-border-bottom-left-radius: 4px;
16.3700 + border-bottom-left-radius: 4px;
16.3701 + -webkit-border-top-left-radius: 4px;
16.3702 + border-top-left-radius: 4px;
16.3703 + -moz-border-radius-bottomleft: 4px;
16.3704 + -moz-border-radius-topleft: 4px;
16.3705 +}
16.3706 +
16.3707 +.btn-group > .btn:last-child,
16.3708 +.btn-group > .dropdown-toggle {
16.3709 + -webkit-border-top-right-radius: 4px;
16.3710 + border-top-right-radius: 4px;
16.3711 + -webkit-border-bottom-right-radius: 4px;
16.3712 + border-bottom-right-radius: 4px;
16.3713 + -moz-border-radius-topright: 4px;
16.3714 + -moz-border-radius-bottomright: 4px;
16.3715 +}
16.3716 +
16.3717 +.btn-group > .btn.large:first-child {
16.3718 + margin-left: 0;
16.3719 + -webkit-border-bottom-left-radius: 6px;
16.3720 + border-bottom-left-radius: 6px;
16.3721 + -webkit-border-top-left-radius: 6px;
16.3722 + border-top-left-radius: 6px;
16.3723 + -moz-border-radius-bottomleft: 6px;
16.3724 + -moz-border-radius-topleft: 6px;
16.3725 +}
16.3726 +
16.3727 +.btn-group > .btn.large:last-child,
16.3728 +.btn-group > .large.dropdown-toggle {
16.3729 + -webkit-border-top-right-radius: 6px;
16.3730 + border-top-right-radius: 6px;
16.3731 + -webkit-border-bottom-right-radius: 6px;
16.3732 + border-bottom-right-radius: 6px;
16.3733 + -moz-border-radius-topright: 6px;
16.3734 + -moz-border-radius-bottomright: 6px;
16.3735 +}
16.3736 +
16.3737 +.btn-group > .btn:hover,
16.3738 +.btn-group > .btn:focus,
16.3739 +.btn-group > .btn:active,
16.3740 +.btn-group > .btn.active {
16.3741 + z-index: 2;
16.3742 +}
16.3743 +
16.3744 +.btn-group .dropdown-toggle:active,
16.3745 +.btn-group.open .dropdown-toggle {
16.3746 + outline: 0;
16.3747 +}
16.3748 +
16.3749 +.btn-group > .btn + .dropdown-toggle {
16.3750 + *padding-top: 5px;
16.3751 + padding-right: 8px;
16.3752 + *padding-bottom: 5px;
16.3753 + padding-left: 8px;
16.3754 + -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);
16.3755 + -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);
16.3756 + 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);
16.3757 +}
16.3758 +
16.3759 +.btn-group > .btn-mini + .dropdown-toggle {
16.3760 + *padding-top: 2px;
16.3761 + padding-right: 5px;
16.3762 + *padding-bottom: 2px;
16.3763 + padding-left: 5px;
16.3764 +}
16.3765 +
16.3766 +.btn-group > .btn-small + .dropdown-toggle {
16.3767 + *padding-top: 5px;
16.3768 + *padding-bottom: 4px;
16.3769 +}
16.3770 +
16.3771 +.btn-group > .btn-large + .dropdown-toggle {
16.3772 + *padding-top: 7px;
16.3773 + padding-right: 12px;
16.3774 + *padding-bottom: 7px;
16.3775 + padding-left: 12px;
16.3776 +}
16.3777 +
16.3778 +.btn-group.open .dropdown-toggle {
16.3779 + background-image: none;
16.3780 + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
16.3781 + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
16.3782 + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
16.3783 +}
16.3784 +
16.3785 +.btn-group.open .btn.dropdown-toggle {
16.3786 + background-color: #e6e6e6;
16.3787 +}
16.3788 +
16.3789 +.btn-group.open .btn-primary.dropdown-toggle {
16.3790 + background-color: #0044cc;
16.3791 +}
16.3792 +
16.3793 +.btn-group.open .btn-warning.dropdown-toggle {
16.3794 + background-color: #f89406;
16.3795 +}
16.3796 +
16.3797 +.btn-group.open .btn-danger.dropdown-toggle {
16.3798 + background-color: #bd362f;
16.3799 +}
16.3800 +
16.3801 +.btn-group.open .btn-success.dropdown-toggle {
16.3802 + background-color: #51a351;
16.3803 +}
16.3804 +
16.3805 +.btn-group.open .btn-info.dropdown-toggle {
16.3806 + background-color: #2f96b4;
16.3807 +}
16.3808 +
16.3809 +.btn-group.open .btn-inverse.dropdown-toggle {
16.3810 + background-color: #222222;
16.3811 +}
16.3812 +
16.3813 +.btn .caret {
16.3814 + margin-top: 8px;
16.3815 + margin-left: 0;
16.3816 +}
16.3817 +
16.3818 +.btn-large .caret {
16.3819 + margin-top: 6px;
16.3820 +}
16.3821 +
16.3822 +.btn-large .caret {
16.3823 + border-top-width: 5px;
16.3824 + border-right-width: 5px;
16.3825 + border-left-width: 5px;
16.3826 +}
16.3827 +
16.3828 +.btn-mini .caret,
16.3829 +.btn-small .caret {
16.3830 + margin-top: 8px;
16.3831 +}
16.3832 +
16.3833 +.dropup .btn-large .caret {
16.3834 + border-bottom-width: 5px;
16.3835 +}
16.3836 +
16.3837 +.btn-primary .caret,
16.3838 +.btn-warning .caret,
16.3839 +.btn-danger .caret,
16.3840 +.btn-info .caret,
16.3841 +.btn-success .caret,
16.3842 +.btn-inverse .caret {
16.3843 + border-top-color: #ffffff;
16.3844 + border-bottom-color: #ffffff;
16.3845 +}
16.3846 +
16.3847 +.btn-group-vertical {
16.3848 + display: inline-block;
16.3849 + *display: inline;
16.3850 + /* IE7 inline-block hack */
16.3851 +
16.3852 + *zoom: 1;
16.3853 +}
16.3854 +
16.3855 +.btn-group-vertical > .btn {
16.3856 + display: block;
16.3857 + float: none;
16.3858 + max-width: 100%;
16.3859 + -webkit-border-radius: 0;
16.3860 + -moz-border-radius: 0;
16.3861 + border-radius: 0;
16.3862 +}
16.3863 +
16.3864 +.btn-group-vertical > .btn + .btn {
16.3865 + margin-top: -1px;
16.3866 + margin-left: 0;
16.3867 +}
16.3868 +
16.3869 +.btn-group-vertical > .btn:first-child {
16.3870 + -webkit-border-radius: 4px 4px 0 0;
16.3871 + -moz-border-radius: 4px 4px 0 0;
16.3872 + border-radius: 4px 4px 0 0;
16.3873 +}
16.3874 +
16.3875 +.btn-group-vertical > .btn:last-child {
16.3876 + -webkit-border-radius: 0 0 4px 4px;
16.3877 + -moz-border-radius: 0 0 4px 4px;
16.3878 + border-radius: 0 0 4px 4px;
16.3879 +}
16.3880 +
16.3881 +.btn-group-vertical > .btn-large:first-child {
16.3882 + -webkit-border-radius: 6px 6px 0 0;
16.3883 + -moz-border-radius: 6px 6px 0 0;
16.3884 + border-radius: 6px 6px 0 0;
16.3885 +}
16.3886 +
16.3887 +.btn-group-vertical > .btn-large:last-child {
16.3888 + -webkit-border-radius: 0 0 6px 6px;
16.3889 + -moz-border-radius: 0 0 6px 6px;
16.3890 + border-radius: 0 0 6px 6px;
16.3891 +}
16.3892 +
16.3893 +.alert {
16.3894 + padding: 8px 35px 8px 14px;
16.3895 + margin-bottom: 20px;
16.3896 + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
16.3897 + background-color: #fcf8e3;
16.3898 + border: 1px solid #fbeed5;
16.3899 + -webkit-border-radius: 4px;
16.3900 + -moz-border-radius: 4px;
16.3901 + border-radius: 4px;
16.3902 +}
16.3903 +
16.3904 +.alert,
16.3905 +.alert h4 {
16.3906 + color: #c09853;
16.3907 +}
16.3908 +
16.3909 +.alert h4 {
16.3910 + margin: 0;
16.3911 +}
16.3912 +
16.3913 +.alert .close {
16.3914 + position: relative;
16.3915 + top: -2px;
16.3916 + right: -21px;
16.3917 + line-height: 20px;
16.3918 +}
16.3919 +
16.3920 +.alert-success {
16.3921 + color: #468847;
16.3922 + background-color: #dff0d8;
16.3923 + border-color: #d6e9c6;
16.3924 +}
16.3925 +
16.3926 +.alert-success h4 {
16.3927 + color: #468847;
16.3928 +}
16.3929 +
16.3930 +.alert-danger,
16.3931 +.alert-error {
16.3932 + color: #b94a48;
16.3933 + background-color: #f2dede;
16.3934 + border-color: #eed3d7;
16.3935 +}
16.3936 +
16.3937 +.alert-danger h4,
16.3938 +.alert-error h4 {
16.3939 + color: #b94a48;
16.3940 +}
16.3941 +
16.3942 +.alert-info {
16.3943 + color: #3a87ad;
16.3944 + background-color: #d9edf7;
16.3945 + border-color: #bce8f1;
16.3946 +}
16.3947 +
16.3948 +.alert-info h4 {
16.3949 + color: #3a87ad;
16.3950 +}
16.3951 +
16.3952 +.alert-block {
16.3953 + padding-top: 14px;
16.3954 + padding-bottom: 14px;
16.3955 +}
16.3956 +
16.3957 +.alert-block > p,
16.3958 +.alert-block > ul {
16.3959 + margin-bottom: 0;
16.3960 +}
16.3961 +
16.3962 +.alert-block p + p {
16.3963 + margin-top: 5px;
16.3964 +}
16.3965 +
16.3966 +.nav {
16.3967 + margin-bottom: 20px;
16.3968 + margin-left: 0;
16.3969 + list-style: none;
16.3970 +}
16.3971 +
16.3972 +.nav > li > a {
16.3973 + display: inline-block;
16.3974 +}
16.3975 +
16.3976 +.nav > li > a:hover,
16.3977 +.nav > li > a:focus {
16.3978 + text-decoration: none;
16.3979 + background-color: #eeeeee;
16.3980 +}
16.3981 +
16.3982 +.nav > li > a > img {
16.3983 + max-width: none;
16.3984 +}
16.3985 +
16.3986 +.nav > .pull-right {
16.3987 + float: right;
16.3988 +}
16.3989 +
16.3990 +.nav-header {
16.3991 + display: block;
16.3992 + padding: 3px 15px;
16.3993 + font-size: 11px;
16.3994 + font-weight: bold;
16.3995 + line-height: 20px;
16.3996 + color: #999999;
16.3997 + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
16.3998 + text-transform: uppercase;
16.3999 +}
16.4000 +
16.4001 +.nav li + .nav-header {
16.4002 + margin-top: 9px;
16.4003 +}
16.4004 +
16.4005 +.nav-list {
16.4006 + padding-right: 15px;
16.4007 + padding-left: 15px;
16.4008 + margin-bottom: 0;
16.4009 +}
16.4010 +
16.4011 +.nav-list > li > a,
16.4012 +.nav-list .nav-header {
16.4013 + margin-right: -15px;
16.4014 + margin-left: -15px;
16.4015 + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
16.4016 +}
16.4017 +
16.4018 +.nav-list > li > a {
16.4019 + padding: 3px 15px;
16.4020 +}
16.4021 +
16.4022 +.nav-list > .active > a,
16.4023 +.nav-list > .active > a:hover,
16.4024 +.nav-list > .active > a:focus {
16.4025 + color: #ffffff;
16.4026 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
16.4027 + background-color: #0088cc;
16.4028 +}
16.4029 +
16.4030 +.nav-list [class^="icon-"],
16.4031 +.nav-list [class*=" icon-"] {
16.4032 + margin-right: 2px;
16.4033 +}
16.4034 +
16.4035 +.nav-list .divider {
16.4036 + *width: 100%;
16.4037 + height: 1px;
16.4038 + margin: 9px 1px;
16.4039 + *margin: -5px 0 5px;
16.4040 + overflow: hidden;
16.4041 + background-color: #e5e5e5;
16.4042 + border-bottom: 1px solid #ffffff;
16.4043 +}
16.4044 +
16.4045 +.nav-tabs,
16.4046 +.nav-pills {
16.4047 + *zoom: 1;
16.4048 +}
16.4049 +
16.4050 +.nav-tabs:before,
16.4051 +.nav-pills:before,
16.4052 +.nav-tabs:after,
16.4053 +.nav-pills:after {
16.4054 + display: table;
16.4055 + line-height: 0;
16.4056 + content: "";
16.4057 +}
16.4058 +
16.4059 +.nav-tabs:after,
16.4060 +.nav-pills:after {
16.4061 + clear: both;
16.4062 +}
16.4063 +
16.4064 +.nav-tabs > li,
16.4065 +.nav-pills > li {
16.4066 + float: left;
16.4067 +}
16.4068 +
16.4069 +.nav-tabs > li > a,
16.4070 +.nav-pills > li > a {
16.4071 + padding-right: 12px;
16.4072 + padding-left: 12px;
16.4073 + margin-right: 2px;
16.4074 + line-height: 14px;
16.4075 +}
16.4076 +
16.4077 +.nav-tabs {
16.4078 + border-bottom: 1px solid #ddd;
16.4079 +}
16.4080 +
16.4081 +.nav-tabs > li {
16.4082 + margin-bottom: -1px;
16.4083 +}
16.4084 +
16.4085 +.nav-tabs > li > a {
16.4086 + padding-top: 8px;
16.4087 + padding-bottom: 8px;
16.4088 + line-height: 20px;
16.4089 + border: 1px solid transparent;
16.4090 + -webkit-border-radius: 4px 4px 0 0;
16.4091 + -moz-border-radius: 4px 4px 0 0;
16.4092 + border-radius: 4px 4px 0 0;
16.4093 +}
16.4094 +
16.4095 +.nav-tabs > li > a:hover,
16.4096 +.nav-tabs > li > a:focus {
16.4097 + border-color: #eeeeee #eeeeee #dddddd;
16.4098 +}
16.4099 +
16.4100 +.nav-tabs > .active > a,
16.4101 +.nav-tabs > .active > a:hover,
16.4102 +.nav-tabs > .active > a:focus {
16.4103 + color: #555555;
16.4104 + cursor: default;
16.4105 + background-color: #ffffff;
16.4106 + border: 1px solid #ddd;
16.4107 + border-bottom-color: transparent;
16.4108 +}
16.4109 +
16.4110 +.nav-pills > li > a {
16.4111 + padding-top: 8px;
16.4112 + padding-bottom: 8px;
16.4113 + margin-top: 2px;
16.4114 + margin-bottom: 2px;
16.4115 + -webkit-border-radius: 5px;
16.4116 + -moz-border-radius: 5px;
16.4117 + border-radius: 5px;
16.4118 +}
16.4119 +
16.4120 +.nav-pills > .active > a,
16.4121 +.nav-pills > .active > a:hover,
16.4122 +.nav-pills > .active > a:focus {
16.4123 + color: #ffffff;
16.4124 + background-color: #0088cc;
16.4125 +}
16.4126 +
16.4127 +.nav-stacked > li {
16.4128 + float: none;
16.4129 +}
16.4130 +
16.4131 +.nav-stacked > li > a {
16.4132 + margin-right: 0;
16.4133 +}
16.4134 +
16.4135 +.nav-tabs.nav-stacked {
16.4136 + border-bottom: 0;
16.4137 +}
16.4138 +
16.4139 +.nav-tabs.nav-stacked > li > a {
16.4140 + border: 1px solid #ddd;
16.4141 + -webkit-border-radius: 0;
16.4142 + -moz-border-radius: 0;
16.4143 + border-radius: 0;
16.4144 +}
16.4145 +
16.4146 +.nav-tabs.nav-stacked > li:first-child > a {
16.4147 + -webkit-border-top-right-radius: 4px;
16.4148 + border-top-right-radius: 4px;
16.4149 + -webkit-border-top-left-radius: 4px;
16.4150 + border-top-left-radius: 4px;
16.4151 + -moz-border-radius-topright: 4px;
16.4152 + -moz-border-radius-topleft: 4px;
16.4153 +}
16.4154 +
16.4155 +.nav-tabs.nav-stacked > li:last-child > a {
16.4156 + -webkit-border-bottom-right-radius: 4px;
16.4157 + border-bottom-right-radius: 4px;
16.4158 + -webkit-border-bottom-left-radius: 4px;
16.4159 + border-bottom-left-radius: 4px;
16.4160 + -moz-border-radius-bottomright: 4px;
16.4161 + -moz-border-radius-bottomleft: 4px;
16.4162 +}
16.4163 +
16.4164 +.nav-tabs.nav-stacked > li > a:hover,
16.4165 +.nav-tabs.nav-stacked > li > a:focus {
16.4166 + z-index: 2;
16.4167 + border-color: #ddd;
16.4168 +}
16.4169 +
16.4170 +.nav-pills.nav-stacked > li > a {
16.4171 + margin-bottom: 3px;
16.4172 +}
16.4173 +
16.4174 +.nav-pills.nav-stacked > li:last-child > a {
16.4175 + margin-bottom: 1px;
16.4176 +}
16.4177 +
16.4178 +.nav-tabs .dropdown-menu {
16.4179 + -webkit-border-radius: 0 0 6px 6px;
16.4180 + -moz-border-radius: 0 0 6px 6px;
16.4181 + border-radius: 0 0 6px 6px;
16.4182 +}
16.4183 +
16.4184 +.nav-pills .dropdown-menu {
16.4185 + -webkit-border-radius: 6px;
16.4186 + -moz-border-radius: 6px;
16.4187 + border-radius: 6px;
16.4188 +}
16.4189 +
16.4190 +.nav .dropdown-toggle .caret {
16.4191 + margin-top: 6px;
16.4192 + border-top-color: #0088cc;
16.4193 + border-bottom-color: #0088cc;
16.4194 +}
16.4195 +
16.4196 +.nav .dropdown-toggle:hover .caret,
16.4197 +.nav .dropdown-toggle:focus .caret {
16.4198 + border-top-color: #005580;
16.4199 + border-bottom-color: #005580;
16.4200 +}
16.4201 +
16.4202 +/* move down carets for tabs */
16.4203 +
16.4204 +.nav-tabs .dropdown-toggle .caret {
16.4205 + margin-top: 8px;
16.4206 +}
16.4207 +
16.4208 +.nav .active .dropdown-toggle .caret {
16.4209 + border-top-color: #fff;
16.4210 + border-bottom-color: #fff;
16.4211 +}
16.4212 +
16.4213 +.nav-tabs .active .dropdown-toggle .caret {
16.4214 + border-top-color: #555555;
16.4215 + border-bottom-color: #555555;
16.4216 +}
16.4217 +
16.4218 +.nav > .dropdown.active > a:hover,
16.4219 +.nav > .dropdown.active > a:focus {
16.4220 + cursor: pointer;
16.4221 +}
16.4222 +
16.4223 +.nav-tabs .open .dropdown-toggle,
16.4224 +.nav-pills .open .dropdown-toggle,
16.4225 +.nav > li.dropdown.open.active > a:hover,
16.4226 +.nav > li.dropdown.open.active > a:focus {
16.4227 + color: #ffffff;
16.4228 + background-color: #999999;
16.4229 + border-color: #999999;
16.4230 +}
16.4231 +
16.4232 +.nav li.dropdown.open .caret,
16.4233 +.nav li.dropdown.open.active .caret,
16.4234 +.nav li.dropdown.open a:hover .caret,
16.4235 +.nav li.dropdown.open a:focus .caret {
16.4236 + border-top-color: #ffffff;
16.4237 + border-bottom-color: #ffffff;
16.4238 + opacity: 1;
16.4239 + filter: alpha(opacity=100);
16.4240 +}
16.4241 +
16.4242 +.tabs-stacked .open > a:hover,
16.4243 +.tabs-stacked .open > a:focus {
16.4244 + border-color: #999999;
16.4245 +}
16.4246 +
16.4247 +.tabbable {
16.4248 + *zoom: 1;
16.4249 +}
16.4250 +
16.4251 +.tabbable:before,
16.4252 +.tabbable:after {
16.4253 + display: table;
16.4254 + line-height: 0;
16.4255 + content: "";
16.4256 +}
16.4257 +
16.4258 +.tabbable:after {
16.4259 + clear: both;
16.4260 +}
16.4261 +
16.4262 +.tab-content {
16.4263 + overflow: auto;
16.4264 +}
16.4265 +
16.4266 +.tabs-below > .nav-tabs,
16.4267 +.tabs-right > .nav-tabs,
16.4268 +.tabs-left > .nav-tabs {
16.4269 + border-bottom: 0;
16.4270 +}
16.4271 +
16.4272 +.tab-content > .tab-pane,
16.4273 +.pill-content > .pill-pane {
16.4274 + display: none;
16.4275 +}
16.4276 +
16.4277 +.tab-content > .active,
16.4278 +.pill-content > .active {
16.4279 + display: block;
16.4280 +}
16.4281 +
16.4282 +.tabs-below > .nav-tabs {
16.4283 + border-top: 1px solid #ddd;
16.4284 +}
16.4285 +
16.4286 +.tabs-below > .nav-tabs > li {
16.4287 + margin-top: -1px;
16.4288 + margin-bottom: 0;
16.4289 +}
16.4290 +
16.4291 +.tabs-below > .nav-tabs > li > a {
16.4292 + -webkit-border-radius: 0 0 4px 4px;
16.4293 + -moz-border-radius: 0 0 4px 4px;
16.4294 + border-radius: 0 0 4px 4px;
16.4295 +}
16.4296 +
16.4297 +.tabs-below > .nav-tabs > li > a:hover,
16.4298 +.tabs-below > .nav-tabs > li > a:focus {
16.4299 + border-top-color: #ddd;
16.4300 + border-bottom-color: transparent;
16.4301 +}
16.4302 +
16.4303 +.tabs-below > .nav-tabs > .active > a,
16.4304 +.tabs-below > .nav-tabs > .active > a:hover,
16.4305 +.tabs-below > .nav-tabs > .active > a:focus {
16.4306 + border-color: transparent #ddd #ddd #ddd;
16.4307 +}
16.4308 +
16.4309 +.tabs-left > .nav-tabs > li,
16.4310 +.tabs-right > .nav-tabs > li {
16.4311 + float: none;
16.4312 +}
16.4313 +
16.4314 +.tabs-left > .nav-tabs > li > a,
16.4315 +.tabs-right > .nav-tabs > li > a {
16.4316 + min-width: 74px;
16.4317 + margin-right: 0;
16.4318 + margin-bottom: 3px;
16.4319 +}
16.4320 +
16.4321 +.tabs-left > .nav-tabs {
16.4322 + float: left;
16.4323 + margin-right: 19px;
16.4324 + border-right: 1px solid #ddd;
16.4325 +}
16.4326 +
16.4327 +.tabs-left > .nav-tabs > li > a {
16.4328 + margin-right: -1px;
16.4329 + -webkit-border-radius: 4px 0 0 4px;
16.4330 + -moz-border-radius: 4px 0 0 4px;
16.4331 + border-radius: 4px 0 0 4px;
16.4332 +}
16.4333 +
16.4334 +.tabs-left > .nav-tabs > li > a:hover,
16.4335 +.tabs-left > .nav-tabs > li > a:focus {
16.4336 + border-color: #eeeeee #dddddd #eeeeee #eeeeee;
16.4337 +}
16.4338 +
16.4339 +.tabs-left > .nav-tabs .active > a,
16.4340 +.tabs-left > .nav-tabs .active > a:hover,
16.4341 +.tabs-left > .nav-tabs .active > a:focus {
16.4342 + border-color: #ddd transparent #ddd #ddd;
16.4343 + *border-right-color: #ffffff;
16.4344 +}
16.4345 +
16.4346 +.tabs-right > .nav-tabs {
16.4347 + float: right;
16.4348 + margin-left: 19px;
16.4349 + border-left: 1px solid #ddd;
16.4350 +}
16.4351 +
16.4352 +.tabs-right > .nav-tabs > li > a {
16.4353 + margin-left: -1px;
16.4354 + -webkit-border-radius: 0 4px 4px 0;
16.4355 + -moz-border-radius: 0 4px 4px 0;
16.4356 + border-radius: 0 4px 4px 0;
16.4357 +}
16.4358 +
16.4359 +.tabs-right > .nav-tabs > li > a:hover,
16.4360 +.tabs-right > .nav-tabs > li > a:focus {
16.4361 + border-color: #eeeeee #eeeeee #eeeeee #dddddd;
16.4362 +}
16.4363 +
16.4364 +.tabs-right > .nav-tabs .active > a,
16.4365 +.tabs-right > .nav-tabs .active > a:hover,
16.4366 +.tabs-right > .nav-tabs .active > a:focus {
16.4367 + border-color: #ddd #ddd #ddd transparent;
16.4368 + *border-left-color: #ffffff;
16.4369 +}
16.4370 +
16.4371 +.nav > .disabled > a {
16.4372 + color: #999999;
16.4373 +}
16.4374 +
16.4375 +.nav > .disabled > a:hover,
16.4376 +.nav > .disabled > a:focus {
16.4377 + text-decoration: none;
16.4378 + cursor: default;
16.4379 + background-color: transparent;
16.4380 +}
16.4381 +
16.4382 +.navbar {
16.4383 + *position: relative;
16.4384 + *z-index: 2;
16.4385 + margin-bottom: 20px;
16.4386 + overflow: visible;
16.4387 +}
16.4388 +
16.4389 +.navbar-inner {
16.4390 + min-height: 40px;
16.4391 + padding-right: 20px;
16.4392 + padding-left: 20px;
16.4393 + background-color: #fafafa;
16.4394 + background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
16.4395 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
16.4396 + background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
16.4397 + background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
16.4398 + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
16.4399 + background-repeat: repeat-x;
16.4400 + border: 1px solid #d4d4d4;
16.4401 + -webkit-border-radius: 4px;
16.4402 + -moz-border-radius: 4px;
16.4403 + border-radius: 4px;
16.4404 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
16.4405 + *zoom: 1;
16.4406 + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
16.4407 + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
16.4408 + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
16.4409 +}
16.4410 +
16.4411 +.navbar-inner:before,
16.4412 +.navbar-inner:after {
16.4413 + display: table;
16.4414 + line-height: 0;
16.4415 + content: "";
16.4416 +}
16.4417 +
16.4418 +.navbar-inner:after {
16.4419 + clear: both;
16.4420 +}
16.4421 +
16.4422 +.navbar .container {
16.4423 + width: auto;
16.4424 +}
16.4425 +
16.4426 +.nav-collapse.collapse {
16.4427 + height: auto;
16.4428 + overflow: visible;
16.4429 +}
16.4430 +
16.4431 +.navbar .brand {
16.4432 + display: block;
16.4433 + float: left;
16.4434 + padding: 10px 20px 10px;
16.4435 + margin-left: -20px;
16.4436 + font-size: 20px;
16.4437 + font-weight: 200;
16.4438 + color: #777777;
16.4439 + text-shadow: 0 1px 0 #ffffff;
16.4440 +}
16.4441 +
16.4442 +.navbar .brand:hover,
16.4443 +.navbar .brand:focus {
16.4444 + text-decoration: none;
16.4445 +}
16.4446 +
16.4447 +.navbar-text {
16.4448 + margin-bottom: 0;
16.4449 + line-height: 40px;
16.4450 + color: #777777;
16.4451 +}
16.4452 +
16.4453 +.navbar-link {
16.4454 + color: #777777;
16.4455 +}
16.4456 +
16.4457 +.navbar-link:hover,
16.4458 +.navbar-link:focus {
16.4459 + color: #333333;
16.4460 +}
16.4461 +
16.4462 +.navbar .divider-vertical {
16.4463 + height: 40px;
16.4464 + margin: 0 9px;
16.4465 + border-right: 1px solid #ffffff;
16.4466 + border-left: 1px solid #f2f2f2;
16.4467 +}
16.4468 +
16.4469 +.navbar .btn,
16.4470 +.navbar .btn-group {
16.4471 + margin-top: 5px;
16.4472 +}
16.4473 +
16.4474 +.navbar .btn-group .btn,
16.4475 +.navbar .input-prepend .btn,
16.4476 +.navbar .input-append .btn,
16.4477 +.navbar .input-prepend .btn-group,
16.4478 +.navbar .input-append .btn-group {
16.4479 + margin-top: 0;
16.4480 +}
16.4481 +
16.4482 +.navbar-form {
16.4483 + margin-bottom: 0;
16.4484 + *zoom: 1;
16.4485 +}
16.4486 +
16.4487 +.navbar-form:before,
16.4488 +.navbar-form:after {
16.4489 + display: table;
16.4490 + line-height: 0;
16.4491 + content: "";
16.4492 +}
16.4493 +
16.4494 +.navbar-form:after {
16.4495 + clear: both;
16.4496 +}
16.4497 +
16.4498 +.navbar-form input,
16.4499 +.navbar-form select,
16.4500 +.navbar-form .radio,
16.4501 +.navbar-form .checkbox {
16.4502 + margin-top: 5px;
16.4503 +}
16.4504 +
16.4505 +.navbar-form input,
16.4506 +.navbar-form select,
16.4507 +.navbar-form .btn {
16.4508 + display: inline-block;
16.4509 + margin-bottom: 0;
16.4510 +}
16.4511 +
16.4512 +.navbar-form input[type="image"],
16.4513 +.navbar-form input[type="checkbox"],
16.4514 +.navbar-form input[type="radio"] {
16.4515 + margin-top: 3px;
16.4516 +}
16.4517 +
16.4518 +.navbar-form .input-append,
16.4519 +.navbar-form .input-prepend {
16.4520 + margin-top: 5px;
16.4521 + white-space: nowrap;
16.4522 +}
16.4523 +
16.4524 +.navbar-form .input-append input,
16.4525 +.navbar-form .input-prepend input {
16.4526 + margin-top: 0;
16.4527 +}
16.4528 +
16.4529 +.navbar-search {
16.4530 + position: relative;
16.4531 + float: left;
16.4532 + margin-top: 5px;
16.4533 + margin-bottom: 0;
16.4534 +}
16.4535 +
16.4536 +.navbar-search .search-query {
16.4537 + padding: 4px 14px;
16.4538 + margin-bottom: 0;
16.4539 + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
16.4540 + font-size: 13px;
16.4541 + font-weight: normal;
16.4542 + line-height: 1;
16.4543 + -webkit-border-radius: 15px;
16.4544 + -moz-border-radius: 15px;
16.4545 + border-radius: 15px;
16.4546 +}
16.4547 +
16.4548 +.navbar-static-top {
16.4549 + position: static;
16.4550 + margin-bottom: 0;
16.4551 +}
16.4552 +
16.4553 +.navbar-static-top .navbar-inner {
16.4554 + -webkit-border-radius: 0;
16.4555 + -moz-border-radius: 0;
16.4556 + border-radius: 0;
16.4557 +}
16.4558 +
16.4559 +.navbar-fixed-top,
16.4560 +.navbar-fixed-bottom {
16.4561 + position: fixed;
16.4562 + right: 0;
16.4563 + left: 0;
16.4564 + z-index: 1030;
16.4565 + margin-bottom: 0;
16.4566 +}
16.4567 +
16.4568 +.navbar-fixed-top .navbar-inner,
16.4569 +.navbar-static-top .navbar-inner {
16.4570 + border-width: 0 0 1px;
16.4571 +}
16.4572 +
16.4573 +.navbar-fixed-bottom .navbar-inner {
16.4574 + border-width: 1px 0 0;
16.4575 +}
16.4576 +
16.4577 +.navbar-fixed-top .navbar-inner,
16.4578 +.navbar-fixed-bottom .navbar-inner {
16.4579 + padding-right: 0;
16.4580 + padding-left: 0;
16.4581 + -webkit-border-radius: 0;
16.4582 + -moz-border-radius: 0;
16.4583 + border-radius: 0;
16.4584 +}
16.4585 +
16.4586 +.navbar-static-top .container,
16.4587 +.navbar-fixed-top .container,
16.4588 +.navbar-fixed-bottom .container {
16.4589 + width: 940px;
16.4590 +}
16.4591 +
16.4592 +.navbar-fixed-top {
16.4593 + top: 0;
16.4594 +}
16.4595 +
16.4596 +.navbar-fixed-top .navbar-inner,
16.4597 +.navbar-static-top .navbar-inner {
16.4598 + -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
16.4599 + -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
16.4600 + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
16.4601 +}
16.4602 +
16.4603 +.navbar-fixed-bottom {
16.4604 + bottom: 0;
16.4605 +}
16.4606 +
16.4607 +.navbar-fixed-bottom .navbar-inner {
16.4608 + -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
16.4609 + -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
16.4610 + box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
16.4611 +}
16.4612 +
16.4613 +.navbar .nav {
16.4614 + position: relative;
16.4615 + left: 0;
16.4616 + display: block;
16.4617 + float: left;
16.4618 + margin: 0 10px 0 0;
16.4619 +}
16.4620 +
16.4621 +.navbar .nav.pull-right {
16.4622 + float: right;
16.4623 + margin-right: 0;
16.4624 +}
16.4625 +
16.4626 +.navbar .nav > li {
16.4627 + float: left;
16.4628 +}
16.4629 +
16.4630 +.navbar .nav > li > a {
16.4631 + float: none;
16.4632 + padding: 10px 23px 10px;
16.4633 + color: #777777;
16.4634 + text-decoration: none;
16.4635 + text-shadow: 0 1px 0 #ffffff;
16.4636 +}
16.4637 +
16.4638 +.navbar .nav .dropdown-toggle .caret {
16.4639 + margin-top: 8px;
16.4640 +}
16.4641 +
16.4642 +.navbar .nav > li > a:focus,
16.4643 +.navbar .nav > li > a:hover {
16.4644 + color: #333333;
16.4645 + text-decoration: none;
16.4646 + background-color: transparent;
16.4647 +}
16.4648 +
16.4649 +.navbar .nav > .active > a,
16.4650 +.navbar .nav > .active > a:hover,
16.4651 +.navbar .nav > .active > a:focus {
16.4652 + color: #555555;
16.4653 + text-decoration: none;
16.4654 + background-color: #e5e5e5;
16.4655 + -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
16.4656 + -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
16.4657 + box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
16.4658 +}
16.4659 +
16.4660 +.navbar .btn-navbar {
16.4661 + display: none;
16.4662 + float: right;
16.4663 + padding: 7px 10px;
16.4664 + margin-right: 5px;
16.4665 + margin-left: 5px;
16.4666 + color: #ffffff;
16.4667 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
16.4668 + background-color: #ededed;
16.4669 + *background-color: #e5e5e5;
16.4670 + background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);
16.4671 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));
16.4672 + background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);
16.4673 + background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);
16.4674 + background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);
16.4675 + background-repeat: repeat-x;
16.4676 + border-color: #e5e5e5 #e5e5e5 #bfbfbf;
16.4677 + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
16.4678 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);
16.4679 + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
16.4680 + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
16.4681 + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
16.4682 + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
16.4683 +}
16.4684 +
16.4685 +.navbar .btn-navbar:hover,
16.4686 +.navbar .btn-navbar:focus,
16.4687 +.navbar .btn-navbar:active,
16.4688 +.navbar .btn-navbar.active,
16.4689 +.navbar .btn-navbar.disabled,
16.4690 +.navbar .btn-navbar[disabled] {
16.4691 + color: #ffffff;
16.4692 + background-color: #e5e5e5;
16.4693 + *background-color: #d9d9d9;
16.4694 +}
16.4695 +
16.4696 +.navbar .btn-navbar:active,
16.4697 +.navbar .btn-navbar.active {
16.4698 + background-color: #cccccc \9;
16.4699 +}
16.4700 +
16.4701 +.navbar .btn-navbar .icon-bar {
16.4702 + display: block;
16.4703 + width: 18px;
16.4704 + height: 2px;
16.4705 + background-color: #f5f5f5;
16.4706 + -webkit-border-radius: 1px;
16.4707 + -moz-border-radius: 1px;
16.4708 + border-radius: 1px;
16.4709 + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
16.4710 + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
16.4711 + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
16.4712 +}
16.4713 +
16.4714 +.btn-navbar .icon-bar + .icon-bar {
16.4715 + margin-top: 3px;
16.4716 +}
16.4717 +
16.4718 +.navbar .nav > li > .dropdown-menu:before {
16.4719 + position: absolute;
16.4720 + top: -7px;
16.4721 + left: 9px;
16.4722 + display: inline-block;
16.4723 + border-right: 7px solid transparent;
16.4724 + border-bottom: 7px solid #ccc;
16.4725 + border-left: 7px solid transparent;
16.4726 + border-bottom-color: rgba(0, 0, 0, 0.2);
16.4727 + content: '';
16.4728 +}
16.4729 +
16.4730 +.navbar .nav > li > .dropdown-menu:after {
16.4731 + position: absolute;
16.4732 + top: -6px;
16.4733 + left: 10px;
16.4734 + display: inline-block;
16.4735 + border-right: 6px solid transparent;
16.4736 + border-bottom: 6px solid #ffffff;
16.4737 + border-left: 6px solid transparent;
16.4738 + content: '';
16.4739 +}
16.4740 +
16.4741 +.navbar-fixed-bottom .nav > li > .dropdown-menu:before {
16.4742 + top: auto;
16.4743 + bottom: -7px;
16.4744 + border-top: 7px solid #ccc;
16.4745 + border-bottom: 0;
16.4746 + border-top-color: rgba(0, 0, 0, 0.2);
16.4747 +}
16.4748 +
16.4749 +.navbar-fixed-bottom .nav > li > .dropdown-menu:after {
16.4750 + top: auto;
16.4751 + bottom: -6px;
16.4752 + border-top: 6px solid #ffffff;
16.4753 + border-bottom: 0;
16.4754 +}
16.4755 +
16.4756 +.navbar .nav li.dropdown > a:hover .caret,
16.4757 +.navbar .nav li.dropdown > a:focus .caret {
16.4758 + border-top-color: #333333;
16.4759 + border-bottom-color: #333333;
16.4760 +}
16.4761 +
16.4762 +.navbar .nav li.dropdown.open > .dropdown-toggle,
16.4763 +.navbar .nav li.dropdown.active > .dropdown-toggle,
16.4764 +.navbar .nav li.dropdown.open.active > .dropdown-toggle {
16.4765 + color: #555555;
16.4766 + background-color: #e5e5e5;
16.4767 +}
16.4768 +
16.4769 +.navbar .nav li.dropdown > .dropdown-toggle .caret {
16.4770 + border-top-color: #777777;
16.4771 + border-bottom-color: #777777;
16.4772 +}
16.4773 +
16.4774 +.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
16.4775 +.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
16.4776 +.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
16.4777 + border-top-color: #555555;
16.4778 + border-bottom-color: #555555;
16.4779 +}
16.4780 +
16.4781 +.navbar .pull-right > li > .dropdown-menu,
16.4782 +.navbar .nav > li > .dropdown-menu.pull-right {
16.4783 + right: 0;
16.4784 + left: auto;
16.4785 +}
16.4786 +
16.4787 +.navbar .pull-right > li > .dropdown-menu:before,
16.4788 +.navbar .nav > li > .dropdown-menu.pull-right:before {
16.4789 + right: 12px;
16.4790 + left: auto;
16.4791 +}
16.4792 +
16.4793 +.navbar .pull-right > li > .dropdown-menu:after,
16.4794 +.navbar .nav > li > .dropdown-menu.pull-right:after {
16.4795 + right: 13px;
16.4796 + left: auto;
16.4797 +}
16.4798 +
16.4799 +.navbar .pull-right > li > .dropdown-menu .dropdown-menu,
16.4800 +.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
16.4801 + right: 100%;
16.4802 + left: auto;
16.4803 + margin-right: -1px;
16.4804 + margin-left: 0;
16.4805 + -webkit-border-radius: 6px 0 6px 6px;
16.4806 + -moz-border-radius: 6px 0 6px 6px;
16.4807 + border-radius: 6px 0 6px 6px;
16.4808 +}
16.4809 +
16.4810 +.navbar-inverse .navbar-inner {
16.4811 + background-color: #1b1b1b;
16.4812 + background-image: -moz-linear-gradient(top, #222222, #111111);
16.4813 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
16.4814 + background-image: -webkit-linear-gradient(top, #222222, #111111);
16.4815 + background-image: -o-linear-gradient(top, #222222, #111111);
16.4816 + background-image: linear-gradient(to bottom, #222222, #111111);
16.4817 + background-repeat: repeat-x;
16.4818 + border-color: #252525;
16.4819 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
16.4820 +}
16.4821 +
16.4822 +.navbar-inverse .brand,
16.4823 +.navbar-inverse .nav > li > a {
16.4824 + color: #999999;
16.4825 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
16.4826 +}
16.4827 +
16.4828 +.navbar-inverse .brand:hover,
16.4829 +.navbar-inverse .nav > li > a:hover,
16.4830 +.navbar-inverse .brand:focus,
16.4831 +.navbar-inverse .nav > li > a:focus {
16.4832 + color: #ffffff;
16.4833 +}
16.4834 +
16.4835 +.navbar-inverse .brand {
16.4836 + color: #999999;
16.4837 +}
16.4838 +
16.4839 +.navbar-inverse .navbar-text {
16.4840 + color: #999999;
16.4841 +}
16.4842 +
16.4843 +.navbar-inverse .nav > li > a:focus,
16.4844 +.navbar-inverse .nav > li > a:hover {
16.4845 + color: #ffffff;
16.4846 + background-color: transparent;
16.4847 +}
16.4848 +
16.4849 +.navbar-inverse .nav .active > a,
16.4850 +.navbar-inverse .nav .active > a:hover,
16.4851 +.navbar-inverse .nav .active > a:focus {
16.4852 + color: #ffffff;
16.4853 + background-color: #111111;
16.4854 +}
16.4855 +
16.4856 +.navbar-inverse .navbar-link {
16.4857 + color: #999999;
16.4858 +}
16.4859 +
16.4860 +.navbar-inverse .navbar-link:hover,
16.4861 +.navbar-inverse .navbar-link:focus {
16.4862 + color: #ffffff;
16.4863 +}
16.4864 +
16.4865 +.navbar-inverse .divider-vertical {
16.4866 + border-right-color: #222222;
16.4867 + border-left-color: #111111;
16.4868 +}
16.4869 +
16.4870 +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
16.4871 +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
16.4872 +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
16.4873 + color: #ffffff;
16.4874 + background-color: #111111;
16.4875 +}
16.4876 +
16.4877 +.navbar-inverse .nav li.dropdown > a:hover .caret,
16.4878 +.navbar-inverse .nav li.dropdown > a:focus .caret {
16.4879 + border-top-color: #ffffff;
16.4880 + border-bottom-color: #ffffff;
16.4881 +}
16.4882 +
16.4883 +.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
16.4884 + border-top-color: #999999;
16.4885 + border-bottom-color: #999999;
16.4886 +}
16.4887 +
16.4888 +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
16.4889 +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
16.4890 +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
16.4891 + border-top-color: #ffffff;
16.4892 + border-bottom-color: #ffffff;
16.4893 +}
16.4894 +
16.4895 +.navbar-inverse .navbar-search .search-query {
16.4896 + color: #ffffff;
16.4897 + background-color: #515151;
16.4898 + border-color: #111111;
16.4899 + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
16.4900 + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
16.4901 + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
16.4902 + -webkit-transition: none;
16.4903 + -moz-transition: none;
16.4904 + -o-transition: none;
16.4905 + transition: none;
16.4906 +}
16.4907 +
16.4908 +.navbar-inverse .navbar-search .search-query:-moz-placeholder {
16.4909 + color: #cccccc;
16.4910 +}
16.4911 +
16.4912 +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
16.4913 + color: #cccccc;
16.4914 +}
16.4915 +
16.4916 +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
16.4917 + color: #cccccc;
16.4918 +}
16.4919 +
16.4920 +.navbar-inverse .navbar-search .search-query:focus,
16.4921 +.navbar-inverse .navbar-search .search-query.focused {
16.4922 + padding: 5px 15px;
16.4923 + color: #333333;
16.4924 + text-shadow: 0 1px 0 #ffffff;
16.4925 + background-color: #ffffff;
16.4926 + border: 0;
16.4927 + outline: 0;
16.4928 + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
16.4929 + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
16.4930 + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
16.4931 +}
16.4932 +
16.4933 +.navbar-inverse .btn-navbar {
16.4934 + color: #ffffff;
16.4935 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
16.4936 + background-color: #0e0e0e;
16.4937 + *background-color: #040404;
16.4938 + background-image: -moz-linear-gradient(top, #151515, #040404);
16.4939 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));
16.4940 + background-image: -webkit-linear-gradient(top, #151515, #040404);
16.4941 + background-image: -o-linear-gradient(top, #151515, #040404);
16.4942 + background-image: linear-gradient(to bottom, #151515, #040404);
16.4943 + background-repeat: repeat-x;
16.4944 + border-color: #040404 #040404 #000000;
16.4945 + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
16.4946 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);
16.4947 + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
16.4948 +}
16.4949 +
16.4950 +.navbar-inverse .btn-navbar:hover,
16.4951 +.navbar-inverse .btn-navbar:focus,
16.4952 +.navbar-inverse .btn-navbar:active,
16.4953 +.navbar-inverse .btn-navbar.active,
16.4954 +.navbar-inverse .btn-navbar.disabled,
16.4955 +.navbar-inverse .btn-navbar[disabled] {
16.4956 + color: #ffffff;
16.4957 + background-color: #040404;
16.4958 + *background-color: #000000;
16.4959 +}
16.4960 +
16.4961 +.navbar-inverse .btn-navbar:active,
16.4962 +.navbar-inverse .btn-navbar.active {
16.4963 + background-color: #000000 \9;
16.4964 +}
16.4965 +
16.4966 +.breadcrumb {
16.4967 + padding: 8px 15px;
16.4968 + margin: 0 0 20px;
16.4969 + list-style: none;
16.4970 + background-color: #f5f5f5;
16.4971 + -webkit-border-radius: 4px;
16.4972 + -moz-border-radius: 4px;
16.4973 + border-radius: 4px;
16.4974 +}
16.4975 +
16.4976 +.breadcrumb > li {
16.4977 + display: inline-block;
16.4978 + *display: inline;
16.4979 + text-shadow: 0 1px 0 #ffffff;
16.4980 + *zoom: 1;
16.4981 +}
16.4982 +
16.4983 +.breadcrumb > li > .divider {
16.4984 + padding: 0 5px;
16.4985 + color: #ccc;
16.4986 +}
16.4987 +
16.4988 +.breadcrumb > .active {
16.4989 + color: #999999;
16.4990 +}
16.4991 +
16.4992 +.pagination {
16.4993 + margin: 20px 0;
16.4994 +}
16.4995 +
16.4996 +.pagination ul {
16.4997 + display: inline-block;
16.4998 + *display: inline;
16.4999 + margin-bottom: 0;
16.5000 + margin-left: 0;
16.5001 + -webkit-border-radius: 4px;
16.5002 + -moz-border-radius: 4px;
16.5003 + border-radius: 4px;
16.5004 + *zoom: 1;
16.5005 + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
16.5006 + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
16.5007 + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
16.5008 +}
16.5009 +
16.5010 +.pagination ul > li {
16.5011 + display: inline;
16.5012 +}
16.5013 +
16.5014 +.pagination ul > li > a,
16.5015 +.pagination ul > li > span {
16.5016 + float: left;
16.5017 + padding: 4px 12px;
16.5018 + line-height: 20px;
16.5019 + text-decoration: none;
16.5020 + background-color: #ffffff;
16.5021 + border: 1px solid #dddddd;
16.5022 + border-left-width: 0;
16.5023 +}
16.5024 +
16.5025 +.pagination ul > li > a:hover,
16.5026 +.pagination ul > li > a:focus,
16.5027 +.pagination ul > .active > a,
16.5028 +.pagination ul > .active > span {
16.5029 + background-color: #f5f5f5;
16.5030 +}
16.5031 +
16.5032 +.pagination ul > .active > a,
16.5033 +.pagination ul > .active > span {
16.5034 + color: #999999;
16.5035 + cursor: default;
16.5036 +}
16.5037 +
16.5038 +.pagination ul > .disabled > span,
16.5039 +.pagination ul > .disabled > a,
16.5040 +.pagination ul > .disabled > a:hover,
16.5041 +.pagination ul > .disabled > a:focus {
16.5042 + color: #999999;
16.5043 + cursor: default;
16.5044 + background-color: transparent;
16.5045 +}
16.5046 +
16.5047 +.pagination ul > li:first-child > a,
16.5048 +.pagination ul > li:first-child > span {
16.5049 + border-left-width: 1px;
16.5050 + -webkit-border-bottom-left-radius: 4px;
16.5051 + border-bottom-left-radius: 4px;
16.5052 + -webkit-border-top-left-radius: 4px;
16.5053 + border-top-left-radius: 4px;
16.5054 + -moz-border-radius-bottomleft: 4px;
16.5055 + -moz-border-radius-topleft: 4px;
16.5056 +}
16.5057 +
16.5058 +.pagination ul > li:last-child > a,
16.5059 +.pagination ul > li:last-child > span {
16.5060 + -webkit-border-top-right-radius: 4px;
16.5061 + border-top-right-radius: 4px;
16.5062 + -webkit-border-bottom-right-radius: 4px;
16.5063 + border-bottom-right-radius: 4px;
16.5064 + -moz-border-radius-topright: 4px;
16.5065 + -moz-border-radius-bottomright: 4px;
16.5066 +}
16.5067 +
16.5068 +.pagination-centered {
16.5069 + text-align: center;
16.5070 +}
16.5071 +
16.5072 +.pagination-right {
16.5073 + text-align: right;
16.5074 +}
16.5075 +
16.5076 +.pagination-large ul > li > a,
16.5077 +.pagination-large ul > li > span {
16.5078 + padding: 11px 19px;
16.5079 + font-size: 17.5px;
16.5080 +}
16.5081 +
16.5082 +.pagination-large ul > li:first-child > a,
16.5083 +.pagination-large ul > li:first-child > span {
16.5084 + -webkit-border-bottom-left-radius: 6px;
16.5085 + border-bottom-left-radius: 6px;
16.5086 + -webkit-border-top-left-radius: 6px;
16.5087 + border-top-left-radius: 6px;
16.5088 + -moz-border-radius-bottomleft: 6px;
16.5089 + -moz-border-radius-topleft: 6px;
16.5090 +}
16.5091 +
16.5092 +.pagination-large ul > li:last-child > a,
16.5093 +.pagination-large ul > li:last-child > span {
16.5094 + -webkit-border-top-right-radius: 6px;
16.5095 + border-top-right-radius: 6px;
16.5096 + -webkit-border-bottom-right-radius: 6px;
16.5097 + border-bottom-right-radius: 6px;
16.5098 + -moz-border-radius-topright: 6px;
16.5099 + -moz-border-radius-bottomright: 6px;
16.5100 +}
16.5101 +
16.5102 +.pagination-mini ul > li:first-child > a,
16.5103 +.pagination-small ul > li:first-child > a,
16.5104 +.pagination-mini ul > li:first-child > span,
16.5105 +.pagination-small ul > li:first-child > span {
16.5106 + -webkit-border-bottom-left-radius: 3px;
16.5107 + border-bottom-left-radius: 3px;
16.5108 + -webkit-border-top-left-radius: 3px;
16.5109 + border-top-left-radius: 3px;
16.5110 + -moz-border-radius-bottomleft: 3px;
16.5111 + -moz-border-radius-topleft: 3px;
16.5112 +}
16.5113 +
16.5114 +.pagination-mini ul > li:last-child > a,
16.5115 +.pagination-small ul > li:last-child > a,
16.5116 +.pagination-mini ul > li:last-child > span,
16.5117 +.pagination-small ul > li:last-child > span {
16.5118 + -webkit-border-top-right-radius: 3px;
16.5119 + border-top-right-radius: 3px;
16.5120 + -webkit-border-bottom-right-radius: 3px;
16.5121 + border-bottom-right-radius: 3px;
16.5122 + -moz-border-radius-topright: 3px;
16.5123 + -moz-border-radius-bottomright: 3px;
16.5124 +}
16.5125 +
16.5126 +.pagination-small ul > li > a,
16.5127 +.pagination-small ul > li > span {
16.5128 + padding: 2px 10px;
16.5129 + font-size: 11.9px;
16.5130 +}
16.5131 +
16.5132 +.pagination-mini ul > li > a,
16.5133 +.pagination-mini ul > li > span {
16.5134 + padding: 0 6px;
16.5135 + font-size: 10.5px;
16.5136 +}
16.5137 +
16.5138 +.pager {
16.5139 + margin: 20px 0;
16.5140 + text-align: center;
16.5141 + list-style: none;
16.5142 + *zoom: 1;
16.5143 +}
16.5144 +
16.5145 +.pager:before,
16.5146 +.pager:after {
16.5147 + display: table;
16.5148 + line-height: 0;
16.5149 + content: "";
16.5150 +}
16.5151 +
16.5152 +.pager:after {
16.5153 + clear: both;
16.5154 +}
16.5155 +
16.5156 +.pager li {
16.5157 + display: inline;
16.5158 +}
16.5159 +
16.5160 +.pager li > a,
16.5161 +.pager li > span {
16.5162 + display: inline-block;
16.5163 + padding: 5px 14px;
16.5164 + background-color: #fff;
16.5165 + border: 1px solid #ddd;
16.5166 + -webkit-border-radius: 15px;
16.5167 + -moz-border-radius: 15px;
16.5168 + border-radius: 15px;
16.5169 +}
16.5170 +
16.5171 +.pager li > a:hover,
16.5172 +.pager li > a:focus {
16.5173 + text-decoration: none;
16.5174 + background-color: #f5f5f5;
16.5175 +}
16.5176 +
16.5177 +.pager .next > a,
16.5178 +.pager .next > span {
16.5179 + float: right;
16.5180 +}
16.5181 +
16.5182 +.pager .previous > a,
16.5183 +.pager .previous > span {
16.5184 + float: left;
16.5185 +}
16.5186 +
16.5187 +.pager .disabled > a,
16.5188 +.pager .disabled > a:hover,
16.5189 +.pager .disabled > a:focus,
16.5190 +.pager .disabled > span {
16.5191 + color: #999999;
16.5192 + cursor: default;
16.5193 + background-color: #fff;
16.5194 +}
16.5195 +
16.5196 +.modal-backdrop {
16.5197 + position: fixed;
16.5198 + top: 0;
16.5199 + right: 0;
16.5200 + bottom: 0;
16.5201 + left: 0;
16.5202 + z-index: 1040;
16.5203 + background-color: #000000;
16.5204 +}
16.5205 +
16.5206 +.modal-backdrop.fade {
16.5207 + opacity: 0;
16.5208 +}
16.5209 +
16.5210 +.modal-backdrop,
16.5211 +.modal-backdrop.fade.in {
16.5212 + opacity: 0.8;
16.5213 + filter: alpha(opacity=80);
16.5214 +}
16.5215 +
16.5216 +.modal {
16.5217 + position: fixed;
16.5218 + top: 10%;
16.5219 + left: 50%;
16.5220 + z-index: 1050;
16.5221 + width: 560px;
16.5222 + margin-left: -280px;
16.5223 + background-color: #ffffff;
16.5224 + border: 1px solid #999;
16.5225 + border: 1px solid rgba(0, 0, 0, 0.3);
16.5226 + *border: 1px solid #999;
16.5227 + -webkit-border-radius: 6px;
16.5228 + -moz-border-radius: 6px;
16.5229 + border-radius: 6px;
16.5230 + outline: none;
16.5231 + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
16.5232 + -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
16.5233 + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
16.5234 + -webkit-background-clip: padding-box;
16.5235 + -moz-background-clip: padding-box;
16.5236 + background-clip: padding-box;
16.5237 +}
16.5238 +
16.5239 +.modal.fade {
16.5240 + top: -25%;
16.5241 + -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;
16.5242 + -moz-transition: opacity 0.3s linear, top 0.3s ease-out;
16.5243 + -o-transition: opacity 0.3s linear, top 0.3s ease-out;
16.5244 + transition: opacity 0.3s linear, top 0.3s ease-out;
16.5245 +}
16.5246 +
16.5247 +.modal.fade.in {
16.5248 + top: 10%;
16.5249 +}
16.5250 +
16.5251 +.modal-header {
16.5252 + padding: 9px 15px;
16.5253 + border-bottom: 1px solid #eee;
16.5254 +}
16.5255 +
16.5256 +.modal-header .close {
16.5257 + margin-top: 2px;
16.5258 +}
16.5259 +
16.5260 +.modal-header h3 {
16.5261 + margin: 0;
16.5262 + line-height: 30px;
16.5263 +}
16.5264 +
16.5265 +.modal-body {
16.5266 + position: relative;
16.5267 + max-height: 400px;
16.5268 + padding: 15px;
16.5269 + overflow-y: auto;
16.5270 +}
16.5271 +
16.5272 +.modal-form {
16.5273 + margin-bottom: 0;
16.5274 +}
16.5275 +
16.5276 +.modal-footer {
16.5277 + padding: 14px 15px 15px;
16.5278 + margin-bottom: 0;
16.5279 + text-align: right;
16.5280 + background-color: #f5f5f5;
16.5281 + border-top: 1px solid #ddd;
16.5282 + -webkit-border-radius: 0 0 6px 6px;
16.5283 + -moz-border-radius: 0 0 6px 6px;
16.5284 + border-radius: 0 0 6px 6px;
16.5285 + *zoom: 1;
16.5286 + -webkit-box-shadow: inset 0 1px 0 #ffffff;
16.5287 + -moz-box-shadow: inset 0 1px 0 #ffffff;
16.5288 + box-shadow: inset 0 1px 0 #ffffff;
16.5289 +}
16.5290 +
16.5291 +.modal-footer:before,
16.5292 +.modal-footer:after {
16.5293 + display: table;
16.5294 + line-height: 0;
16.5295 + content: "";
16.5296 +}
16.5297 +
16.5298 +.modal-footer:after {
16.5299 + clear: both;
16.5300 +}
16.5301 +
16.5302 +.modal-footer .btn + .btn {
16.5303 + margin-bottom: 0;
16.5304 + margin-left: 5px;
16.5305 +}
16.5306 +
16.5307 +.modal-footer .btn-group .btn + .btn {
16.5308 + margin-left: -1px;
16.5309 +}
16.5310 +
16.5311 +.modal-footer .btn-block + .btn-block {
16.5312 + margin-left: 0;
16.5313 +}
16.5314 +
16.5315 +.tooltip {
16.5316 + position: absolute;
16.5317 + z-index: 1030;
16.5318 + display: block;
16.5319 + font-size: 11px;
16.5320 + line-height: 1.4;
16.5321 + opacity: 0;
16.5322 + filter: alpha(opacity=0);
16.5323 + visibility: visible;
16.5324 +}
16.5325 +
16.5326 +.tooltip.in {
16.5327 + opacity: 0.8;
16.5328 + filter: alpha(opacity=80);
16.5329 +}
16.5330 +
16.5331 +.tooltip.top {
16.5332 + padding: 5px 0;
16.5333 + margin-top: -3px;
16.5334 +}
16.5335 +
16.5336 +.tooltip.right {
16.5337 + padding: 0 5px;
16.5338 + margin-left: 3px;
16.5339 +}
16.5340 +
16.5341 +.tooltip.bottom {
16.5342 + padding: 5px 0;
16.5343 + margin-top: 3px;
16.5344 +}
16.5345 +
16.5346 +.tooltip.left {
16.5347 + padding: 0 5px;
16.5348 + margin-left: -3px;
16.5349 +}
16.5350 +
16.5351 +.tooltip-inner {
16.5352 + max-width: 200px;
16.5353 + padding: 8px;
16.5354 + color: #ffffff;
16.5355 + text-align: center;
16.5356 + text-decoration: none;
16.5357 + background-color: #000000;
16.5358 + -webkit-border-radius: 4px;
16.5359 + -moz-border-radius: 4px;
16.5360 + border-radius: 4px;
16.5361 +}
16.5362 +
16.5363 +.tooltip-arrow {
16.5364 + position: absolute;
16.5365 + width: 0;
16.5366 + height: 0;
16.5367 + border-color: transparent;
16.5368 + border-style: solid;
16.5369 +}
16.5370 +
16.5371 +.tooltip.top .tooltip-arrow {
16.5372 + bottom: 0;
16.5373 + left: 50%;
16.5374 + margin-left: -5px;
16.5375 + border-top-color: #000000;
16.5376 + border-width: 5px 5px 0;
16.5377 +}
16.5378 +
16.5379 +.tooltip.right .tooltip-arrow {
16.5380 + top: 50%;
16.5381 + left: 0;
16.5382 + margin-top: -5px;
16.5383 + border-right-color: #000000;
16.5384 + border-width: 5px 5px 5px 0;
16.5385 +}
16.5386 +
16.5387 +.tooltip.left .tooltip-arrow {
16.5388 + top: 50%;
16.5389 + right: 0;
16.5390 + margin-top: -5px;
16.5391 + border-left-color: #000000;
16.5392 + border-width: 5px 0 5px 5px;
16.5393 +}
16.5394 +
16.5395 +.tooltip.bottom .tooltip-arrow {
16.5396 + top: 0;
16.5397 + left: 50%;
16.5398 + margin-left: -5px;
16.5399 + border-bottom-color: #000000;
16.5400 + border-width: 0 5px 5px;
16.5401 +}
16.5402 +
16.5403 +.popover {
16.5404 + position: absolute;
16.5405 + top: 0;
16.5406 + left: 0;
16.5407 + z-index: 1010;
16.5408 + display: none;
16.5409 + max-width: 276px;
16.5410 + padding: 1px;
16.5411 + text-align: left;
16.5412 + white-space: normal;
16.5413 + background-color: #ffffff;
16.5414 + border: 1px solid #ccc;
16.5415 + border: 1px solid rgba(0, 0, 0, 0.2);
16.5416 + -webkit-border-radius: 6px;
16.5417 + -moz-border-radius: 6px;
16.5418 + border-radius: 6px;
16.5419 + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
16.5420 + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
16.5421 + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
16.5422 + -webkit-background-clip: padding-box;
16.5423 + -moz-background-clip: padding;
16.5424 + background-clip: padding-box;
16.5425 +}
16.5426 +
16.5427 +.popover.top {
16.5428 + margin-top: -10px;
16.5429 +}
16.5430 +
16.5431 +.popover.right {
16.5432 + margin-left: 10px;
16.5433 +}
16.5434 +
16.5435 +.popover.bottom {
16.5436 + margin-top: 10px;
16.5437 +}
16.5438 +
16.5439 +.popover.left {
16.5440 + margin-left: -10px;
16.5441 +}
16.5442 +
16.5443 +.popover-title {
16.5444 + padding: 8px 14px;
16.5445 + margin: 0;
16.5446 + font-size: 14px;
16.5447 + font-weight: normal;
16.5448 + line-height: 18px;
16.5449 + background-color: #f7f7f7;
16.5450 + border-bottom: 1px solid #ebebeb;
16.5451 + -webkit-border-radius: 5px 5px 0 0;
16.5452 + -moz-border-radius: 5px 5px 0 0;
16.5453 + border-radius: 5px 5px 0 0;
16.5454 +}
16.5455 +
16.5456 +.popover-title:empty {
16.5457 + display: none;
16.5458 +}
16.5459 +
16.5460 +.popover-content {
16.5461 + padding: 9px 14px;
16.5462 +}
16.5463 +
16.5464 +.popover .arrow,
16.5465 +.popover .arrow:after {
16.5466 + position: absolute;
16.5467 + display: block;
16.5468 + width: 0;
16.5469 + height: 0;
16.5470 + border-color: transparent;
16.5471 + border-style: solid;
16.5472 +}
16.5473 +
16.5474 +.popover .arrow {
16.5475 + border-width: 11px;
16.5476 +}
16.5477 +
16.5478 +.popover .arrow:after {
16.5479 + border-width: 10px;
16.5480 + content: "";
16.5481 +}
16.5482 +
16.5483 +.popover.top .arrow {
16.5484 + bottom: -11px;
16.5485 + left: 50%;
16.5486 + margin-left: -11px;
16.5487 + border-top-color: #999;
16.5488 + border-top-color: rgba(0, 0, 0, 0.25);
16.5489 + border-bottom-width: 0;
16.5490 +}
16.5491 +
16.5492 +.popover.top .arrow:after {
16.5493 + bottom: 1px;
16.5494 + margin-left: -10px;
16.5495 + border-top-color: #ffffff;
16.5496 + border-bottom-width: 0;
16.5497 +}
16.5498 +
16.5499 +.popover.right .arrow {
16.5500 + top: 50%;
16.5501 + left: -11px;
16.5502 + margin-top: -11px;
16.5503 + border-right-color: #999;
16.5504 + border-right-color: rgba(0, 0, 0, 0.25);
16.5505 + border-left-width: 0;
16.5506 +}
16.5507 +
16.5508 +.popover.right .arrow:after {
16.5509 + bottom: -10px;
16.5510 + left: 1px;
16.5511 + border-right-color: #ffffff;
16.5512 + border-left-width: 0;
16.5513 +}
16.5514 +
16.5515 +.popover.bottom .arrow {
16.5516 + top: -11px;
16.5517 + left: 50%;
16.5518 + margin-left: -11px;
16.5519 + border-bottom-color: #999;
16.5520 + border-bottom-color: rgba(0, 0, 0, 0.25);
16.5521 + border-top-width: 0;
16.5522 +}
16.5523 +
16.5524 +.popover.bottom .arrow:after {
16.5525 + top: 1px;
16.5526 + margin-left: -10px;
16.5527 + border-bottom-color: #ffffff;
16.5528 + border-top-width: 0;
16.5529 +}
16.5530 +
16.5531 +.popover.left .arrow {
16.5532 + top: 50%;
16.5533 + right: -11px;
16.5534 + margin-top: -11px;
16.5535 + border-left-color: #999;
16.5536 + border-left-color: rgba(0, 0, 0, 0.25);
16.5537 + border-right-width: 0;
16.5538 +}
16.5539 +
16.5540 +.popover.left .arrow:after {
16.5541 + right: 1px;
16.5542 + bottom: -10px;
16.5543 + border-left-color: #ffffff;
16.5544 + border-right-width: 0;
16.5545 +}
16.5546 +
16.5547 +.thumbnails {
16.5548 + margin-left: -20px;
16.5549 + list-style: none;
16.5550 + *zoom: 1;
16.5551 +}
16.5552 +
16.5553 +.thumbnails:before,
16.5554 +.thumbnails:after {
16.5555 + display: table;
16.5556 + line-height: 0;
16.5557 + content: "";
16.5558 +}
16.5559 +
16.5560 +.thumbnails:after {
16.5561 + clear: both;
16.5562 +}
16.5563 +
16.5564 +.row-fluid .thumbnails {
16.5565 + margin-left: 0;
16.5566 +}
16.5567 +
16.5568 +.thumbnails > li {
16.5569 + float: left;
16.5570 + margin-bottom: 20px;
16.5571 + margin-left: 20px;
16.5572 +}
16.5573 +
16.5574 +.thumbnail {
16.5575 + display: block;
16.5576 + padding: 4px;
16.5577 + line-height: 20px;
16.5578 + border: 1px solid #ddd;
16.5579 + -webkit-border-radius: 4px;
16.5580 + -moz-border-radius: 4px;
16.5581 + border-radius: 4px;
16.5582 + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
16.5583 + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
16.5584 + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
16.5585 + -webkit-transition: all 0.2s ease-in-out;
16.5586 + -moz-transition: all 0.2s ease-in-out;
16.5587 + -o-transition: all 0.2s ease-in-out;
16.5588 + transition: all 0.2s ease-in-out;
16.5589 +}
16.5590 +
16.5591 +a.thumbnail:hover,
16.5592 +a.thumbnail:focus {
16.5593 + border-color: #0088cc;
16.5594 + -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
16.5595 + -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
16.5596 + box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
16.5597 +}
16.5598 +
16.5599 +.thumbnail > img {
16.5600 + display: block;
16.5601 + max-width: 100%;
16.5602 + margin-right: auto;
16.5603 + margin-left: auto;
16.5604 +}
16.5605 +
16.5606 +.thumbnail .caption {
16.5607 + padding: 9px;
16.5608 + color: #555555;
16.5609 +}
16.5610 +
16.5611 +.media,
16.5612 +.media-body {
16.5613 + overflow: hidden;
16.5614 + *overflow: visible;
16.5615 + zoom: 1;
16.5616 +}
16.5617 +
16.5618 +.media,
16.5619 +.media .media {
16.5620 + margin-top: 15px;
16.5621 +}
16.5622 +
16.5623 +.media:first-child {
16.5624 + margin-top: 0;
16.5625 +}
16.5626 +
16.5627 +.media-object {
16.5628 + display: block;
16.5629 +}
16.5630 +
16.5631 +.media-heading {
16.5632 + margin: 0 0 5px;
16.5633 +}
16.5634 +
16.5635 +.media > .pull-left {
16.5636 + margin-right: 10px;
16.5637 +}
16.5638 +
16.5639 +.media > .pull-right {
16.5640 + margin-left: 10px;
16.5641 +}
16.5642 +
16.5643 +.media-list {
16.5644 + margin-left: 0;
16.5645 + list-style: none;
16.5646 +}
16.5647 +
16.5648 +.label,
16.5649 +.badge {
16.5650 + display: inline-block;
16.5651 + padding: 2px 4px;
16.5652 + font-size: 11.844px;
16.5653 + font-weight: normal;
16.5654 + line-height: 14px;
16.5655 + color: #ffffff;
16.5656 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
16.5657 + white-space: nowrap;
16.5658 + vertical-align: baseline;
16.5659 + background-color: #999999;
16.5660 +}
16.5661 +
16.5662 +.label {
16.5663 + -webkit-border-radius: 3px;
16.5664 + -moz-border-radius: 3px;
16.5665 + border-radius: 3px;
16.5666 +}
16.5667 +
16.5668 +.badge {
16.5669 + padding-right: 9px;
16.5670 + padding-left: 9px;
16.5671 + -webkit-border-radius: 9px;
16.5672 + -moz-border-radius: 9px;
16.5673 + border-radius: 9px;
16.5674 +}
16.5675 +
16.5676 +.label:empty,
16.5677 +.badge:empty {
16.5678 + display: none;
16.5679 +}
16.5680 +
16.5681 +a.label:hover,
16.5682 +a.label:focus,
16.5683 +a.badge:hover,
16.5684 +a.badge:focus {
16.5685 + color: #ffffff;
16.5686 + text-decoration: none;
16.5687 + cursor: pointer;
16.5688 +}
16.5689 +
16.5690 +.label-important,
16.5691 +.badge-important {
16.5692 + background-color: #b94a48;
16.5693 +}
16.5694 +
16.5695 +.label-important[href],
16.5696 +.badge-important[href] {
16.5697 + background-color: #953b39;
16.5698 +}
16.5699 +
16.5700 +.label-warning,
16.5701 +.badge-warning {
16.5702 + background-color: #f89406;
16.5703 +}
16.5704 +
16.5705 +.label-warning[href],
16.5706 +.badge-warning[href] {
16.5707 + background-color: #c67605;
16.5708 +}
16.5709 +
16.5710 +.label-success,
16.5711 +.badge-success {
16.5712 + background-color: #468847;
16.5713 +}
16.5714 +
16.5715 +.label-success[href],
16.5716 +.badge-success[href] {
16.5717 + background-color: #356635;
16.5718 +}
16.5719 +
16.5720 +.label-info,
16.5721 +.badge-info {
16.5722 + background-color: #3a87ad;
16.5723 +}
16.5724 +
16.5725 +.label-info[href],
16.5726 +.badge-info[href] {
16.5727 + background-color: #2d6987;
16.5728 +}
16.5729 +
16.5730 +.label-inverse,
16.5731 +.badge-inverse {
16.5732 + background-color: #333333;
16.5733 +}
16.5734 +
16.5735 +.label-inverse[href],
16.5736 +.badge-inverse[href] {
16.5737 + background-color: #1a1a1a;
16.5738 +}
16.5739 +
16.5740 +.btn .label,
16.5741 +.btn .badge {
16.5742 + position: relative;
16.5743 + top: -1px;
16.5744 +}
16.5745 +
16.5746 +.btn-mini .label,
16.5747 +.btn-mini .badge {
16.5748 + top: 0;
16.5749 +}
16.5750 +
16.5751 +@-webkit-keyframes progress-bar-stripes {
16.5752 + from {
16.5753 + background-position: 40px 0;
16.5754 + }
16.5755 + to {
16.5756 + background-position: 0 0;
16.5757 + }
16.5758 +}
16.5759 +
16.5760 +@-moz-keyframes progress-bar-stripes {
16.5761 + from {
16.5762 + background-position: 40px 0;
16.5763 + }
16.5764 + to {
16.5765 + background-position: 0 0;
16.5766 + }
16.5767 +}
16.5768 +
16.5769 +@-ms-keyframes progress-bar-stripes {
16.5770 + from {
16.5771 + background-position: 40px 0;
16.5772 + }
16.5773 + to {
16.5774 + background-position: 0 0;
16.5775 + }
16.5776 +}
16.5777 +
16.5778 +@-o-keyframes progress-bar-stripes {
16.5779 + from {
16.5780 + background-position: 0 0;
16.5781 + }
16.5782 + to {
16.5783 + background-position: 40px 0;
16.5784 + }
16.5785 +}
16.5786 +
16.5787 +@keyframes progress-bar-stripes {
16.5788 + from {
16.5789 + background-position: 40px 0;
16.5790 + }
16.5791 + to {
16.5792 + background-position: 0 0;
16.5793 + }
16.5794 +}
16.5795 +
16.5796 +.progress {
16.5797 + height: 20px;
16.5798 + margin-bottom: 20px;
16.5799 + overflow: hidden;
16.5800 + background-color: #f7f7f7;
16.5801 + background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
16.5802 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
16.5803 + background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
16.5804 + background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
16.5805 + background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
16.5806 + background-repeat: repeat-x;
16.5807 + -webkit-border-radius: 4px;
16.5808 + -moz-border-radius: 4px;
16.5809 + border-radius: 4px;
16.5810 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
16.5811 + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
16.5812 + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
16.5813 + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
16.5814 +}
16.5815 +
16.5816 +.progress .bar {
16.5817 + float: left;
16.5818 + width: 0;
16.5819 + height: 100%;
16.5820 + font-size: 12px;
16.5821 + color: #ffffff;
16.5822 + text-align: center;
16.5823 + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
16.5824 + background-color: #0e90d2;
16.5825 + background-image: -moz-linear-gradient(top, #149bdf, #0480be);
16.5826 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
16.5827 + background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
16.5828 + background-image: -o-linear-gradient(top, #149bdf, #0480be);
16.5829 + background-image: linear-gradient(to bottom, #149bdf, #0480be);
16.5830 + background-repeat: repeat-x;
16.5831 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
16.5832 + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
16.5833 + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
16.5834 + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
16.5835 + -webkit-box-sizing: border-box;
16.5836 + -moz-box-sizing: border-box;
16.5837 + box-sizing: border-box;
16.5838 + -webkit-transition: width 0.6s ease;
16.5839 + -moz-transition: width 0.6s ease;
16.5840 + -o-transition: width 0.6s ease;
16.5841 + transition: width 0.6s ease;
16.5842 +}
16.5843 +
16.5844 +.progress .bar + .bar {
16.5845 + -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
16.5846 + -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
16.5847 + box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
16.5848 +}
16.5849 +
16.5850 +.progress-striped .bar {
16.5851 + background-color: #149bdf;
16.5852 + 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));
16.5853 + 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);
16.5854 + 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);
16.5855 + 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);
16.5856 + 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);
16.5857 + -webkit-background-size: 40px 40px;
16.5858 + -moz-background-size: 40px 40px;
16.5859 + -o-background-size: 40px 40px;
16.5860 + background-size: 40px 40px;
16.5861 +}
16.5862 +
16.5863 +.progress.active .bar {
16.5864 + -webkit-animation: progress-bar-stripes 2s linear infinite;
16.5865 + -moz-animation: progress-bar-stripes 2s linear infinite;
16.5866 + -ms-animation: progress-bar-stripes 2s linear infinite;
16.5867 + -o-animation: progress-bar-stripes 2s linear infinite;
16.5868 + animation: progress-bar-stripes 2s linear infinite;
16.5869 +}
16.5870 +
16.5871 +.progress-danger .bar,
16.5872 +.progress .bar-danger {
16.5873 + background-color: #dd514c;
16.5874 + background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
16.5875 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
16.5876 + background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
16.5877 + background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
16.5878 + background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
16.5879 + background-repeat: repeat-x;
16.5880 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
16.5881 +}
16.5882 +
16.5883 +.progress-danger.progress-striped .bar,
16.5884 +.progress-striped .bar-danger {
16.5885 + background-color: #ee5f5b;
16.5886 + 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));
16.5887 + 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);
16.5888 + 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);
16.5889 + 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);
16.5890 + 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);
16.5891 +}
16.5892 +
16.5893 +.progress-success .bar,
16.5894 +.progress .bar-success {
16.5895 + background-color: #5eb95e;
16.5896 + background-image: -moz-linear-gradient(top, #62c462, #57a957);
16.5897 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
16.5898 + background-image: -webkit-linear-gradient(top, #62c462, #57a957);
16.5899 + background-image: -o-linear-gradient(top, #62c462, #57a957);
16.5900 + background-image: linear-gradient(to bottom, #62c462, #57a957);
16.5901 + background-repeat: repeat-x;
16.5902 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
16.5903 +}
16.5904 +
16.5905 +.progress-success.progress-striped .bar,
16.5906 +.progress-striped .bar-success {
16.5907 + background-color: #62c462;
16.5908 + 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));
16.5909 + 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);
16.5910 + 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);
16.5911 + 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);
16.5912 + 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);
16.5913 +}
16.5914 +
16.5915 +.progress-info .bar,
16.5916 +.progress .bar-info {
16.5917 + background-color: #4bb1cf;
16.5918 + background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
16.5919 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
16.5920 + background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
16.5921 + background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
16.5922 + background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
16.5923 + background-repeat: repeat-x;
16.5924 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
16.5925 +}
16.5926 +
16.5927 +.progress-info.progress-striped .bar,
16.5928 +.progress-striped .bar-info {
16.5929 + background-color: #5bc0de;
16.5930 + 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));
16.5931 + 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);
16.5932 + 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);
16.5933 + 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);
16.5934 + 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);
16.5935 +}
16.5936 +
16.5937 +.progress-warning .bar,
16.5938 +.progress .bar-warning {
16.5939 + background-color: #faa732;
16.5940 + background-image: -moz-linear-gradient(top, #fbb450, #f89406);
16.5941 + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
16.5942 + background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
16.5943 + background-image: -o-linear-gradient(top, #fbb450, #f89406);
16.5944 + background-image: linear-gradient(to bottom, #fbb450, #f89406);
16.5945 + background-repeat: repeat-x;
16.5946 + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
16.5947 +}
16.5948 +
16.5949 +.progress-warning.progress-striped .bar,
16.5950 +.progress-striped .bar-warning {
16.5951 + background-color: #fbb450;
16.5952 + 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));
16.5953 + 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);
16.5954 + 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);
16.5955 + 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);
16.5956 + 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);
16.5957 +}
16.5958 +
16.5959 +.accordion {
16.5960 + margin-bottom: 20px;
16.5961 +}
16.5962 +
16.5963 +.accordion-group {
16.5964 + margin-bottom: 2px;
16.5965 + border: 1px solid #e5e5e5;
16.5966 + -webkit-border-radius: 4px;
16.5967 + -moz-border-radius: 4px;
16.5968 + border-radius: 4px;
16.5969 +}
16.5970 +
16.5971 +.accordion-heading {
16.5972 + border-bottom: 0;
16.5973 +}
16.5974 +
16.5975 +.accordion-heading .accordion-toggle {
16.5976 + display: block;
16.5977 + padding: 8px 15px;
16.5978 +}
16.5979 +
16.5980 +.accordion-toggle {
16.5981 + cursor: pointer;
16.5982 +}
16.5983 +
16.5984 +.accordion-inner {
16.5985 + padding: 9px 15px;
16.5986 + border-top: 1px solid #e5e5e5;
16.5987 +}
16.5988 +
16.5989 +.carousel {
16.5990 + position: relative;
16.5991 + margin-bottom: 20px;
16.5992 + line-height: 1;
16.5993 +}
16.5994 +
16.5995 +.carousel-inner {
16.5996 + position: relative;
16.5997 + width: 100%;
16.5998 + overflow: hidden;
16.5999 +}
16.6000 +
16.6001 +.carousel-inner > .item {
16.6002 + position: relative;
16.6003 + display: none;
16.6004 + -webkit-transition: 0.6s ease-in-out left;
16.6005 + -moz-transition: 0.6s ease-in-out left;
16.6006 + -o-transition: 0.6s ease-in-out left;
16.6007 + transition: 0.6s ease-in-out left;
16.6008 +}
16.6009 +
16.6010 +.carousel-inner > .item > img,
16.6011 +.carousel-inner > .item > a > img {
16.6012 + display: block;
16.6013 + line-height: 1;
16.6014 +}
16.6015 +
16.6016 +.carousel-inner > .active,
16.6017 +.carousel-inner > .next,
16.6018 +.carousel-inner > .prev {
16.6019 + display: block;
16.6020 +}
16.6021 +
16.6022 +.carousel-inner > .active {
16.6023 + left: 0;
16.6024 +}
16.6025 +
16.6026 +.carousel-inner > .next,
16.6027 +.carousel-inner > .prev {
16.6028 + position: absolute;
16.6029 + top: 0;
16.6030 + width: 100%;
16.6031 +}
16.6032 +
16.6033 +.carousel-inner > .next {
16.6034 + left: 100%;
16.6035 +}
16.6036 +
16.6037 +.carousel-inner > .prev {
16.6038 + left: -100%;
16.6039 +}
16.6040 +
16.6041 +.carousel-inner > .next.left,
16.6042 +.carousel-inner > .prev.right {
16.6043 + left: 0;
16.6044 +}
16.6045 +
16.6046 +.carousel-inner > .active.left {
16.6047 + left: -100%;
16.6048 +}
16.6049 +
16.6050 +.carousel-inner > .active.right {
16.6051 + left: 100%;
16.6052 +}
16.6053 +
16.6054 +.carousel-control {
16.6055 + position: absolute;
16.6056 + top: 40%;
16.6057 + left: 15px;
16.6058 + width: 40px;
16.6059 + height: 40px;
16.6060 + margin-top: -20px;
16.6061 + font-size: 60px;
16.6062 + font-weight: 100;
16.6063 + line-height: 30px;
16.6064 + color: #ffffff;
16.6065 + text-align: center;
16.6066 + background: #222222;
16.6067 + border: 3px solid #ffffff;
16.6068 + -webkit-border-radius: 23px;
16.6069 + -moz-border-radius: 23px;
16.6070 + border-radius: 23px;
16.6071 + opacity: 0.5;
16.6072 + filter: alpha(opacity=50);
16.6073 +}
16.6074 +
16.6075 +.carousel-control.right {
16.6076 + right: 15px;
16.6077 + left: auto;
16.6078 +}
16.6079 +
16.6080 +.carousel-control:hover,
16.6081 +.carousel-control:focus {
16.6082 + color: #ffffff;
16.6083 + text-decoration: none;
16.6084 + opacity: 0.9;
16.6085 + filter: alpha(opacity=90);
16.6086 +}
16.6087 +
16.6088 +.carousel-indicators {
16.6089 + position: absolute;
16.6090 + top: 15px;
16.6091 + right: 15px;
16.6092 + z-index: 5;
16.6093 + margin: 0;
16.6094 + list-style: none;
16.6095 +}
16.6096 +
16.6097 +.carousel-indicators li {
16.6098 + display: block;
16.6099 + float: left;
16.6100 + width: 10px;
16.6101 + height: 10px;
16.6102 + margin-left: 5px;
16.6103 + text-indent: -999px;
16.6104 + background-color: #ccc;
16.6105 + background-color: rgba(255, 255, 255, 0.25);
16.6106 + border-radius: 5px;
16.6107 +}
16.6108 +
16.6109 +.carousel-indicators .active {
16.6110 + background-color: #fff;
16.6111 +}
16.6112 +
16.6113 +.carousel-caption {
16.6114 + position: absolute;
16.6115 + right: 0;
16.6116 + bottom: 0;
16.6117 + left: 0;
16.6118 + padding: 15px;
16.6119 + background: #333333;
16.6120 + background: rgba(0, 0, 0, 0.75);
16.6121 +}
16.6122 +
16.6123 +.carousel-caption h4,
16.6124 +.carousel-caption p {
16.6125 + line-height: 20px;
16.6126 + color: #ffffff;
16.6127 +}
16.6128 +
16.6129 +.carousel-caption h4 {
16.6130 + margin: 0 0 5px;
16.6131 +}
16.6132 +
16.6133 +.carousel-caption p {
16.6134 + margin-bottom: 0;
16.6135 +}
16.6136 +
16.6137 +.hero-unit {
16.6138 + padding: 60px;
16.6139 + margin-bottom: 30px;
16.6140 + font-size: 18px;
16.6141 + font-weight: 200;
16.6142 + line-height: 30px;
16.6143 + color: inherit;
16.6144 + background-color: #eeeeee;
16.6145 + -webkit-border-radius: 6px;
16.6146 + -moz-border-radius: 6px;
16.6147 + border-radius: 6px;
16.6148 +}
16.6149 +
16.6150 +.hero-unit h1 {
16.6151 + margin-bottom: 0;
16.6152 + font-size: 60px;
16.6153 + line-height: 1;
16.6154 + letter-spacing: -1px;
16.6155 + color: inherit;
16.6156 +}
16.6157 +
16.6158 +.hero-unit li {
16.6159 + line-height: 30px;
16.6160 +}
16.6161 +
16.6162 +.pull-right {
16.6163 + float: right;
16.6164 +}
16.6165 +
16.6166 +.pull-left {
16.6167 + float: left;
16.6168 +}
16.6169 +
16.6170 +.hide {
16.6171 + display: none;
16.6172 +}
16.6173 +
16.6174 +.show {
16.6175 + display: block;
16.6176 +}
16.6177 +
16.6178 +.invisible {
16.6179 + visibility: hidden;
16.6180 +}
16.6181 +
16.6182 +.affix {
16.6183 + position: fixed;
16.6184 +}
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
17.2 +++ b/chess/src/main/webapp/pages/css/chess-phone-large.css Wed Sep 25 04:28:19 2013 +0200
17.3 @@ -0,0 +1,32 @@
17.4 +/**
17.5 + * The MIT License (MIT)
17.6 + *
17.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
17.8 + *
17.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
17.10 + * of this software and associated documentation files (the "Software"), to deal
17.11 + * in the Software without restriction, including without limitation the rights
17.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17.13 + * copies of the Software, and to permit persons to whom the Software is
17.14 + * furnished to do so, subject to the following conditions:
17.15 + *
17.16 + * The above copyright notice and this permission notice shall be included in
17.17 + * all copies or substantial portions of the Software.
17.18 + *
17.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
17.25 + * THE SOFTWARE.
17.26 + */
17.27 +table.board td {
17.28 + padding: 4px;
17.29 + width: 28px;
17.30 + height: 28px;
17.31 + font-size: 2em;
17.32 +}
17.33 +h1 {
17.34 + font-size: 15px;
17.35 +}
17.36 \ No newline at end of file
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
18.2 +++ b/chess/src/main/webapp/pages/css/chess-phone-small.css Wed Sep 25 04:28:19 2013 +0200
18.3 @@ -0,0 +1,32 @@
18.4 +/**
18.5 + * The MIT License (MIT)
18.6 + *
18.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
18.8 + *
18.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
18.10 + * of this software and associated documentation files (the "Software"), to deal
18.11 + * in the Software without restriction, including without limitation the rights
18.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
18.13 + * copies of the Software, and to permit persons to whom the Software is
18.14 + * furnished to do so, subject to the following conditions:
18.15 + *
18.16 + * The above copyright notice and this permission notice shall be included in
18.17 + * all copies or substantial portions of the Software.
18.18 + *
18.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
18.25 + * THE SOFTWARE.
18.26 + */
18.27 +table.board td {
18.28 + padding: 4px;
18.29 + width: 24px;
18.30 + height: 24px;
18.31 + font-size: 1.6em;
18.32 +}
18.33 +h1 {
18.34 + font-size: 12px;
18.35 +}
18.36 \ No newline at end of file
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
19.2 +++ b/chess/src/main/webapp/pages/css/chess-tablet-large.css Wed Sep 25 04:28:19 2013 +0200
19.3 @@ -0,0 +1,32 @@
19.4 +/**
19.5 + * The MIT License (MIT)
19.6 + *
19.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
19.8 + *
19.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
19.10 + * of this software and associated documentation files (the "Software"), to deal
19.11 + * in the Software without restriction, including without limitation the rights
19.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
19.13 + * copies of the Software, and to permit persons to whom the Software is
19.14 + * furnished to do so, subject to the following conditions:
19.15 + *
19.16 + * The above copyright notice and this permission notice shall be included in
19.17 + * all copies or substantial portions of the Software.
19.18 + *
19.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19.25 + * THE SOFTWARE.
19.26 + */
19.27 +table.board td {
19.28 + padding: 8px;
19.29 + width: 42px;
19.30 + height: 42px;
19.31 + font-size: 3em;
19.32 +}
19.33 +h1 {
19.34 + font-size: 22px;
19.35 +}
19.36 \ No newline at end of file
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
20.2 +++ b/chess/src/main/webapp/pages/css/chess-tablet-small.css Wed Sep 25 04:28:19 2013 +0200
20.3 @@ -0,0 +1,32 @@
20.4 +/**
20.5 + * The MIT License (MIT)
20.6 + *
20.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
20.8 + *
20.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
20.10 + * of this software and associated documentation files (the "Software"), to deal
20.11 + * in the Software without restriction, including without limitation the rights
20.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
20.13 + * copies of the Software, and to permit persons to whom the Software is
20.14 + * furnished to do so, subject to the following conditions:
20.15 + *
20.16 + * The above copyright notice and this permission notice shall be included in
20.17 + * all copies or substantial portions of the Software.
20.18 + *
20.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20.25 + * THE SOFTWARE.
20.26 + */
20.27 +table.board td {
20.28 + padding: 6px;
20.29 + width: 34px;
20.30 + height: 34px;
20.31 + font-size: 2.4em;
20.32 +}
20.33 +h1 {
20.34 + font-size: 18px;
20.35 +}
20.36 \ No newline at end of file
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
21.2 +++ b/chess/src/main/webapp/pages/css/chess.css Wed Sep 25 04:28:19 2013 +0200
21.3 @@ -0,0 +1,124 @@
21.4 +/**
21.5 + * The MIT License (MIT)
21.6 + *
21.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
21.8 + *
21.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
21.10 + * of this software and associated documentation files (the "Software"), to deal
21.11 + * in the Software without restriction, including without limitation the rights
21.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
21.13 + * copies of the Software, and to permit persons to whom the Software is
21.14 + * furnished to do so, subject to the following conditions:
21.15 + *
21.16 + * The above copyright notice and this permission notice shall be included in
21.17 + * all copies or substantial portions of the Software.
21.18 + *
21.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21.25 + * THE SOFTWARE.
21.26 + */
21.27 +/** main chess style **/
21.28 +#apptitle {
21.29 + font-size: 20px;
21.30 +}
21.31 +.log {
21.32 + margin-bottom: 10px;
21.33 +}
21.34 +table.board td {
21.35 + border: 1px solid black;
21.36 + padding:10px;
21.37 + width: 56px;
21.38 + height: 56px;
21.39 + vertical-align: middle;
21.40 + text-align: center;
21.41 + font-size:4em;
21.42 +}
21.43 +table.board td.row-label, table.board td.col-label {
21.44 + font-size: 2em;
21.45 + border:none;
21.46 + width:20px;
21.47 +}
21.48 +table.board td.col-label {
21.49 + height:20px;
21.50 +}
21.51 +.container {
21.52 + margin:10px;
21.53 +}
21.54 +
21.55 +table.board td.white {
21.56 + background-color: #D0D0D0;
21.57 +}
21.58 +table.board td.black {
21.59 + background-color: #A0A0A0;
21.60 +}
21.61 +table.board td.selected {
21.62 + background-color: #bce8f1;
21.63 +}
21.64 +table.board td.accessible {
21.65 + background-color: #a9dba9;
21.66 +}
21.67 +table.board td.pending {
21.68 + background-color: #dbc59e;
21.69 +}
21.70 +.figure {
21.71 + cursor: pointer;
21.72 +}
21.73 +.but-orientation {
21.74 + margin-top:20px;
21.75 +}
21.76 +h3.log-h {
21.77 + border-top:1px solid silver;
21.78 +}
21.79 +.badge-status {
21.80 + display:inline-block;
21.81 + margin-left:20px;
21.82 + padding:5px;
21.83 + font-size:1em;
21.84 + text-shadow: none;
21.85 +}
21.86 +.badge-white-turn {
21.87 + font-size: 1em;
21.88 + padding:4px;
21.89 + background-color: white;
21.90 + color:black;
21.91 + text-shadow: none;
21.92 + border:1px solid black;
21.93 + font-weight: normal;
21.94 + display: inline-block;
21.95 + margin-left: 38px;
21.96 +}
21.97 +.badge-black-turn {
21.98 + font-size: 1em;
21.99 + padding:4px;
21.100 + background-color: black;
21.101 + color:white;
21.102 + text-shadow: none;
21.103 + border:1px solid black;
21.104 + font-weight: normal;
21.105 + display: inline-block;
21.106 + margin-left: 38px;
21.107 +}
21.108 +.btn {text-shadow: none;}
21.109 +.select {line-height: inherit;}
21.110 +.uneditable-input {
21.111 + margin-left: 0;
21.112 + color: black;
21.113 +}
21.114 +span.myturn {
21.115 + display: inline-block;
21.116 + position:relative;
21.117 + left:23px;
21.118 + padding:3px;
21.119 +}
21.120 +.whitePiece {
21.121 + text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
21.122 + color: white;
21.123 +}
21.124 +h1 {
21.125 + font-size: 29px;
21.126 + line-height: initial;
21.127 +}
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
22.2 +++ b/chess/src/main/webapp/pages/css/spinner.css Wed Sep 25 04:28:19 2013 +0200
22.3 @@ -0,0 +1,114 @@
22.4 +/**
22.5 + * The MIT License (MIT)
22.6 + *
22.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
22.8 + *
22.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
22.10 + * of this software and associated documentation files (the "Software"), to deal
22.11 + * in the Software without restriction, including without limitation the rights
22.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
22.13 + * copies of the Software, and to permit persons to whom the Software is
22.14 + * furnished to do so, subject to the following conditions:
22.15 + *
22.16 + * The above copyright notice and this permission notice shall be included in
22.17 + * all copies or substantial portions of the Software.
22.18 + *
22.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22.25 + * THE SOFTWARE.
22.26 + */
22.27 +/** chess cube style **/
22.28 +
22.29 +#chesscube {
22.30 + margin: 1em auto;
22.31 + -webkit-perspective: 1200px;
22.32 + perspective: 1200px;
22.33 + position: fixed;
22.34 + z-index: -100;
22.35 + bottom:100px;
22.36 + right: 100px;
22.37 + width: 160px;
22.38 + height: 160px;
22.39 + transition: opacity 1s;
22.40 +}
22.41 +
22.42 +#spinner div {
22.43 + position: fixed;
22.44 + width: 160px;
22.45 + height: 160px;
22.46 + border: 1px solid #ccc;
22.47 + background: rgba(255,255,155,0.8);
22.48 + text-align: center;
22.49 + line-height: 160px;
22.50 + font-size: 120px;
22.51 + -webkit-box-shadow: inset 0 0 40px rgba(0,0,0,0.4);
22.52 + box-shadow: inset 0 0 40px rgba(0,0,0,0.4);
22.53 +}
22.54 +
22.55 +#spinner div:nth-child(1) {
22.56 + -webkit-transform: translateZ(80px);
22.57 + transform: translateZ(80px);
22.58 +}
22.59 +#spinner div:nth-child(2) {
22.60 + -webkit-transform: rotateY(90deg) translateZ(80px);
22.61 + transform: rotateY(90deg) translateZ(80px);
22.62 +}
22.63 +#spinner div:nth-child(3) {
22.64 + -webkit-transform: rotateY(90deg) rotateX(90deg) translateZ(80px);
22.65 + transform: rotateY(90deg) rotateX(90deg) translateZ(80px);
22.66 +}
22.67 +#spinner div:nth-child(4) {
22.68 + -webkit-transform: rotateY(180deg) rotateZ(90deg) translateZ(80px);
22.69 + transform: rotateY(180deg) rotateZ(90deg) translateZ(80px);
22.70 +}
22.71 +#spinner div:nth-child(5) {
22.72 + -webkit-transform: rotateY(-90deg) rotateZ(90deg) translateZ(80px);
22.73 + transform: rotateY(-90deg) rotateZ(90deg) translateZ(80px);
22.74 +}
22.75 +#spinner div:nth-child(6) {
22.76 + -webkit-transform: rotateX(-90deg) translateZ(80px);
22.77 + transform: rotateX(-90deg) translateZ(80px);
22.78 +}
22.79 +
22.80 +@-webkit-keyframes spincube {
22.81 + from,to { }
22.82 + 16% { -webkit-transform: rotateY(-90deg); }
22.83 + 33% { -webkit-transform: rotateY(-90deg) rotateZ(90deg); }
22.84 + 50% { -webkit-transform: rotateY(180deg) rotateZ(90deg); }
22.85 + 66% { -webkit-transform: rotateY(90deg) rotateX(90deg); }
22.86 + 83% { -webkit-transform: rotateX(90deg); }
22.87 +}
22.88 +
22.89 +@keyframes spincube {
22.90 + from,to { }
22.91 + 16% { transform: rotateY(-90deg); }
22.92 + 33% { transform: rotateY(-90deg) rotateZ(90deg); }
22.93 + 50% { transform: rotateY(180deg) rotateZ(90deg); }
22.94 + 66% { transform: rotateY(90deg) rotateX(90deg); }
22.95 + 83% { transform: rotateX(90deg); }
22.96 +}
22.97 +
22.98 +#spinner {
22.99 + -webkit-animation-name: spincube;
22.100 + -webkit-animation-timing-function: ease-in-out;
22.101 + -webkit-animation-iteration-count: infinite;
22.102 + -webkit-animation-duration: 12s;
22.103 + -webkit-transform-style: preserve-3d;
22.104 + -webkit-transform-origin: 80px 80px 0;
22.105 + animation-name: spincube;
22.106 + animation-timing-function: ease-in-out;
22.107 + animation-iteration-count: infinite;
22.108 + animation-duration: 12s;
22.109 + transform-style: preserve-3d;
22.110 + transform-origin: 80px 80px 0;
22.111 +}
22.112 +
22.113 +@media (max-width: 767px) {
22.114 + #chesscube {
22.115 + opacity: 0;
22.116 + }
22.117 +}
23.1 Binary file chess/src/main/webapp/pages/img/glyphicons-halflings-white.png has changed
24.1 Binary file chess/src/main/webapp/pages/img/glyphicons-halflings.png has changed
25.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
25.2 +++ b/chess/src/main/webapp/pages/index.html Wed Sep 25 04:28:19 2013 +0200
25.3 @@ -0,0 +1,173 @@
25.4 +<!--
25.5 +
25.6 + The MIT License (MIT)
25.7 +
25.8 + Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
25.9 +
25.10 + Permission is hereby granted, free of charge, to any person obtaining a copy
25.11 + of this software and associated documentation files (the "Software"), to deal
25.12 + in the Software without restriction, including without limitation the rights
25.13 + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25.14 + copies of the Software, and to permit persons to whom the Software is
25.15 + furnished to do so, subject to the following conditions:
25.16 +
25.17 + The above copyright notice and this permission notice shall be included in
25.18 + all copies or substantial portions of the Software.
25.19 +
25.20 + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25.21 + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25.22 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25.23 + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25.24 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25.25 + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25.26 + THE SOFTWARE.
25.27 +
25.28 +-->
25.29 +<!DOCTYPE html>
25.30 +<html lang="en">
25.31 + <head>
25.32 + <meta charset="utf-8">
25.33 + <title>Chess Client</title>
25.34 + <meta name="viewport" content="width=device-width, initial-scale=1.0">
25.35 + <meta name="description" content="">
25.36 + <meta name="author" content="">
25.37 +
25.38 + <!-- Le styles -->
25.39 + <link href="./css/bootstrap.css" rel="stylesheet">
25.40 + <link href="./css/bootstrap-responsive.css" rel="stylesheet">
25.41 + <link href="./css/chess.css" rel="stylesheet">
25.42 + <!-- Target tablets -->
25.43 + <link href="./css/chess-tablet-large.css" media="(min-width:560px) and (max-width:710px)" rel="stylesheet" />
25.44 + <link href="./css/chess-tablet-small.css" media="(min-width:460px) and (max-width:560px)" rel="stylesheet" />
25.45 + <!-- Target phones -->
25.46 + <link href="./css/chess-phone-large.css" media="(min-width:370px) and (max-width:460px)" rel="stylesheet" />
25.47 + <link href="./css/chess-phone-small.css" media="(max-width:370px)" rel="stylesheet" />
25.48 + <link href="./css/spinner.css" rel="stylesheet">
25.49 + </head>
25.50 + <body>
25.51 + <div class="navbar">
25.52 + <div class="navbar-inner">
25.53 + <a id="apptitle" class="brand" data-bind="css: { active: viewGamesActive }, click: activateSettings" href="#">JavaOne Chess</a>
25.54 + <ul class="nav" data-bind="foreach: boards">
25.55 + <li data-bind="css: { active: active }, click: $root.activateGame">
25.56 + <a href="#" data-bind="text: title"></a>
25.57 + </li>
25.58 + </ul>
25.59 + </div>
25.60 + </div>
25.61 + <div data-bind="template: { name: 'render-games', data: viewGames, ifnot: selectedBoard }"></div>
25.62 + <div data-bind="template: { name: 'render-board', data: selectedBoard, if : selectedBoard }"></div>
25.63 +
25.64 + <script type="text/html" id="render-board">
25.65 + <div class="container-fluid">
25.66 + <div class="row-fluid">
25.67 + <div class="span12">
25.68 + <h1><span data-bind="text: status"></span></h1>
25.69 + <p style="position: relative; left: 0px; top: 0px; height: 25px">
25.70 + <span data-bind="visible: blackTurn" class="badge badge-black-turn">Black's turn</span>
25.71 + <span data-bind="visible: whiteTurn" class="badge badge-white-turn">White's turn</span>
25.72 + <span data-bind="text: alertMessage" class="badge badge-warning badge-status"></span>
25.73 + </p>
25.74 + <p>
25.75 + <table class="board">
25.76 + <tbody>
25.77 + <!-- ko foreach: rows -->
25.78 + <tr>
25.79 + <td class="row-label">
25.80 + <span data-bind='text: y'></span>
25.81 + </td>
25.82 + <!-- ko foreach: columns -->
25.83 + <td data-bind="click: $parents[1].selected, css: squareColor" >
25.84 + <span data-bind='html: pieceEntity, css: { blackPiece: pieceColor() === "B", whitePiece: pieceColor() === "W" }' class="figure"></span>
25.85 + </td>
25.86 + <!-- /ko -->
25.87 + </tr>
25.88 + <!-- /ko -->
25.89 + <tr>
25.90 + <td class="col-label"></td>
25.91 + <!-- ko foreach: columnNames -->
25.92 + <td class="row-label">
25.93 + <span data-bind='text: $data'></span>
25.94 + </td>
25.95 + <!-- /ko -->
25.96 + </tr>
25.97 + </tbody>
25.98 + </table>
25.99 + <button data-bind="click: rotateBoard" class="but-orientation">Rotate Board</button>
25.100 + <button data-bind="click: $root.leave" class="but-orientation">Leave Game</button>
25.101 + </p>
25.102 + </div>
25.103 + </div>
25.104 + <div class="row-fluid">
25.105 + <div class="span12 log-div">
25.106 + <h3 class="log-h">Game Log</h3>
25.107 + <div class="log">
25.108 + <div data-bind="foreach: moves">
25.109 + <span>
25.110 + <!-- ko if: whiteMove -->
25.111 + <span data-bind="text: round" class="badge"></span>
25.112 + <!-- /ko -->
25.113 + <a href="#" data-bind="html: html, click: $parent.showPosition"></a>,
25.114 + </span>
25.115 + </div>
25.116 + </div>
25.117 + </div>
25.118 + </div>
25.119 + </div>
25.120 + </script>
25.121 +
25.122 + <script type="text/html" id="render-games">
25.123 + <div class="container-fluid">
25.124 + <div data-bind="visible: $root.viewGamesActive">
25.125 + <h3>List of Games</h3>
25.126 + <p>
25.127 + Status: <span data-bind="text: $root.status"></span>
25.128 + </p>
25.129 + <span class="input-append" class="select">
25.130 + <input type="text" data-bind="value: whitePlayer, valueUpdate: 'afterkeydown'"
25.131 + class="input-small" placeholder="White Player"></input>
25.132 + </span>
25.133 + vs.
25.134 + <span>
25.135 + <input type="text" data-bind="value: blackPlayer, valueUpdate: 'afterkeydown'"
25.136 + class="input-small" placeholder="Black Player"></input>
25.137 + </span>
25.138 + <br/>
25.139 + <button data-bind="click: $root.createGame, enable: correctNames"
25.140 + class="btn btn-success" >Create Game!</button>
25.141 + <br/>
25.142 + <br/>
25.143 + <br/>
25.144 + <div data-bind="foreach: $root.boards">
25.145 + <div class="input-append">
25.146 + <input type="text" data-bind="value: status" disabled></input>
25.147 + <button class="btn" data-bind="click: $root.joinGame">
25.148 + Show
25.149 + </button>
25.150 + </div>
25.151 + <br/>
25.152 + </div>
25.153 + </div>
25.154 + </div>
25.155 + <div id="chesscube">
25.156 + <div id="spinner">
25.157 + <div>♔</div>
25.158 + <div>♛</div>
25.159 + <div>♖</div>
25.160 + <div>♝</div>
25.161 + <div>♘</div>
25.162 + <div>♟</div>
25.163 + </div>
25.164 + </div>
25.165 + </script>
25.166 + <center data-bind="visible: false">
25.167 + <img src="DukeHTML.png" width="320" height="200" alt="Loading...">
25.168 + <h3>Initializing the virtual machine...</h3>
25.169 + </center>
25.170 + <script type="text/javascript" src="bck2brwsr.js"></script>
25.171 + <script>
25.172 + var vm = bck2brwsr('${project.build.finalName}.jar');
25.173 + vm.loadClass('org.apidesign.html.demo.chess.LoadMain');
25.174 + </script>
25.175 + </body>
25.176 +</html>
26.1 Binary file chess/src/main/webapp/pages/sounds/check.mp3 has changed
27.1 Binary file chess/src/main/webapp/pages/sounds/checkmate.mp3 has changed
28.1 Binary file chess/src/main/webapp/pages/sounds/move.mp3 has changed
29.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
29.2 +++ b/chess/src/test/java/org/apidesign/html/demo/chess/BoardModelTest.java Wed Sep 25 04:28:19 2013 +0200
29.3 @@ -0,0 +1,486 @@
29.4 +/**
29.5 + * The MIT License (MIT)
29.6 + *
29.7 + * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
29.8 + *
29.9 + * Permission is hereby granted, free of charge, to any person obtaining a copy
29.10 + * of this software and associated documentation files (the "Software"), to deal
29.11 + * in the Software without restriction, including without limitation the rights
29.12 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
29.13 + * copies of the Software, and to permit persons to whom the Software is
29.14 + * furnished to do so, subject to the following conditions:
29.15 + *
29.16 + * The above copyright notice and this permission notice shall be included in
29.17 + * all copies or substantial portions of the Software.
29.18 + *
29.19 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
29.20 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
29.21 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
29.22 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
29.23 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
29.24 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
29.25 + * THE SOFTWARE.
29.26 + */
29.27 +package org.apidesign.html.demo.chess;
29.28 +
29.29 +import org.apidesign.html.demo.chess.Color;
29.30 +import org.apidesign.html.demo.chess.Rules;
29.31 +import org.apidesign.html.demo.chess.BoardModel;
29.32 +import org.apidesign.html.demo.chess.BoardModel.PieceType;
29.33 +import java.util.Arrays;
29.34 +import java.util.Collections;
29.35 +import java.util.List;
29.36 +import static org.testng.Assert.*;
29.37 +import org.testng.annotations.Test;
29.38 +
29.39 +/**
29.40 + *
29.41 + * @author Jaroslav Tulach <jtulach@netbeans.org>
29.42 + */
29.43 +public class BoardModelTest {
29.44 +
29.45 + public BoardModelTest() {
29.46 + }
29.47 +
29.48 + @Test public void whiteRockLeftBottom() {
29.49 + Board b = Rules.createBoard();
29.50 + Row bottom = b.getRows().get(7);
29.51 + Square left = bottom.getColumns().get(0);
29.52 + assertEquals(left.getPiece(), PieceType.ROCK, "Rock is on bottom left square");
29.53 + assertEquals(left.getPieceColor(), Color.W, "It is white");
29.54 + assertEquals(left.getColor(), Color.B, "Square is black");
29.55 + }
29.56 +
29.57 + @Test public void e2e4e7e6() {
29.58 + Board b = Rules.createBoard();
29.59 + b.setGameId("myId");
29.60 + setPlayer(b, Color.W);
29.61 + assertEquals(b.getTurn(), Color.W);
29.62 +
29.63 + Square e2 = BoardModel.findSquare(b, 'E', 2);
29.64 + assertNotNull(e2);
29.65 + BoardModel.selected(b, e2);
29.66 + assertEquals(BoardModel.findSelectedSquare(b), e2, "E2 is selected");
29.67 +
29.68 + Square e4 = BoardModel.findSquare(b, 'E', 4);
29.69 + assertNotNull(e4);
29.70 +
29.71 + BoardModel.selected(b, e4);
29.72 +
29.73 + assertNull(e2.getPiece(), "No pawn at e2");
29.74 + assertEquals(e4.getPiece(), BoardModel.PieceType.PAWN, "Pawn moved successfully");
29.75 + assertNull(BoardModel.findSelectedSquare(b), "No square selected");
29.76 +
29.77 + BoardModel.selected(b, e4);
29.78 + assertNull(BoardModel.findSelectedSquare(b), "No square selected, it is blacks turn");
29.79 +
29.80 + List<Move> mvs1 = b.getMoves();
29.81 + assertEquals(1, mvs1.size(), "First move was made: " + mvs1);
29.82 + Move firstMove = mvs1.get(0);
29.83 + assertEquals(firstMove.getPiece(), PieceType.PAWN, "Moving with pawn");
29.84 + assertEquals(firstMove.getRound(), 1, "First round of moves");
29.85 + assertEquals(firstMove.getTurn(), Color.W, "Moved by white");
29.86 + assertTrue(firstMove.isWhiteMove(), "Really moved by white");
29.87 +
29.88 + assertTrue(b.isBlackTurn(), "black's turn");
29.89 +
29.90 +
29.91 + Square e7 = BoardModel.findSquare(b, 'E', 7);
29.92 +
29.93 + Move blackMv = BoardModel.MoveImpl.valueOf("E7E6");
29.94 + BoardModel.moveUpdate(b, blackMv,
29.95 + Collections.singletonList("PE4"),
29.96 + Collections.singletonList("PE6"),
29.97 + Color.W, null
29.98 + );
29.99 +
29.100 + assertNull(e7.getPiece(), "Piece has been moved");
29.101 +
29.102 + List<Move> mvs = b.getMoves();
29.103 + assertEquals(2, mvs.size(), "There are two moves now: " + mvs);
29.104 + Move secondMove = mvs.get(1);
29.105 + assertEquals(secondMove.getPiece(), PieceType.PAWN, "Moving with pawn");
29.106 + assertEquals(secondMove.getRound(), 1, "Still 1st round of moves");
29.107 + assertEquals(secondMove.getTurn(), Color.B, "Moved by black");
29.108 + assertFalse(secondMove.isWhiteMove(), "Really moved by black");
29.109 + }
29.110 +
29.111 + @Test public void unselect() {
29.112 + Board b = Rules.createBoard();
29.113 + b.setGameId("myId");
29.114 + setPlayer(b, Color.W);
29.115 + assertEquals(b.getTurn(), Color.W);
29.116 +
29.117 + Square e2 = BoardModel.findSquare(b, 'E', 2);
29.118 + assertNotNull(e2);
29.119 + BoardModel.selected(b, e2);
29.120 + assertEquals(BoardModel.findSelectedSquare(b), e2, "E2 is selected");
29.121 +
29.122 + BoardModel.selected(b, e2);
29.123 + assertNull(BoardModel.findSelectedSquare(b), "E2 is unselected");
29.124 +
29.125 + for (Row row : b.getRows()) {
29.126 + for (Square s : row.getColumns()) {
29.127 + assertFalse(s.isAccessible(), "No square is accessible anymore: " + s);
29.128 + }
29.129 + }
29.130 + }
29.131 +
29.132 + @Test public void discaredMove() {
29.133 + Board b = Rules.createBoard();
29.134 + b.setGameId("myId");
29.135 + setPlayer(b, Color.W);
29.136 + assertEquals(b.getTurn(), Color.W);
29.137 +
29.138 + Square e2 = BoardModel.findSquare(b, 'E', 2);
29.139 + assertNotNull(e2);
29.140 + BoardModel.selected(b, e2);
29.141 + assertEquals(BoardModel.findSelectedSquare(b), e2, "E2 is selected");
29.142 +
29.143 + Square e4 = BoardModel.findSquare(b, 'E', 4);
29.144 + assertNotNull(e4);
29.145 +
29.146 + BoardModel.selected(b, e4);
29.147 +
29.148 + assertNull(e2.getPiece(), "No pawn at e2");
29.149 +
29.150 + assertEquals(b.getMoves().size(), 1, "One move recorded");
29.151 + assertEquals(b.getMoves().get(0), b.getPendingMove(), "Pending move is waiting");
29.152 + }
29.153 +
29.154 + @Test public void cantSelectEmptySquare() {
29.155 + Board b = Rules.createBoard();
29.156 + Square e3 = BoardModel.findSquare(b, 'E', 3);
29.157 + assertNotNull(e3);
29.158 + BoardModel.selected(b, e3);
29.159 + assertNull(BoardModel.findSelectedSquare(b), "No square is selected");
29.160 + }
29.161 +
29.162 + @Test public void cantTakeOwnPiece() {
29.163 + Board b = Rules.createBoard();
29.164 + setPlayer(b, Color.W);
29.165 + Square e1 = BoardModel.findSquare(b, 'E', 1);
29.166 + assertNotNull(e1);
29.167 + BoardModel.selected(b, e1);
29.168 + assertEquals(BoardModel.findSelectedSquare(b), e1, "E1 is selected");
29.169 +
29.170 + Square e2 = BoardModel.findSquare(b, 'E', 2);
29.171 + assertNotNull(e2);
29.172 +
29.173 + BoardModel.selected(b, e2);
29.174 +
29.175 + assertNotNull(e1.getPiece(), "King remains at e1");
29.176 + assertEquals(e2.getPiece(), BoardModel.PieceType.PAWN, "Pawn remains");
29.177 + assertEquals(BoardModel.findSelectedSquare(b), e2, "e2 now selected");
29.178 +
29.179 + }
29.180 +
29.181 + @Test public void knightMustMoveToF3() {
29.182 + Board b = Rules.createBoard();
29.183 + setPlayer(b, Color.W);
29.184 + Square g1 = BoardModel.findSquare(b, 'G', 1);
29.185 + BoardModel.selected(b, g1);
29.186 +
29.187 + Square f3 = BoardModel.findSquare(b, 'F', 3);
29.188 + assertTrue(f3.isAccessible(), "This is a field where knight can move");
29.189 +
29.190 + Square g3 = BoardModel.findSquare(b, 'G', 3);
29.191 + assertFalse(g3.isAccessible(), "Not a place for knight");
29.192 +
29.193 + Square e2 = BoardModel.findSquare(b, 'E', 2);
29.194 + assertFalse(e2.isAccessible(), "Not a place either, occupied");
29.195 +
29.196 + BoardModel.selected(b, g3);
29.197 +
29.198 + assertNull(g3.getPiece(), "No figure was moved");
29.199 + assertTrue(g1.isSelected(), "Original square still selected");
29.200 +
29.201 + BoardModel.selected(b, f3);
29.202 +
29.203 + assertEquals(f3.getPiece(), PieceType.KNIGHT, "Moved");
29.204 + assertFalse(g3.isSelected(), "No longer selected");
29.205 + }
29.206 +
29.207 + @Test public void pawnCanTakeToSide() {
29.208 + Board b = Rules.createBoard();
29.209 + Square e2 = BoardModel.findSquare(b, 'E', 2);
29.210 + Square e4 = BoardModel.findSquare(b, 'E', 4);
29.211 + Square d7 = BoardModel.findSquare(b, 'D', 7);
29.212 + Square d5 = BoardModel.findSquare(b, 'D', 5);
29.213 +
29.214 + BoardModel.selected(b, e2);
29.215 + BoardModel.selected(b, e4);
29.216 +
29.217 + setPlayer(b, Color.B);
29.218 +
29.219 + BoardModel.selected(b, d7);
29.220 + BoardModel.selected(b, d5);
29.221 +
29.222 + setPlayer(b, Color.W);
29.223 +
29.224 + BoardModel.selected(b, e4);
29.225 + assertTrue(d5.isAccessible(), "Can take on d5");
29.226 + BoardModel.selected(b, d5);
29.227 + assertNull(e4.getPiece(), "No pawn on e4");
29.228 + assertEquals(d5.getPieceColor(), Color.W, "White Pawn on d5");
29.229 + }
29.230 +
29.231 + @Test public void pawnCanJumpOnAnother() {
29.232 + Board b = Rules.createBoard();
29.233 + Square e2 = BoardModel.findSquare(b, 'E', 2);
29.234 + Square e4 = BoardModel.findSquare(b, 'E', 4);
29.235 + Square d7 = BoardModel.findSquare(b, 'D', 7);
29.236 + Square d5 = BoardModel.findSquare(b, 'D', 5);
29.237 + Square e7 = BoardModel.findSquare(b, 'E', 7);
29.238 + Square e6 = BoardModel.findSquare(b, 'E', 6);
29.239 + Square e5 = BoardModel.findSquare(b, 'E', 5);
29.240 +
29.241 + BoardModel.selected(b, e2);
29.242 + BoardModel.selected(b, e4);
29.243 +
29.244 + setPlayer(b, Color.B);
29.245 +
29.246 + BoardModel.selected(b, d7);
29.247 + BoardModel.selected(b, d5);
29.248 +
29.249 + setPlayer(b, Color.W);
29.250 +
29.251 + BoardModel.selected(b, e4);
29.252 + BoardModel.selected(b, e5);
29.253 +
29.254 + setPlayer(b, Color.B);
29.255 +
29.256 + BoardModel.selected(b, e7);
29.257 + assertTrue(e6.isAccessible(), "Can move by one piece");
29.258 + assertFalse(e5.isAccessible(), "Can't move where other pawn is");
29.259 + }
29.260 +
29.261 + @Test public void showFirstMove() {
29.262 + Board b = Rules.createBoard();
29.263 + setPlayer(b, Color.W);
29.264 + Square e2 = BoardModel.findSquare(b, 'E', 2);
29.265 + Square e4 = BoardModel.findSquare(b, 'E', 4);
29.266 + Square d7 = BoardModel.findSquare(b, 'D', 7);
29.267 + Square d5 = BoardModel.findSquare(b, 'D', 5);
29.268 +
29.269 + BoardModel.selected(b, e2);
29.270 + BoardModel.selected(b, e4);
29.271 +
29.272 + Move blackMv = BoardModel.MoveImpl.valueOf("D7D5");
29.273 + BoardModel.moveUpdate(b, blackMv,
29.274 + Collections.singletonList("PE4"),
29.275 + Collections.singletonList("PD5"),
29.276 + Color.W, null
29.277 + );
29.278 +
29.279 +
29.280 + assertEquals(b.getMoves().size(), 2, "Two moves");
29.281 + BoardModel.showPosition(b, b.getMoves().get(0));
29.282 +
29.283 + assertEquals(b.getRows().size(), 8, "Still eight rows");
29.284 + assertEquals(b.getRows().get(0).getColumns().size(), 8, "Eight columns");
29.285 +
29.286 + assertNull(e2.getPiece(), "e2 is empty");
29.287 + assertEquals(e4.getPiece(), PieceType.PAWN, "e4 has pawn");
29.288 + assertEquals(d7.getPiece(), PieceType.PAWN, "d7 has pawn");
29.289 + assertNull(d5.getPiece(), "Second move is not made");
29.290 + assertNull(b.getTurn(), "Nobody to make a move");
29.291 + }
29.292 +
29.293 + @Test public void initialPositionReadFromAServer() {
29.294 + List<String> blacks = Arrays.asList(
29.295 + "Pa7",
29.296 + "Pb7",
29.297 + "Pc7",
29.298 + "Pd7",
29.299 + "Pe7",
29.300 + "Pf7",
29.301 + "Pg7",
29.302 + "Ph7",
29.303 + "Ra8",
29.304 + "Nb8",
29.305 + "Bc8",
29.306 + "Qd8",
29.307 + "Ke8",
29.308 + "Bf8",
29.309 + "Ng8",
29.310 + "Rh8"
29.311 + );
29.312 + List<String> whites = Arrays.asList(
29.313 + "Ra1",
29.314 + "Nb1",
29.315 + "Bc1",
29.316 + "Qd1",
29.317 + "Ke1",
29.318 + "Bf1",
29.319 + "Ng1",
29.320 + "Rh1",
29.321 + "Pa2",
29.322 + "Pb2",
29.323 + "Pc2",
29.324 + "Pd2",
29.325 + "Pe2",
29.326 + "Pf2",
29.327 + "Pg2",
29.328 + "Ph2"
29.329 + );
29.330 +
29.331 + Board b = Rules.createBoard();
29.332 + Rules.initBoard(b, whites, blacks, Color.W);
29.333 +
29.334 + Board b2 = Rules.createBoard();
29.335 + Rules.initBoard(b2);
29.336 +
29.337 + for (int i = 0; i < 7; i++) {
29.338 + for (int j = 0; j < 7; j++) {
29.339 + Square s = b.getRows().get(i).getColumns().get(j);
29.340 + Square s2 = b2.getRows().get(i).getColumns().get(j);
29.341 +
29.342 + assertEquals(s.getPiece(), s2.getPiece(), "Same piece at " + i + "/" + j);
29.343 + assertEquals(s.getPieceColor(), s2.getPieceColor(), "Same piece color at " + i + "/" + j);
29.344 + }
29.345 + }
29.346 + }
29.347 +
29.348 + @Test public void allowSmallRochade() {
29.349 + Board b = Rules.createBoard();
29.350 + setPlayer(b, Color.W);
29.351 + Square f1 = BoardModel.findSquare(b, 'F', 1);
29.352 + f1.setPiece(null);
29.353 + f1.setPieceColor(null);
29.354 + Square g1 = BoardModel.findSquare(b, 'G', 1);
29.355 + g1.setPiece(null);
29.356 + g1.setPieceColor(null);
29.357 + Square e1 = BoardModel.findSquare(b, 'E', 1);
29.358 +
29.359 + BoardModel.selected(b, e1);
29.360 + assertTrue(g1.isAccessible(), "Can do 0-0");
29.361 + }
29.362 +
29.363 + @Test public void allowSmallRochadeForBlack() {
29.364 + Board b = Rules.createBoard();
29.365 + setPlayer(b, Color.B);
29.366 + b.setTurn(Color.B);
29.367 + Square f8 = BoardModel.findSquare(b, 'F', 8);
29.368 + f8.setPiece(null);
29.369 + f8.setPieceColor(null);
29.370 + Square g8 = BoardModel.findSquare(b, 'G', 8);
29.371 + g8.setPiece(null);
29.372 + g8.setPieceColor(null);
29.373 + Square e8 = BoardModel.findSquare(b, 'E', 8);
29.374 +
29.375 + BoardModel.selected(b, e8);
29.376 + assertTrue(g8.isAccessible(), "Can do 0-0");
29.377 + }
29.378 +
29.379 + @Test public void disallowSmallRochadeWhenNoRock() {
29.380 + Board b = Rules.createBoard();
29.381 + setPlayer(b, Color.W);
29.382 + Square f1 = BoardModel.findSquare(b, 'F', 1);
29.383 + f1.setPiece(null);
29.384 + f1.setPieceColor(null);
29.385 + Square g1 = BoardModel.findSquare(b, 'G', 1);
29.386 + g1.setPiece(null);
29.387 + g1.setPieceColor(null);
29.388 + Square h1 = BoardModel.findSquare(b, 'H', 1);
29.389 + h1.setPiece(null);
29.390 + h1.setPieceColor(null);
29.391 + Square e1 = BoardModel.findSquare(b, 'E', 1);
29.392 +
29.393 + BoardModel.selected(b, e1);
29.394 + assertFalse(g1.isAccessible(), "Cannot do 0-0 when there is no rock");
29.395 + }
29.396 +
29.397 + @Test public void disallowSmallRochadeWhenBishop() {
29.398 + Board b = Rules.createBoard();
29.399 + setPlayer(b, Color.W);
29.400 + Square g1 = BoardModel.findSquare(b, 'G', 1);
29.401 + g1.setPiece(null);
29.402 + Square e1 = BoardModel.findSquare(b, 'E', 1);
29.403 +
29.404 + BoardModel.selected(b, e1);
29.405 + assertFalse(g1.isAccessible(), "Cannot do 0-0 when there is bishop");
29.406 + }
29.407 +
29.408 + @Test public void disallowSmallRochadeWhenKnight() {
29.409 + Board b = Rules.createBoard();
29.410 + setPlayer(b, Color.W);
29.411 + Square f1 = BoardModel.findSquare(b, 'F', 1);
29.412 + f1.setPiece(null);
29.413 + Square e1 = BoardModel.findSquare(b, 'E', 1);
29.414 +
29.415 + BoardModel.selected(b, e1);
29.416 + assertFalse(f1.isAccessible(), "Cannot do 0-0 when there is knight");
29.417 + }
29.418 +
29.419 + @Test public void allowBigRochadeForBlack() {
29.420 + Board b = Rules.createBoard();
29.421 + setPlayer(b, Color.B);
29.422 + b.setTurn(Color.B);
29.423 + Square b8 = BoardModel.findSquare(b, 'B', 8);
29.424 + b8.setPiece(null);
29.425 + b8.setPieceColor(null);
29.426 + Square c8 = BoardModel.findSquare(b, 'C', 8);
29.427 + c8.setPiece(null);
29.428 + c8.setPieceColor(null);
29.429 + Square d8 = BoardModel.findSquare(b, 'D', 8);
29.430 + d8.setPiece(null);
29.431 + d8.setPieceColor(null);
29.432 + Square e8 = BoardModel.findSquare(b, 'E', 8);
29.433 +
29.434 + BoardModel.selected(b, e8);
29.435 + assertTrue(c8.isAccessible(), "Can do 0-0-0");
29.436 + }
29.437 +
29.438 + @Test public void enPassant() {
29.439 + Board b = Rules.createBoard();
29.440 + setPlayer(b, Color.B);
29.441 + b.setTurn(Color.B);
29.442 +
29.443 + Square e7 = BoardModel.findSquare(b, 'E', 7);
29.444 + Square e4 = BoardModel.findSquare(b, 'E', 4);
29.445 + movePiece(e7, e4);
29.446 +
29.447 + Move move = new Move();
29.448 + move.setFrom(position('D', 2));
29.449 + move.setTo(position('D', 4));
29.450 + move.setPiece(PieceType.PAWN);
29.451 + b.getMoves().add(move);
29.452 +
29.453 + Square d2 = BoardModel.findSquare(b, 'D', 2);
29.454 + Square d4 = BoardModel.findSquare(b, 'D', 4);
29.455 + movePiece(d2, d4);
29.456 +
29.457 + BoardModel.selected(b, e4);
29.458 +
29.459 + Square e3 = BoardModel.findSquare(b, 'E', 3);
29.460 + assertTrue(e3.isAccessible(), "Obviously can move to e3");
29.461 +
29.462 + Square d3 = BoardModel.findSquare(b, 'D', 3);
29.463 + assertTrue(d3.isAccessible(), "Can also take on d3");
29.464 + }
29.465 +
29.466 + private void movePiece(Square from, Square to) {
29.467 + to.setPiece(from.getPiece());
29.468 + to.setPieceColor(from.getPieceColor());
29.469 + from.setPiece(null);
29.470 + from.setPieceColor(null);
29.471 + }
29.472 +
29.473 + private Position position(char c, int i) {
29.474 + Position p = new Position();
29.475 + p.setX(c);
29.476 + p.setY(i);
29.477 + return p;
29.478 + }
29.479 +
29.480 + private static void setPlayer(Board b, Color c) {
29.481 + b.setWhitePlayer("x");
29.482 + b.setBlackPlayer("y");
29.483 + if (c == Color.B) {
29.484 + b.setPlayer("y");
29.485 + } else {
29.486 + b.setPlayer("x");
29.487 + }
29.488 + }
29.489 +}
30.1 --- a/pom.xml Tue Sep 24 21:02:32 2013 +0200
30.2 +++ b/pom.xml Wed Sep 25 04:28:19 2013 +0200
30.3 @@ -19,6 +19,7 @@
30.4 <modules>
30.5 <module>twitter</module>
30.6 <module>chat</module>
30.7 + <module>chess</module>
30.8 <module>spinningcube</module>
30.9 <module>words</module>
30.10 </modules>