diff --git a/org.eclipse.osbp.themes/about.properties b/org.eclipse.osbp.themes/about.properties
index 63f6ebe..917aace 100644
--- a/org.eclipse.osbp.themes/about.properties
+++ b/org.eclipse.osbp.themes/about.properties
@@ -24,11 +24,11 @@
 \n\
 \n\
 The bundle contains software licensed under the follwing licenses:\n\
-	- Apache License 2.0 for dragdrop.scss\n\
-	- Vaadin License, which itself contains further licenses, for Vaadin Themes and Tools\n\
+	- Apache License 2.0          for dragdrop.scss\n\
+	- Apache License 2.0          for Vaadin Themes and Vaadin sass compiler\n\
 	- SIL Open Font License (OFL) for Font Awesome which is Dual licensed. We decided to go with the OFL\n\
-	- w3c EPL for org.w3c.css.sac_1.3.1\n\
-	- w3c flute 1.3.0 license for org.w3c.flute_1.3.0.gg2\n\
-	- "public domain" for reset.scss\n\
+	- w3c EPL                     for org.w3c.css.sac_1.3.1\n\
+	- w3c flute 1.3.0 license     for org.w3c.flute_1.3.0.gg2\n\
+	- "public domain"             for reset.scss\n\
 \n
 ################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.themes/about_files/Vaadin-Licensing.html b/org.eclipse.osbp.themes/about_files/Vaadin-Licensing.html
deleted file mode 100644
index 9d62340..0000000
--- a/org.eclipse.osbp.themes/about_files/Vaadin-Licensing.html
+++ /dev/null
@@ -1,412 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- saved from url=(0057)http://vaadin.com/download/release/7.5/7.5.7/license.html -->
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
-<title>Vaadin Licensing</title>
-<link rel="stylesheet" type="text/css" href="./Vaadin-Licensing_files/styles.css">
-<!--[if IE]>
-		<link rel="stylesheet" type="text/css" href="css/ie.css" />
-		<![endif]-->
-</head>
-<body>
-
-	<div id="header">
-		<h1>Vaadin – thinking of U and I</h1>
-		<div id="version"></div>
-	</div>
-	<!-- /header -->
-
-	<div id="content">
-
-      <h1>Licensing</h1>
-
-      <p>
-        <strong><i>Vaadin Framework</i> is intended to be freely used and extended by
-        anyone without any fees</strong>. In order to guarantee these freedoms, <i>Vaadin
-        Framework</i> is licensed under the <a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a>.
-      </p>
-
-      <p>
-        Third-party software included in this distribution is provided under the same
-        license or compatible licenses, as listed in the section below.
-      </p>
-
-      <p>
-        The license of the Vaadin Framework is for this product only and may not apply to
-        all Vaadin add-ons, such as those available from Vaadin Directory, or other Vaadin
-        products, which may have different licenses.
-      </p>
-
-      <p>
-        If you have any questions on licensing terms, please contact us through <a href="http://vaadin.com/contact">the vaadin.com web-site</a>.
-      </p>
-
-      <h3>Included Third-Party Software and Licenses</h3>
-
-      <h4>Vaadin Production Dependencies</h4>
-
-      <p>The following dependencies are used by the Vaadin runtime
-         libraries when running the application in the production
-	 mode, and some also by the development libraries:</p>
-
-      <table border="1" cellspacing="1">
-        <thead style="background: #ccc;">
-          <tr><th>Package</th><th>License</th></tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td>Apache Commons<br>
-                CLI<br> <!-- Used by theme-compiler -->
-                Discovery<br>
-                IO<br>
-                Jexl<br>
-                Lang<br>
-                Logging<br> <!-- Used by theme-compiler -->
-                Math<br>
-            </td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
- 
-          <!-- Used by GWT and vaadin-server -->
-          <tr>
-            <td>Bean Validation (JSR-303) API</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <tr>
-            <td>Google AppEngine API*</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/google-cloud-platform-terms-of-service.txt">Google Cloud Platform Terms of Service</a></td>
-          </tr>
-
-          <tr>
-            <td>Google Collections</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- In vaadin-shared, vaadin-client-compiler, etc. -->
-          <tr>
-            <td>Google GWT</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <tr>
-            <td>Closure Stylesheets</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <tr>
-            <td>ASM</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/ow2-asm-license.txt">ASM Project License</a></td>
-          </tr>
-
-          <!-- In vaadin-shared-deps -->
-          <tr>
-            <td>Guava</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- In vaadin-shared-deps -->
-          <tr>
-            <td>JSON</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- Used by vaadin-server -->
-          <tr>
-            <td>JSoup</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/the-mit-license.txt">The MIT License</a></td>
-          </tr>
-
-          <tr>
-            <td>streamhtmlparser</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/new-bsd-license.txt">New BSD License</a></td>
-          </tr>
-
-          <!-- If vaadin-push used. Atmosphere has some internal dependencies, but they are all Apache 2. -->
-          <tr>
-            <td>Atmosphere Framework^</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a>,<br>
-                <a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/common-development-and-distribution-license-v1-0.txt">Common Development and Distribution License, Version 1.0</a></td>
-          </tr>
-
-          <!-- Used by vaadin-push -->
-          <tr>
-            <td>SLF4J^</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/the-mit-license.txt">The MIT License</a></td>
-          </tr>
-          <!-- Used by vaadin-push -->
-          <tr>
-            <td>jQuery^</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/the-mit-license.txt">The MIT License</a></td>
-          </tr>
-          <!-- Used by font icons -->
-          <tr>
-            <td title="Custom web font">FontAwesome</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/OFL.txt">SIL OFL 1.1</a></td>
-          </tr>
-          <!-- Included in the Valo theme -->
-          <tr>
-            <td title="Custom web font">Open Sans</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, version 2.0</a></td>
-          </tr>
-          <tr>
-            <td title="Custom web font">Roboto</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, version 2.0</a></td>
-          </tr>
-          <tr>
-            <td title="Custom web font">Roboto Condensed</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, version 2.0</a></td>
-          </tr>
-          <tr>
-            <td title="Custom web font">Source Sans Pro</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/OFL.txt">SIL OFL 1.1</a></td>
-          </tr>
-          <tr>
-            <td title="Custom web font">Lato</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/OFL.txt">SIL OFL 1.1</a></td>
-          </tr>
-          <tr>
-            <td title="Custom web font">Lora</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/OFL.txt">SIL OFL 1.1</a></td>
-          </tr>
-          <tr>
-            <td><a href="https://github.com/heygrady/scss-blend-modes">SCSS Blend Modes</a></td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/the-mit-license.txt">The MIT License</a></td>
-          </tr>
-          <tr>
-            <td><a href="https://github.com/Team-Sass/Sass-list-functions">Sass list functions</a></td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/the-mit-license.txt">The MIT License</a></td>
-          </tr>
-	  <!-- The extracted vaadin-sass-compiler -->
-          <tr>
-            <td>Vaadin Sass Compiler</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-	  <!-- Bourbon sass library -->
-          <tr>
-            <td>Bourbon</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/the-mit-license.txt">The MIT License</a></td>
-          </tr>
-        </tbody>
-      </table>
-      
-      <p>* Not required by Vaadin, only used if provided by the user.<br>
-^ Only if <tt>vaadin-push</tt> is used.</p>
-
-      <h4>Vaadin Development Dependencies</h4>
-
-      <p>The following dependencies are only used by the Vaadin
-         development libraries. Some are also used when running a
-	 Vaadin application in the development mode:</p>
-
-      <table border="1" cellspacing="1">
-        <thead style="background: #ccc;">
-          <tr><th>Package</th><th>License</th></tr>
-        </thead>
-        <tbody>
-          <!-- Required by Smartsprites -->
-          <tr>
-            <td>Apache Ant<br>
-                Ant Launcher</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <tr>
-            <td>Apache Commons<br>
-                BCEL<br>
-                <!-- Beanutils<br/> --> <!-- Does not appear to be used anywhere -->
-                Codec<br>
-                Collections<br>
-                Digester 3<br>
-                EL<br>
-                Modeler</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- Is this used anywhere? -->
-          <tr>
-            <td>Apache HttpComponents Core</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>Apache Jakarta Regexp</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-          <tr>
-            <td>Apache Mime4j</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- The Mime4j does not appear to be used anywhere. Remove if necessary.
-          <tr>
-            <td>Apache James Server<br/>
-                Apache James Mime4j</td>
-            <td><a href="licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-          -->
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>Apache Tapestry</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <tr>
-            <td>Apache Tomcat<br>
-                Catalina<br> <!-- Is this used anywhere? -->
-                Coyote<br> <!-- Is this used anywhere? -->
-                Jasper<br> <!-- In vaadin-client-compiler -->
-                JK<br> <!-- Is this used anywhere? -->
-                Naming <!-- In vaadin-client-compiler -->
-            </td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>Apache Xalan</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>Apache Xerces</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- Used by GWT and smartsprites -->
-          <tr>
-            <td>Args4j</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/the-mit-license.txt">The MIT License</a></td>
-          </tr>
-
-          <!-- Used by theme-compiler -->
-          <tr>
-            <td>CSS Parser</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/gnu-lesser-general-public-license-version-2-0.txt">GNU Lesser General Public License, version 2.0</a></td>
-          </tr>
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>CUP</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/cup-open-source-license.txt">CUP Open Source License</a></td>
-          </tr>
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>CyberNeko HTML Parser</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>Eclipse JDT</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/eclipse-public-license-v1-0.txt">Eclipse Public License - v 1.0</a></td>
-          </tr>
-
-          <!-- In vaadin-shared-deps but only invoked in development mode -->
-          <tr>
-            <td>Flute</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/w3c-software-copyright-notice-and-license.txt">W3C Software Copyright Notice and License</a></td>
-          </tr>
-
-          <!-- Is this used anywhere? -->
-          <tr>
-            <td>Google Closure Compiler</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>Google Protocol Buffers</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/google-bsd-license.txt">BSD License</a></td>
-          </tr>
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>HtmlUnit</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>ICU</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/icu-license-icu-1-8-1-and-later.txt">ICU License</a></td>
-          </tr>
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>Jetty</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a><br><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/eclipse-public-license-v1-0.txt">Eclipse Public License - v 1.0</a><br><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/jetty-web-container-license.txt">Jetty Web Container License</a></td>
-          </tr>
-
-          <!-- Is this used anywhere? -->
-          <tr>
-            <td>Jsilver</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/apache-license-version-2-0.txt">Apache License, Version 2.0</a></td>
-          </tr>
-
-          <!-- Includes portal-service -->
-          <tr>
-            <td>Liferay Service Interfaces*</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/gnu-lesser-general-public-license-version-2-1.txt">GNU Lesser General Public License 2.1 or newer</a></td>
-          </tr>
-
-          <!-- In vaadin-client-compiler -->
-          <tr>
-            <td>Mozilla Rhino</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/mozilla-public-license-v1-1.txt">Mozilla Public License v. 1.1</a></td>
-          </tr>
-
-          <!-- Is this used anywhere? -->
-          <tr>
-            <td>MX4J</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/the-mx4j-license.txt">The MX4J License</a></td>
-          </tr>
-
-          <!-- Used by theme-compiler -->
-          <tr>
-            <td>SAC: The Simple API for CSS</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/w3c-software-copyright-notice-and-license.txt">W3C Software Copyright Notice and License</a></td>
-          </tr>
-
-          <!-- Used by theme-compiler -->
-          <tr>
-            <td>SmartSprites</td>
-            <td><a href="http://vaadin.com/download/release/7.5/7.5.7/licenses/smartsprites-bsd-license.txt">BSD License</a></td>
-          </tr>
-
-          <!-- Explicitly excluded from vaadin-client-compiler
-          <tr>
-            <td>Swingworker</td>
-            <td><a href="http://www.gnu.org/licenses/lgpl-2.1.html">GNU Lesser General Public License 2.1</a></td>
-          </tr>
-          -->
-        </tbody>
-      </table>
-
-      <p>* Not required by Vaadin, only used if provided by the user.</p>
-
-		<h1>Copyright and trademarks</h1>
-		<p>
-			"Vaadin" and "}&gt;" are registered trademarks of <a href="http://vaadin.com/company">Vaadin Ltd</a>. You may not market
-			your products or services using the Vaadin -brand name, use Vaadin
-			logos or trademarks without written permission from <a href="http://vaadin.com/company">Vaadin Ltd</a>.
-		</p>
-		<p>
-			Copyright to <i>Vaadin Framework</i> is owned by <a href="http://vaadin.com/company">Vaadin Ltd</a>.
-		</p>		
-	</div>
-	<!-- /content-->
-
-
-	<div id="footer">
-		<span class="slogan">Vaadin – thinking of U and I</span>
-	</div>
-	<!-- /footer -->
-
-
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.themes/about_files/Vaadin-Licensing_files/styles.css b/org.eclipse.osbp.themes/about_files/Vaadin-Licensing_files/styles.css
deleted file mode 100644
index 9bd03ae..0000000
--- a/org.eclipse.osbp.themes/about_files/Vaadin-Licensing_files/styles.css
+++ /dev/null
@@ -1,475 +0,0 @@
-html {
-	margin: 0;
-	padding: 0;
-	text-align: center;
-	}
-
-body {
-	background-color: #fff;
-	font: normal 14px/20px Helvetica, "Lucida Grande", Arial, Verdana, sans-serif;
-	color: #464440;
-	padding: 0;
-	min-width: 980px;
-	text-align: left;
-	margin: 0 auto;
-	}
-
-.clearer {
-	height: 0;
-	overflow: hidden;
-	clear: both;
-	}
-
-h1,h2,h3,h4,h5,h6 {
-	color: #000;
-	font-weight: normal;
-	line-height: normal;
-	}
-
-h1 {
-	font-size: 48px;
-	font-weight: bold;
-	}
-
-h2 {
-	font-size: 36px;
-	font-weight: bold;
-	}
-
-h3 {
-	font-size: 30px;
-	font-weight: bold;
-	margin-bottom: 23px;
-	}
-
-h4 {
-	font-size: 18px;
-	margin-bottom: .8em;
-	}
-
-h5 {
-	font-size: 16px;
-	margin-bottom: .5em;
-	}
-
-h6 {
-	font-size: 14px;
-	margin: .6em 0 .1em;
-	}
-
-p {
-	margin: 0 0 1em;
-	}
-
-a {
-	text-decoration: none;
-	padding: 0 3px;
-	margin: 0 -3px;
-	-moz-border-radius: 2px;
-	-webkit-border-radius: 2px;
-	border-radius: 2px;
-	}
-
-a:link {
-	color: #00a2d8;
-	}
-
-a:visited {
-	color: #00a248;
-	}
-
-a:hover {
-	background: #e4e3da;
-	color: #505048;
-	}
-
-a:active {
-	color: #000;
-	background: #a09f91;
-	}
-
-ul {
-	list-style-type: square;
-	}
-
-.codeblock {
-	background: #f0efea;
-	padding: 1em;
-	margin: 1em 0;
-	-webkit-border-radius: 8px;
-	-moz-border-radius: 8px;
-	}
-
-.codeblock h4 {
-	margin-top: 0;
-	}
-
-
-/***************************************************
- * Furniture 
- ***************************************************/
-
-#header {
-	height: 93px;
-	position: relative;
-	}
-
-#header h1 {
-	width: 393px;
-	height: 46px;
-	background: transparent url(../img/vaadin-logo.png) no-repeat;
-	position: absolute;
-	top: 23px;
-	left: 50%;
-	margin: 0;
-	margin-left: -484px;
-	text-indent: -9999px;
-	}
-
-#version {
-	position: absolute;
-	left: 50%;
-	top: 38px;
-	color: #000;
-	text-align: right;
-	width: 484px;
-	}
-
-#version a {
-	color: #78776d;
-	display: inline-block;
-	zoom: 1;
-	padding: 1px 12px;
-	font-size: 12px;
-	background: #e4e3da;
-	-moz-border-radius: 9px;
-	-webkit-border-radius: 9px;
-	border-radius: 9px;
-	}
-
-#version a:hover {
-	border: none;
-	background: #a09f91;
-	color: #fff;
-	}
-
-#version .release-notes {
-	margin-left: 10px;
-	}
-
-#subheader {
-	position: relative;
-	height: 38px;
-	line-height: 38px;
-	background: #000;
-	}
-
-#menu,
-#links {
-	list-style: none;
-	padding: 0;
-	margin: 0;
-	}
-
-#subheader li {
-	display: inline;
-	float: left;
-	padding: 0;
-	}
-
-#menu {
-	position: absolute;
-	left: 50%;
-	width: 650px;
-	margin-left: -483px;
-	font-weight: bold;
-	white-space: nowrap;
-	z-index: 2;
-	}
-
-#menu li {
-	margin: 0 .3em;
-	}
-
-#menu li,
-#menu a {
-	color: #d9d8cb;
-	}
-
-#links {
-	width: 484px;
-	position: absolute;
-	top: 2px;
-	left: 50%;
-	z-index: 1;
-	}
-
-#links li {
-	float: right;
-	}
-
-#links a {
-	font-size: 12px;
-	line-height: 34px;
-	color: #a09f91;
-	margin-left: 14px;
-	white-space: nowrap;
-	}
-
-#subheader a:hover {
-	background: transparent;
-	color: #fff;
-	}
-
-ul {
-	padding-left: 1.3em;
-	}
-
-#footer {
-	margin: 0 auto;
-	width: 968px;
-	height: 60px;
-	color: #000;
-	font-size: 11px;
-	}
-
-#footer a {
-	float: right;
-	}
-
-#footer strong {
-	font-size: 13px;
-	}
-
-#footer strong em {
-	color: #00b4f0;
-	font-style: normal;
-	margin: 0 0.2em 0 -0.15em;
-	}
-
-/***************************************************
- * Content wrapper
- ***************************************************/
-
-#content {
-	position: relative;
-	margin: 0 0 56px -484px;
-	left: 50%;
-	width: 968px;
-	overflow: hidden;
-	}
-
-
-
-/***************************************************
- * Vertical tabs
- ***************************************************/
-#tabs {
-	float: left;
-	width: 196px;
-	}
-
-#tabs .tab {
-	font-size: 18px;
-	cursor: pointer;
-	padding: 8px 14px;
-	background: #fff;
-	color: #a09f91;
-	-webkit-transition: linear .2s color;
-	}
-
-#tabs .tab * {
-	vertical-align: middle;
-}
-
-#tabs .tab a {
-	margin: 0;
-	padding: 0;
-	color: #00a2d8;
-	-webkit-transition: linear .2s color;
-	}
-
-#tabs .tab:hover a,
-#tabs .tab a:focus {
-	background: transparent;
-	margin: 0;
-	padding: 0;
-	color: #464440;
-	}
-
-#tabs .tab:hover {
-	color: #464440;
-	}
-
-#tabs .tab span {
-	font-size: 9px;
-	margin-left: .7em;
-	}
-
-#tabs .selected,
-#tabs .selected:hover,
-#tabs .selected:hover a,
-#tabs .selected a,
-#tabs .selected a:hover,
-#tabs .selected a:focus {
-	color: #000;
-	cursor: default;
-	-webkit-transition: linear .2s color;
-	font-weight: bold;
-	}
-
-#tabs .first {
-	margin-top: 0;
-	}
-
-h3.reasons {
-	color: #78776d;
-	margin: 0 0 40px;
-	height: 30px;
-	}
-	
-#reasons {
-	list-style: none;
-	margin: 0;
-	padding: 0;
-	}
-
-#reasons.js {
-	float: left;
-	width: 769px;
-	}
-
-#reasons .tab {
-	display: block;
-	margin: 0 0 1em;
-	padding: 20px 40px;
-	background: #efeee9;
-	-webkit-border-radius: 9px;
-	-moz-border-radius: 9px;
-	border-radius: 9px;
-	clear: left;
-	overflow: hidden;
-	}
-
-#reasons.js .tab {
-	width: 689px;
-	}
-
-#reasons .tab h4 {
-	font-weight: bold;
-	font-size: 24px;
-	margin: 14px 0 24px;
-	}
-
-#reasons .tab .col {
-	width: 22.8%;
-	margin-right: 2%;
-	float: left;
-	margin-bottom: 2em;
-	}
-
-#reasons .tab .col2 {
-	width: 47.8%;
-	margin-right: 2%;
-	float: left;
-	margin-bottom: 2em;
-	}
-
-#reasons .tab .col3 {
-	width: 72.8%;
-	margin-right: 2%;
-	float: left;
-	margin-bottom: 2em;
-	}
-
-#reasons .tab .col4 {
-	clear: left;
-	margin-bottom: 2em;
-	}
-
-#reasons .tab .newline {
-	clear: left;
-	}
-
-#reasons .tab p:last-child {
-	margin: 0;
-	}
-
-#reasons .tab h5 {
-	margin-top: 0;
-	}
-
-
-/***************************************************
- * Section specific styles
- ***************************************************/
-img {
-	border: none;
-	}
-
-.book {
-	overflow: hidden;
-	}
-
-.book h5 {
-	font-weight: bold;
-	font-size: 18px;
-	}
-
-.book h6 {
-	margin: -0.7em 0 .7em;
-	color: #464440;
-	font-size: 13px;
-	font-style: italic;
-	color: #736f5e;
-	}
-
-.book img {
-	float: left;
-	margin-right: 1.2em;
-	}
-
-.dzone img,
-.tutorial img {
-	float: left;
-	margin: 0 1em 2em 0;
-	}
-
-.tools img {
-	margin: 0em 2em .8em 2em;
-	float: right;
-	}
-	
-span.fv {
-	padding: 2px 10px;
-	margin-right: 5px;
-	color: rgb(71,174,67);
-	font-weight: bold;
-}
-td.fv {
-	background-color: rgb(206,247,205);
-	text-align: center;
-	border-radius: 3px;
-	font-size: 12px;
-	line-height: 1;
-	font-weight: bold;
-}
-td.bfp {
-	text-align: center;
-	color: rgb(37,114,146);
-	border-radius: 3px;
-
-	padding: 2px 10px;
-	margin-right: 5px;
-	background-color: rgb(216,245,255);
-	font-size: 12px;
-	line-height: 1;
-	font-weight: bold;
-}
-.ticket {
-	text-align: right;
-	padding-left: 5px;
-}
-.pad {
-	padding-left: 5px;
-}
\ No newline at end of file
