You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by do...@apache.org on 2013/09/12 05:39:11 UTC

svn commit: r1522229 - in /james/hupa/trunk/client/src/main: java/org/apache/hupa/ java/org/apache/hupa/client/ java/org/apache/hupa/client/activity/ java/org/apache/hupa/client/bundles/ java/org/apache/hupa/client/evo/ java/org/apache/hupa/client/ui/ ...

Author: dongxu
Date: Thu Sep 12 03:39:10 2013
New Revision: 1522229

URL: http://svn.apache.org/r1522229
Log:
refactoring theme 1 - login page

Added:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaResources.java
      - copied, changed from r1522228, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/hupa-logo-49-transparent.png
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/hupa-logo-64-transparent.png
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/login_shadow.png
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/styles.css
Modified:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/Hupa.gwt.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaCSS.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.ui.xml
    james/hupa/trunk/client/src/main/webapp/Hupa.css
    james/hupa/trunk/client/src/main/webapp/Hupa.html
    james/hupa/trunk/client/src/main/webapp/styles.css

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/Hupa.gwt.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/Hupa.gwt.xml?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/Hupa.gwt.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/Hupa.gwt.xml Thu Sep 12 03:39:10 2013
@@ -75,6 +75,7 @@
   
   <inherits name="com.google.gwt.cell.Cell"/>
   <inherits name="com.google.gwt.editor.Editor"/>
+  <inherits name="com.google.gwt.resources.Resources" />
   
 <<<<<<< HEAD
 =======
@@ -92,11 +93,13 @@
 <!--   <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
 <!--   <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
 <!--   <inherits name='com.google.gwt.user.theme.dark.Dark'/>     -->
-  <inherits name='com.google.gwt.user.theme.clean.Clean'/>    
+ <!--  <inherits name='com.google.gwt.user.theme.clean.Clean'/>    --> 
+  
+  <!-- reduce browser inconsistencies -->
+  <stylesheet src="../reset.css"/>
   
   <!-- CSS loaded asynchronously -->
-  <stylesheet src="../Hupa.css"/>
-  <stylesheet src="Upload.css"/>
+  <stylesheet src="../styles.css"/>
   
   <!--  xsiframe would be the default in gwt soon -->
   <add-linker name="xsiframe"/>

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaCSS.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaCSS.java?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaCSS.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaCSS.java Thu Sep 12 03:39:10 2013
@@ -26,6 +26,8 @@ import org.apache.hupa.widgets.WidgetsCS
  * CSS class names used in Hupa
  */
 public class HupaCSS extends WidgetsCSS {
+	
+	public static final String C_app_body="body";
     
     public static final String C_app_container ="Hupa";
 

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java Thu Sep 12 03:39:10 2013
@@ -292,12 +292,15 @@ public class LoginActivity extends Abstr
 
 =======
 		}));
+<<<<<<< HEAD
 		registerHandler(display.getResetClick().addClickHandler(new ClickHandler() {
 >>>>>>> scrub code
 			public void onClick(ClickEvent event) {
 				doReset();
 			}
 		}));
+=======
+>>>>>>> refactoring theme 1 - login page
 		eventBus.addHandler(SessionExpireEvent.TYPE, new SessionExpireEventHandler() {
 <<<<<<< HEAD
 
@@ -534,7 +537,6 @@ public class LoginActivity extends Abstr
 	public interface Displayable extends WidgetDisplayable {
 >>>>>>> Change to new mvp framework - first step
 		public HasClickHandlers getLoginClick();
-		public HasClickHandlers getResetClick();
 		public HasValue<String> getUserNameValue();
 		public HasValue<String> getPasswordValue();
 		public Focusable getUserNameFocus();

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java Thu Sep 12 03:39:10 2013
@@ -32,4 +32,6 @@ public interface HupaImageBundle extends
     
     @Source("email.png")
     ImageResource moveMailIcon();
+    
+    
 }

Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaResources.java (from r1522228, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java)
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaResources.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaResources.java&p1=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java&r1=1522228&r2=1522229&rev=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaResources.java Thu Sep 12 03:39:10 2013
@@ -1,35 +1,54 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.hupa.client.bundles;
-
-import com.google.gwt.resources.client.ClientBundle;
-import com.google.gwt.resources.client.ImageResource;
-
-public interface HupaImageBundle extends ClientBundle{
-
-    @Source("attach.png")
-    ImageResource attachmentIcon();
-    
-    @Source("email_link.png")
-    ImageResource readyToMoveMailIcon();
-    
-    @Source("email.png")
-    ImageResource moveMailIcon();
-}
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.bundles;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.resources.client.ClientBundle;
+import com.google.gwt.resources.client.CssResource;
+import com.google.gwt.resources.client.CssResource.NotStrict;
+import com.google.gwt.resources.client.ImageResource;
+
+public interface HupaResources extends ClientBundle {
+
+	public static final HupaResources INSTANCE = GWT
+			.create(HupaResources.class);
+
+	@NotStrict
+	@Source("styles.css")
+	public Css stylesheet();
+	
+    @Source("hupa-logo-49-transparent.png")
+    ImageResource logo49PNG();
+    @Source("hupa-logo-64-transparent.png")
+    ImageResource logo64PNG();
+
+	public interface Css extends CssResource {
+		String loginForm();
+		String boxInner();
+		String tdTitle();
+		String tdInput();
+		String pFormbuttons();
+		String submitButton();
+		String boxBottom();
+		String messageBox();
+		String bottomLine();
+	}
+
+}

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/hupa-logo-49-transparent.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/hupa-logo-49-transparent.png?rev=1522229&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/hupa-logo-49-transparent.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/hupa-logo-49-transparent.png Thu Sep 12 03:39:10 2013 differ

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/hupa-logo-64-transparent.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/hupa-logo-64-transparent.png?rev=1522229&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/hupa-logo-64-transparent.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/hupa-logo-64-transparent.png Thu Sep 12 03:39:10 2013 differ

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/login_shadow.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/login_shadow.png?rev=1522229&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/login_shadow.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/login_shadow.png Thu Sep 12 03:39:10 2013 differ

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/styles.css
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/styles.css?rev=1522229&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/styles.css (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/styles.css Thu Sep 12 03:39:10 2013
@@ -0,0 +1,134 @@
+/*** Login form ***/
+.loginForm {
+	position: relative;
+	width: 580px;
+	margin: 20ex auto 2ex auto;
+}
+
+.loginForm .boxInner {
+	width: 430px;
+	background: url(images/linen_login.jpg) top left no-repeat #5c5c5c;
+	margin: 0 50px;
+	padding: 10px 24px 24px 24px;
+	border: 1px solid #333;
+	border-radius: 5px;
+	box-shadow: inset 0 0 1px #ccc;
+	-o-box-shadow: inset 0 0 1px #ccc;
+	-webkit-box-shadow: inset 0 0 1px #ccc;
+	-moz-box-shadow: inset 0 0 1px #ccc;
+}
+
+.loginForm .boxBottom {
+	background: url(images/login_shadow.png) top center no-repeat;
+	margin-top: -3px;
+	padding-top: 10px;
+}
+
+.loginForm .tdInput {
+	width: 80%;
+	padding: 8px;
+}
+
+.loginForm input[type="text"],.loginForm input[type="password"] {
+	background-color: white;
+	width: 100%;
+	border-color: #666;
+}
+
+.loginForm input.button {
+	color: #444;
+	text-shadow: 0px 1px 1px #fff;
+	border-color: #f9f9f9;
+	background: #f9f9f9;
+	background: -moz-linear-gradient(top, #f9f9f9 0%, #e2e2e2 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f9f9f9),
+		color-stop(100%, #e2e2e2) );
+	background: -o-linear-gradient(top, #f9f9f9 0%, #e2e2e2 100%);
+	background: -ms-linear-gradient(top, #f9f9f9 0%, #e2e2e2 100%);
+	background: linear-gradient(top, #f9f9f9 0%, #e2e2e2 100%);
+	box-shadow: inset 0 1px 0 0 #fff;
+	-moz-box-shadow: inset 0 1px 0 0 #fff;
+	-webkit-box-shadow: inset 0 1px 0 0 #fff;
+	-o-box-shadow: inset 0 1px 0 0 #fff;
+}
+
+.loginForm input.button:hover,.loginForm input.button:focus {
+	box-shadow: 0 0 5px 2px rgba(71, 135, 177, 0.9), inset 0 1px 0 0 #fff;
+	-moz-box-shadow: 0 0 5px 2px rgba(71, 135, 177, 0.9), inset 0 1px 0 0
+		#fff;
+	-webkit-box-shadow: 0 0 5px 2px rgba(71, 135, 177, 0.9), inset 0 1px 0 0
+		#fff;
+	-o-box-shadow: 0 0 5px 2px rgba(71, 135, 177, 0.9), inset 0 1px 0 0 #fff;
+}
+
+.loginForm input.button:active {
+	color: #333;
+	background: -moz-linear-gradient(top, #dcdcdc 0%, #f9f9f9 100%);
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dcdcdc),
+		color-stop(100%, #f9f9f9) );
+	background: -o-linear-gradient(top, #dcdcdc 0%, #f9f9f9 100%);
+	background: -ms-linear-gradient(top, #dcdcdc 0%, #f9f9f9 100%);
+	background: linear-gradient(top, #dcdcdc 0%, #f9f9f9 100%);
+}
+
+.loginForm form table {
+	width: 98%;
+}
+
+.loginForm .tdTitle {
+	white-space: nowrap;
+	color: #cecece;
+	text-shadow: 0px 1px 1px black;
+	text-align: right;
+	padding-right: 1em;
+}
+
+.loginForm .pFormbuttons {
+	margin-top: 2em;
+	text-align: center;
+	border-radius: 5px;
+}
+
+.loginForm .submitButton {
+	background-color: white;
+	font-size: 110%;
+	padding: 4px 12px;
+	color: #000;
+	text-decoration: hand;
+	border: 1px solid #DDD;
+	text-align: center;
+	-moz-border-radius: 5px;
+	-webkit-border-radius: 5px;
+	-o-border-radius: 5px;
+	border-radius: 5px;
+}
+
+.loginForm .submitButton:hover {
+	box-shadow: 0 0 5px 2px rgba(71, 135, 177, 0.9), inset 0 1px 0 0 #fff;
+	-moz-box-shadow: 0 0 5px 2px rgba(71, 135, 177, 0.9), inset 0 1px 0 0
+		#fff;
+	-webkit-box-shadow: 0 0 5px 2px rgba(71, 135, 177, 0.9), inset 0 1px 0 0
+		#fff;
+	-o-box-shadow: 0 0 5px 2px rgba(71, 135, 177, 0.9), inset 0 1px 0 0 #fff;
+}
+
+.loginForm #logo {
+	margin-bottom: 20px;
+}
+
+.loginForm .messagebox {
+	min-height: 40px;
+	padding: 5px 25px;
+	text-align: center;
+}
+
+.loginForm .messageBox div {
+	display: inline-block;
+	padding-right: 0;
+}
+
+.bottomLine {
+	font-size: 90%;
+	text-align: center;
+	margin-top: 2em;
+}
\ No newline at end of file

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java Thu Sep 12 03:39:10 2013
@@ -21,8 +21,8 @@ package org.apache.hupa.client.evo;
 
 import org.apache.hupa.client.place.DefaultPlace;
 import org.apache.hupa.client.place.MailFolderPlace;
-import org.apache.hupa.client.rf.HupaRequestFactory;
 import org.apache.hupa.client.rf.CheckSessionRequest;
+import org.apache.hupa.client.rf.HupaRequestFactory;
 import org.apache.hupa.client.ui.AppLayout;
 
 import com.google.gwt.event.shared.EventBus;

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java Thu Sep 12 03:39:10 2013
@@ -19,11 +19,13 @@
 
 package org.apache.hupa.client.evo;
 
+import org.apache.hupa.client.bundles.HupaResources;
 import org.apache.hupa.client.ioc.AppGinjector;
 
 import com.google.gwt.core.client.EntryPoint;
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.core.client.GWT.UncaughtExceptionHandler;
+import com.google.gwt.dom.client.StyleInjector;
 import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.ui.RootPanel;
 
@@ -31,8 +33,9 @@ public class HupaEvo implements EntryPoi
 	@Override
 	public void onModuleLoad() {
 		handleExceptionsAsync();
-		removeLoading();
+		replaceLoading();
 	    AppController appController = injector.getAppController();
+	    StyleInjector.inject(HupaResources.INSTANCE.stylesheet().getText());
 	    appController.start();
 	}
 	
@@ -44,7 +47,7 @@ public class HupaEvo implements EntryPoi
         });
 	}
 
-	private void removeLoading() {
+	private void replaceLoading() {
 		DOM.removeChild(RootPanel.getBodyElement(), DOM.getElementById("loading"));
 	}
 

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java Thu Sep 12 03:39:10 2013
@@ -318,6 +318,7 @@ public class AppLayoutImpl implements Ap
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 		arrangeLayoutSize(8, 2, 15, 0);
 	}
 
@@ -424,14 +425,13 @@ public class AppLayoutImpl implements Ap
 =======
 		this.arrangeLayout(true);
 >>>>>>> use DataGrid instead of CellTable to list messages.
+=======
+		arrangeLayoutSize(8, 2, 15, 0);
+>>>>>>> refactoring theme 1 - login page
 	}
 
 	public void setLoginLayout() {
-		this.arrangeLayout(false);
-	}
-	
-	private void arrangeLayout(boolean needWest){
-		this.arrangeLayoutSize(8, 2, needWest ? 15 : 0, 0);
+		arrangeLayoutSize(0, 2, 0, 0);
 	}
 	
 	private void arrangeLayoutSize(double n, double s, double w, double e){

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml Thu Sep 12 03:39:10 2013
@@ -40,6 +40,7 @@
 
 <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
 	xmlns:g='urn:import:com.google.gwt.user.client.ui'>
+<<<<<<< HEAD
 	<ui:style>
 	</ui:style>
 	<g:DockLayoutPanel unit='EM'>
@@ -280,8 +281,13 @@
 >>>>>>> decorate the theme
 =======
 	<g:DockLayoutPanel unit='EM' addStyleNames="{style.Hupa}">
+=======
+	<ui:style>
+	</ui:style>
+	<g:DockLayoutPanel unit='EM'>
+>>>>>>> refactoring theme 1 - login page
 		<g:north size='8'>
-			<g:LayoutPanel ui:field="northPanel" addStyleNames="{style.northPanel}">
+			<g:LayoutPanel ui:field="northPanel">
 			<g:layer left="0px" width="84px" top="0px" height="64">
 				<g:SimplePanel ui:field="logoContainer"/></g:layer>
 			<g:layer right="12px" width="37%" >
@@ -289,17 +295,17 @@
 			</g:LayoutPanel>
 		</g:north>
 		<g:south size='2'>
-			<g:HTMLPanel  ui:field="southPanel" addStyleNames="{style.southPanel}"><g:HTML>You're using <b>Hupa</b> Webmail which is part of the <a target='_blank' href='http://james.apache.org'>Apache-James</a> project.</g:HTML>
+			<g:HTMLPanel  ui:field="southPanel">
 			</g:HTMLPanel>
 		</g:south>
 		<g:west size='12'>
-			<g:SimplePanel ui:field="westPanel" addStyleNames="{style.westPanel}"/>
+			<g:SimplePanel ui:field="westPanel"/>
 		</g:west>
 		<g:east size='0'>
 			<g:SimplePanel ui:field="eastPanel" />
 		</g:east>
 		<g:center>
-			<g:LayoutPanel ui:field="centerPanel" addStyleNames="{style.centerPanel}"/>
+			<g:LayoutPanel ui:field="centerPanel"/>
 		</g:center>
 	</g:DockLayoutPanel>
 >>>>>>> use DockLayoutPanel as the App Layout

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.java?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.java Thu Sep 12 03:39:10 2013
@@ -25,6 +25,7 @@
 <<<<<<< HEAD
 package org.apache.hupa.client.ui;
 
+<<<<<<< HEAD
 import org.apache.hupa.client.activity.LoginActivity;
 
 import com.google.gwt.core.client.GWT;
@@ -41,9 +42,12 @@ package org.apache.hupa.client.ui;
 =======
 >>>>>>> Change to new mvp framework - first step
 import org.apache.hupa.client.HupaCSS;
+=======
+>>>>>>> refactoring theme 1 - login page
 import org.apache.hupa.client.HupaConstants;
 import org.apache.hupa.client.activity.LoginActivity;
-import org.apache.hupa.widgets.ui.Loading;
+import org.apache.hupa.client.bundles.HupaResources;
+import org.apache.hupa.client.bundles.HupaResources.Css;
 
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -56,7 +60,11 @@ package org.apache.hupa.client.ui;
 >>>>>>> Change to new mvp framework - first step
 =======
 import com.google.gwt.core.client.GWT;
+<<<<<<< HEAD
 >>>>>>> replace with uibinder
+=======
+import com.google.gwt.dom.client.Document;
+>>>>>>> refactoring theme 1 - login page
 import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.event.dom.client.KeyCodes;
 import com.google.gwt.event.dom.client.KeyUpEvent;
@@ -193,16 +201,17 @@ import com.google.gwt.user.client.ui.For
 import com.google.gwt.user.client.ui.FormPanel.SubmitEvent;
 >>>>>>> Change to new mvp framework - first step
 import com.google.gwt.user.client.ui.HasValue;
-import com.google.gwt.user.client.ui.Panel;
+import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.PasswordTextBox;
+import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.SubmitButton;
 import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
 <<<<<<< HEAD
 <<<<<<< HEAD
 import com.google.inject.Inject;
 
+<<<<<<< HEAD
 public class LoginView extends Composite implements KeyUpHandler, LoginActivity.Displayable {
 =======
 import com.google.gwt.user.client.ui.FormPanel.SubmitEvent;
@@ -240,35 +249,30 @@ public class LoginView extends Composite
 	private PasswordTextBox passwordTextBox = PasswordTextBox.wrap(DOM.getElementById("password"));
 	// wrap the form after inputs so as they are in the dom when are wrapped
 	@UiField FormPanel formPanel;
+=======
+public class LoginView extends Composite implements KeyUpHandler,
+		LoginActivity.Displayable {
+>>>>>>> refactoring theme 1 - login page
 
 	@Inject
 	public LoginView(HupaConstants constants) {
 		initWidget(binder.createAndBindUi(this));
+		mainContainer.addStyleName(css.loginForm());
+		innerBox.addStyleName(css.boxInner());
 		formPanel = FormPanel.wrap(DOM.getElementById("loginForm"), true);
 		submitButton = new SubmitButton(constants.loginButton());
-		resetButton = new Button(constants.resetButton());
-		submitButton.getElement().setClassName(HupaCSS.C_button);
-		resetButton.getElement().setClassName(HupaCSS.C_button);
-		submitButton.getElement().setClassName(resetButton.getElement().getClassName());
-		loading = new Loading(constants.loading());
-
-		mainContainer.setStyleName(HupaCSS.C_login_container);
-//		flexTable.addStyleName(HupaCSS.C_login_form);
-		usernameTextBox.addStyleName(HupaCSS.C_login_box);
-		passwordTextBox.addStyleName(HupaCSS.C_login_box);
-
+		submitButton.setStyleName(css.submitButton());
+		boxBottom.addStyleName(css.boxBottom());
+		messageBox.addStyleName(css.messageBox());
+		bottomLine.addStyleName(css.bottomLine());
 		buttonBar.add(submitButton);
-		buttonBar.add(resetButton);
-
-		flexTable.setText(0, 0, constants.usernameLabel());
-		flexTable.setWidget(0, 1, usernameTextBox);
-		flexTable.setText(1, 0, constants.passwordLabel());
-		flexTable.setWidget(1, 1, passwordTextBox);
+		buttonBar.addStyleName(css.pFormbuttons());
+		createLoginPrompt(constants);
 		flexTable.getFlexCellFormatter().setColSpan(2, 0, 2);
 		flexTable.setWidget(2, 0, buttonBar);
 
-//		rPanel.add(formPanel);
 		formPanel.add(flexTable);
+<<<<<<< HEAD
 		mainContainer.add(formPanel);
 		mainContainer.add(loading);
 <<<<<<< HEAD
@@ -279,6 +283,9 @@ public class LoginView extends Composite
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
 =======
 >>>>>>> make login form available
+=======
+		innerBox.add(formPanel);
+>>>>>>> refactoring theme 1 - login page
 
 		usernameTextBox.addKeyUpHandler(this);
 		usernameTextBox.setFocus(true);
@@ -286,6 +293,7 @@ public class LoginView extends Composite
 
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 		/*
 		 * The user submits the form so as the browser detect it and displays
 		 * the save password dialog. Then we click on the hidden loginButton
@@ -300,17 +308,24 @@ public class LoginView extends Composite
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
 		loading.hide();
 
+=======
+>>>>>>> refactoring theme 1 - login page
 		// The user submits the form so as the browser detect it and displays
 		// the save password dialog. Then we click on the hidden loginButton
 		// which
 		// stores the presenter clickHandler.
 		formPanel.addSubmitHandler(new FormPanel.SubmitHandler() {
 			public void onSubmit(SubmitEvent event) {
+<<<<<<< HEAD
 				if (!usernameTextBox.getValue().trim().isEmpty() && !passwordTextBox.getValue().trim().isEmpty()) {
 <<<<<<< HEAD
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
 =======
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
+=======
+				if (!usernameTextBox.getValue().trim().isEmpty()
+						&& !passwordTextBox.getValue().trim().isEmpty()) {
+>>>>>>> refactoring theme 1 - login page
 					loginButton.click();
 				}
 				// event.cancel();
@@ -351,7 +366,7 @@ public class LoginView extends Composite
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
 =======
 		// loginButton must be in the document to handle the click() method
-		mainContainer.add(loginButton);
+		innerBox.add(loginButton);
 		loginButton.setVisible(false);
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
 =======
@@ -361,6 +376,27 @@ public class LoginView extends Composite
 >>>>>>> replace with uibinder
 	}
 
+	private void createLoginPrompt(HupaConstants constants) {
+		Label userNameLabel = new Label(constants.usernameLabel());
+		Label passWordLabel = new Label(constants.passwordLabel());
+		userNameLabel.addStyleName(css.tdTitle());
+		passWordLabel.addStyleName(css.tdTitle());
+		flexTable.setWidget(0, 0, userNameLabel);
+		flexTable.setWidget(0, 1, usernameTextBox);
+		flexTable.setWidget(1, 0, passWordLabel);
+		flexTable.setWidget(1, 1, passwordTextBox);
+		flexTable.getCellFormatter().addStyleName(0, 0, css.tdTitle());
+		flexTable.getCellFormatter().addStyleName(1, 0, css.tdTitle());
+		flexTable.getCellFormatter().addStyleName(0, 1, css.tdInput());
+		flexTable.getCellFormatter().addStyleName(1, 1, css.tdInput());
+	}
+
+	public class PPanel extends SimplePanel {
+		public PPanel() {
+			super(Document.get().createPElement());
+		}
+	}
+
 	@Override
 	public void onKeyUp(KeyUpEvent event) {
 		if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
@@ -382,6 +418,7 @@ public class LoginView extends Composite
 	@Override
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 =======
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
@@ -394,6 +431,8 @@ public class LoginView extends Composite
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
 =======
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
+=======
+>>>>>>> refactoring theme 1 - login page
 	public HasValue<String> getUserNameValue() {
 		return usernameTextBox;
 	}
@@ -426,11 +465,6 @@ public class LoginView extends Composite
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
 	@Override
 	public void setLoading(boolean load) {
-		if (load) {
-			loading.show();
-		} else {
-			loading.hide();
-		}
 
 <<<<<<< HEAD
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
@@ -446,6 +480,7 @@ public class LoginView extends Composite
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 	interface LoginViewUiBinder extends UiBinder<FlowPanel, LoginView> {
 	}
 
@@ -458,9 +493,41 @@ public class LoginView extends Composite
 >>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
 =======
 	interface LoginViewUiBinder extends UiBinder<VerticalPanel, LoginView> {
+=======
+	interface LoginViewUiBinder extends UiBinder<FlowPanel, LoginView> {
+>>>>>>> refactoring theme 1 - login page
 	}
 
-	private static LoginViewUiBinder binder = GWT.create(LoginViewUiBinder.class);
+	private static LoginViewUiBinder binder = GWT
+			.create(LoginViewUiBinder.class);
+
+	Css css = HupaResources.INSTANCE.stylesheet();
+	@UiField
+	FlowPanel mainContainer;
+	@UiField
+	FlowPanel innerBox;
+	@UiField
+	Button loginButton;
+	private SubmitButton submitButton;
+	@UiField
+	FlexTable flexTable;
+	@UiField
+	FlowPanel boxBottom;
+	@UiField
+	FlowPanel messageBox;
+	@UiField
+	FlowPanel bottomLine;
+	PPanel buttonBar = new PPanel();
+	// We wrap login/password boxes with a form which must be in the html
+	// document,
+	// in this way, the browser knows that we are sending a login form and
+	// offers the save password dialog to the user
+	private TextBox usernameTextBox = TextBox.wrap(DOM.getElementById("email"));
+	private PasswordTextBox passwordTextBox = PasswordTextBox.wrap(DOM
+			.getElementById("password"));
+	// wrap the form after inputs so as they are in the dom when are wrapped
+	@UiField
+	FormPanel formPanel;
 
 >>>>>>> replace with uibinder
 }

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.ui.xml?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.ui.xml Thu Sep 12 03:39:10 2013
@@ -104,10 +104,26 @@
 
 <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
 	xmlns:g='urn:import:com.google.gwt.user.client.ui'>
+<<<<<<< HEAD
 	<g:VerticalPanel ui:field="mainContainer">
 		<g:FormPanel ui:field="formPanel">
 			<g:FlexTable ui:field="flexTable"></g:FlexTable>
 		</g:FormPanel>
 	</g:VerticalPanel>
 >>>>>>> replace with uibinder
+=======
+	<ui:with field='res' type='org.apache.hupa.client.bundles.HupaResources'/>
+	
+	<g:FlowPanel ui:field="mainContainer">
+		<g:FlowPanel ui:field="innerBox">
+		    <g:Image resource='{res.logo64PNG}'></g:Image>
+			<g:FormPanel ui:field="formPanel">
+				<g:FlexTable ui:field="flexTable"></g:FlexTable>
+			</g:FormPanel>
+			<g:Button ui:field="loginButton"></g:Button>
+		</g:FlowPanel>
+		<g:FlowPanel ui:field="boxBottom"><g:FlowPanel ui:field="messageBox"></g:FlowPanel></g:FlowPanel> 
+		<g:FlowPanel ui:field="bottomLine"><g:HTML>You're using <b>Hupa</b> Webmail which is part of the <a target='_blank' href='http://james.apache.org'>Apache-James</a> project.</g:HTML></g:FlowPanel>
+	</g:FlowPanel>
+>>>>>>> refactoring theme 1 - login page
 </ui:UiBinder>
\ No newline at end of file

Modified: james/hupa/trunk/client/src/main/webapp/Hupa.css
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/webapp/Hupa.css?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/webapp/Hupa.css (original)
+++ james/hupa/trunk/client/src/main/webapp/Hupa.css Thu Sep 12 03:39:10 2013
@@ -50,6 +50,19 @@ body, table td, select, * {
     font-family:  arial, 'comic sans ms', sans-serif, helvetica, verdana;
     font-size: 12px;
 }
+body {
+    font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
+    font-size: 11px;
+    color: #333;
+    background: url(images/linen.jpg) repeat #d1d5d8;
+    margin: 0;
+}
+
+body.noscroll {
+    /* also avoids bounce effect in Chrome and Safari */
+    overflow: hidden;
+}
+
 
 /************[ widget: MyDialogBox ]****************/
 .hupa-dialog-box td.dialogMiddleCenter  {
@@ -930,6 +943,7 @@ div.hupa-main {
 /**** HTML5 shadows and gradients ****/
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 
 >>>>>>> first commit
@@ -938,6 +952,9 @@ div.hupa-main {
 body {
     background: #eaeaea;
 }
+=======
+
+>>>>>>> refactoring theme 1 - login page
 .hupa-rounded {
     box-shadow: 0 1px 4px grey;
 }

Modified: james/hupa/trunk/client/src/main/webapp/Hupa.html
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/webapp/Hupa.html?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/webapp/Hupa.html (original)
+++ james/hupa/trunk/client/src/main/webapp/Hupa.html Thu Sep 12 03:39:10 2013
@@ -39,12 +39,15 @@
     <title>Hupa webmail</title>
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
     
 >>>>>>> first commit
 =======
     
 >>>>>>> first commit
+=======
+>>>>>>> refactoring theme 1 - login page
     <!-- define loading style early -->
     <style type="text/css">
 		div.loading {
@@ -100,18 +103,22 @@
   <body>
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
   
 >>>>>>> first commit
 =======
   
 >>>>>>> first commit
+=======
+>>>>>>> refactoring theme 1 - login page
     <!-- An image is shown while the application is loaded -->
     <!-- It will be removed as soon as the app is ready    -->
     <div id="loading" class="loading">
      <img src="images/hupa-spinning.gif">
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
     </div>  
     
     <!-- We need this because passwords in forms rendered by js are not saved in browsers -->
@@ -133,12 +140,15 @@
 =======
 >>>>>>> first commit
     </div>
+=======
+    </div>  
+>>>>>>> refactoring theme 1 - login page
     
     <!-- We need this because passwords in forms rendered by js are not saved in browsers -->
     <div id="login">
 	  <form id="loginForm" action="hupa/clear.cache.gif" method="post">
-	    <input id="email" name="email" type="text">
-	    <input id="password" name="password" type="password">
+	    <input autocomplete="on" autocapitalize="off" id="email" name="email" type="text">
+	    <input autocomplete="on" autocapitalize="off" id="password" name="password" type="password">
 	  </form>
     </div>
     
@@ -149,6 +159,7 @@
     <iframe src="" id="__download" style="width:0;height:0;border:0"></iframe> 
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
     
     
 =======
@@ -159,7 +170,13 @@
   </body>
 
 >>>>>>> first commit
+=======
+    
+    
+>>>>>>> refactoring theme 1 - login page
   <!--  load the application at the end when loading is being shown -->
   <script type="text/javascript" language="javascript" src="hupa/hupa.nocache.js"></script>
+  </body>
+
     
 </html>

Modified: james/hupa/trunk/client/src/main/webapp/styles.css
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/webapp/styles.css?rev=1522229&r1=1522228&r2=1522229&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/webapp/styles.css (original)
+++ james/hupa/trunk/client/src/main/webapp/styles.css Thu Sep 12 03:39:10 2013
@@ -2,7 +2,11 @@
  * Roundcube webmail styles for skin "Larry"
  *
  * Copyright (c) 2012, The Roundcube Dev Team
+<<<<<<< HEAD
  * Screendesign by FLINT / B�ro f�r Gestaltung, bueroflint.com
+=======
+ * Screendesign by FLINT / BŸro fŸr Gestaltung, bueroflint.com
+>>>>>>> refactoring theme 1 - login page
  *
  * The contents are subject to the Creative Commons Attribution-ShareAlike
  * License. It is allowed to copy, distribute, transmit and to adapt the work
@@ -11,6 +15,7 @@
  *
  * $Id$
  */
+<<<<<<< HEAD
 body {
 	font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
 	font-size: 11px;
@@ -2481,4 +2486,2039 @@ fieldset.tab {
 .webkit #pluginlist td.license,
 .webkit #pluginlist td.source {
     width: 9em;
+=======
+
+body {
+    font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
+    font-size: 11px;
+    color: #333;
+    background: url(images/linen.jpg) repeat #d1d5d8;
+    margin: 0;
+}
+
+body.noscroll {
+    /* also avoids bounce effect in Chrome and Safari */
+    overflow: hidden;
+}
+
+a {
+    color: #0069a6;
+}
+
+a:visited {
+    color: #0186ba;
+}
+
+img {
+  border: 0;
+}
+
+input[type="text"],
+input[type="password"],
+textarea {
+    margin: 0; /* Safari by default adds a margin */
+    padding: 4px;
+    border: 1px solid #b2b2b2;
+    border-radius: 4px;
+    box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
+    -moz-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
+    -webkit-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
+    -o-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1);
+}
+
+input[type="text"]:focus,
+input[type="password"]:focus,
+input.button:focus,
+textarea:focus {
+    border-color: #4787b1;
+    box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9);
+    -moz-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9);
+    -webkit-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9);
+    -o-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9);
+    outline: none;
+}
+
+input.placeholder,
+textarea.placeholder {
+    color: #aaa;
+}
+
+.bold {
+    font-weight: bold;
+}
+
+/*** buttons ***/
+
+input.button {
+    display: inline-block;
+    margin: 0 2px;
+    padding: 2px 5px;
+    color: #525252;
+    text-shadow: 0px 1px 1px #fff;
+    border: 1px solid #c0c0c0;
+    border-radius: 4px;
+    background: #f7f7f7;
+    background: -moz-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f9f9), color-stop(100%,#e6e6e6));
+    background: -o-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+    background: -ms-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+    background: linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+    box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+    -o-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+    -webkit-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+    -moz-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+    text-decoration: none;
+    outline: none;
+}
+
+.formbuttons input.button {
+    color: #ddd;
+    font-size: 110%;
+    text-shadow: 0px 1px 1px #333;
+    padding: 4px 12px;
+    border-color: #465864;
+    border-radius: 5px;
+    background: #7a7b7d;
+    background: -moz-linear-gradient(top, #7b7b7b 0%, #606060 100%); /* FF3.6+ */
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7b7b7b), color-stop(100%,#606060)); /* Chrome,Safari4+ */
+    background: -o-linear-gradient(top, #7b7b7b 0%, #606060 100%); /* Opera 11.10+ */
+    background: -ms-linear-gradient(top, #7b7b7b 0%, #606060 100%); /* IE10+ */
+    background: linear-gradient(top, #7b7b7b 0%, #606060 100%); /* W3C */
+    box-shadow: 0 1px 1px 0 #ccc, inset 0 1px 0 0 #888;
+    -o-box-shadow: 0 1px 1px 0 #ccc, inset 0 1px 0 0 #888;
+    -webkit-box-shadow: 0 1px 1px 0 #ccc, inset 0 1px 0 0 #888;
+    -moz-box-shadow: 0 1px 1px 0 #ccc, inset 0 1px 0 0 #888;
+}
+
+.formbuttons input.button:hover,
+.formbuttons input.button:focus,
+input.button.mainaction:hover,
+input.button.mainaction:focus {
+    color: #f2f2f2;
+    border-color: #465864;
+    box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6), inset 0 1px 0 0 #888;
+    -moz-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6), inset 0 1px 0 0 #888;
+    -webkit-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6), inset 0 1px 0 0 #888;
+    -o-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.6), inset 0 1px 0 0 #888;
+}
+
+.formbuttons input.button:active {
+    color: #fff;
+    background: -moz-linear-gradient(top, #5c5c5c 0%, #7b7b7b 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5c5c5c), color-stop(100%,#7b7b7b));
+    background: -o-linear-gradient(top, #5c5c5c 0%, #7b7b7b 100%);
+    background: -ms-linear-gradient(top, #5c5c5c 0%, #7b7b7b 100%);
+    background: linear-gradient(top, #5c5c5c 0%, #7b7b7b 100%);
+}
+
+input.button.mainaction {
+    color: #ededed;
+    text-shadow: 0px 1px 1px #333;
+    border-color: #1f262c;
+    background: #505050;
+    background: -moz-linear-gradient(top, #505050 0%, #2a2e31 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#505050), color-stop(100%,#2a2e31));
+    background: -o-linear-gradient(top, #505050 0%, #2a2e31 100%);
+    background: -ms-linear-gradient(top, #505050 0%, #2a2e31 100%);
+    background: linear-gradient(top, #505050 0%, #2a2e31 100%);
+    box-shadow: inset 0 1px 0 0 #777;
+    -moz-box-shadow: inset 0 1px 0 0 #777;
+    -webkit-box-shadow: inset 0 1px 0 0 #777;
+    -o-box-shadow: inset 0 1px 0 0 #777;
+}
+
+input.button.mainaction:active {
+    color: #fff;
+    background: #515151;
+    background: -moz-linear-gradient(top, #2a2e31 0%, #505050 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2a2e31), color-stop(100%,#505050));
+    background: -o-linear-gradient(top, #2a2e31 0%, #505050 100%);
+    background: -ms-linear-gradient(top, #2a2e31 0%, #505050 100%);
+    background: linear-gradient(top, #2a2e31 0%, #505050 100%);
+}
+
+input.button[disabled],
+input.button[disabled]:hover,
+input.button.mainaction[disabled] {
+    color: #aaa !important;
+}
+
+input.mainaction {
+    font-weight: bold;
+}
+
+/** link buttons **/
+
+a.button {
+    display: inline-block;
+    margin: 0 2px;
+    padding: 2px 5px;
+    color: #525252;
+    text-shadow: 0px 1px 1px #fff;
+    border: 1px solid #c6c6c6;
+    border-radius: 4px;
+    background: #f7f7f7;
+    background: -moz-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f9f9), color-stop(100%,#e6e6e6));
+    background: -o-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+    background: -ms-linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+    background: linear-gradient(top, #f9f9f9 0%, #e6e6e6 100%);
+    box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+    -o-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+    -webkit-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+    -moz-box-shadow: 0 1px 1px 0 rgba(140, 140, 140, 0.3);
+    text-decoration: none;
+}
+
+a.button:focus,
+input.button:focus {
+    border-color: #4fadd5;
+    box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
+    -moz-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
+    -webkit-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
+    -o-box-shadow: 0 0 2px 1px rgba(71,135,177, 0.6);
+    outline: none;
+}
+
+label.disabled,
+a.button.disabled {
+    color: #999;
+}
+
+a.button.disabled,
+input.button.disabled,
+input.button[disabled],
+a.button.disabled:hover,
+input.button.disabled:hover,
+input.button[disabled]:hover {
+    border-color: #c6c6c6;
+    box-shadow: 0 1px 1px 0 rgba(160, 160, 160, 0.4);
+    -o-box-shadow: 0 1px 1px 0 rgba(160, 160, 160, 0.4);
+    -webkit-box-shadow: 0 1px 1px 0 rgba(160, 160, 160, 0.4);
+    -moz-box-shadow: 0 1px 1px 0 rgba(160, 160, 160, 0.4);
+}
+
+a.button.disabled span.inner {
+    opacity: 0.4;
+    filter: alpha(opacity=40);
+}
+
+a.button.pressed,
+a.button:active,
+input.button:active {
+    background: #e6e6e6;
+    background: -moz-linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e6e6e6), color-stop(100%,#f9f9f9));
+    background: -o-linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
+    background: -ms-linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
+    background: linear-gradient(top, #e6e6e6 0%, #f9f9f9 100%);
+}
+
+.pagenav.dark a.button {
+    font-weight: bold;
+    border-color: #e6e6e6;
+    background: #d8d8d8;
+    background: -moz-linear-gradient(top, #d8d8d8 0%, #bababa 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d8d8d8), color-stop(100%,#bababa));
+    background: -o-linear-gradient(top, #d8d8d8 0%, #bababa 100%);
+    background: -ms-linear-gradient(top, #d8d8d8 0%, #bababa 100%);
+    background: linear-gradient(top, #d8d8d8 0%, #bababa 100%);
+    box-shadow: 0 1px 1px 0 #999;
+    -o-box-shadow: 0 1px 1px 0 #999;
+    -webkit-box-shadow: 0 1px 1px 0 #999;
+    -moz-box-shadow: 0 1px 1px 0 #999;
+}
+
+.pagenav.dark a.button.pressed {
+    background: #bababa;
+    background: -moz-linear-gradient(top, #bababa 0%, #d8d8d8 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#bababa), color-stop(100%,#d8d8d8));
+    background: -o-linear-gradient(top, #bababa 0%, #d8d8d8 100%);
+    background: -ms-linear-gradient(top, #bababa 0%, #d8d8d8 100%);
+    background: linear-gradient(top, #bababa 0%, #d8d8d8 100%);
+}
+
+.pagenav a.button {
+    padding: 1px 3px;
+    height: 16px;
+    vertical-align: middle;
+    margin-bottom: 1px;
+}
+
+.pagenav a.button span.inner {
+    display: inline-block;
+    width: 16px;
+    height: 13px;
+    text-indent: 1000px;
+    overflow: hidden;
+    background: url(images/buttons.png) -6px -211px no-repeat;
+}
+
+.pagenav a.prevpage span.inner {
+    background-position: -7px -226px;
+}
+
+.pagenav a.nextpage span.inner {
+    background-position: -28px -226px;
+}
+
+.pagenav a.lastpage span.inner {
+    background-position: -28px -211px;
+}
+
+.pagenav a.pageup span.inner {
+    background-position: -7px -241px;
+}
+
+.pagenav a.pagedown span.inner {
+    background-position: -29px -241px;
+}
+
+.pagenav a.reply span.inner {
+    background-position: -7px -256px;
+}
+
+.pagenav a.forward span.inner {
+    background-position: -29px -256px;
+}
+
+.pagenav a.replyall span.inner {
+    background-position: -7px -271px;
+}
+
+.pagenav a.extwin span.inner {
+    background-position: -29px -271px;
+}
+
+.pagenav .countdisplay {
+    display: inline-block;
+    padding: 3px 1em 0 1em;
+    text-shadow: 0px 1px 1px #fff;
+    min-width: 16em;
+}
+
+.pagenavbuttons {
+    position: relative;
+    top: -2px;
+}
+
+a.iconbutton {
+    display: inline-block;
+    width: 24px;
+    height: 18px;
+    text-decoration: none;
+    text-indent: -5000px;
+    background: url(images/buttons.png) -1000px 0 no-repeat;
+}
+
+a.iconbutton.disabled {
+    opacity: 0.4;
+    filter: alpha(opacity=40);
+    cursor: default;
+}
+
+a.iconbutton.searchoptions {
+    background-position: -2px -317px;
+}
+
+a.iconbutton.reset {
+    background-position: -25px -317px;
+}
+
+a.iconbutton.cancel {
+    background-position: -7px -377px;
+}
+
+a.iconlink {
+    display: inline-block;
+    color: #888;
+    text-decoration: none;
+    white-space: nowrap;
+    padding: 2px 8px 2px 20px;
+    background: url(images/buttons.png) -1000px 0 no-repeat;
+}
+
+a.iconlink:hover {
+    text-decoration: underline;
+}
+
+a.iconlink.delete {
+    background-position: -7px -337px;
+}
+
+a.iconlink.add {
+    background-position: -7px -357px;
+}
+
+a.iconlink.remove {
+    background-position: -7px -378px;
+}
+
+a.iconlink.cancel {
+    background-position: -7px -397px;
+}
+
+a.iconlink.edit {
+    background-position: -7px -417px;
+}
+
+a.iconlink.upload {
+    background-position: -6px -437px;
+}
+
+
+/*** message bar ***/
+
+#message div.loading,
+#message div.warning,
+#message div.error,
+#message div.notice,
+#message div.confirmation,
+#message-objects div.notice {
+    color: #555;
+    font-weight: bold;
+    padding: 6px 30px 6px 25px;
+    display: inline-block;
+    white-space: nowrap;
+    background: url(images/messages.png) 0 5px no-repeat;
+    cursor: default;
+}
+
+#message div.warning {
+    color: #960;
+    background-position: 0 -86px;
+}
+
+#message div.error {
+    color: #cf2734;
+    background-position: 0 -55px;
+}
+
+#message div.confirmation {
+    color: #093;
+    background-position: 0 -25px;
+}
+
+#message div.loading {
+    background: url(images/ajaxloader.gif) 2px 6px no-repeat;
+}
+
+#message div a,
+#message div span {
+    padding-right: 0.5em;
+    text-decoration: none;
+}
+
+#message div a:hover {
+    text-decoration: underline;
+    cursor: pointer;
+}
+
+#message.statusbar {
+    position: absolute;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    height: 27px;
+    padding-left: 8px;
+    border-top: 1px solid #ddd;
+    border-radius: 0 0 4px 4px;
+    background: #eaeaea;
+    background: -moz-linear-gradient(top, #eaeaea 0%, #c8c8c8 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eaeaea), color-stop(100%,#c8c8c8));
+    background: -o-linear-gradient(top, #eaeaea 0%, #c8c8c8 100%);
+    background: -ms-linear-gradient(top, #eaeaea 0%, #c8c8c8 100%);
+    background: linear-gradient(top, #eaeaea 0%, #c8c8c8 100%);
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+.ui-dialog.error .ui-dialog-title,
+.ui-dialog.warning .ui-dialog-title,
+.ui-dialog.confirmation .ui-dialog-title {
+    padding-left: 25px;
+    background: url(images/messages.png) 0 5px no-repeat;
+    text-shadow: 0 1px 1px #fff;
+}
+
+.ui-dialog.warning .ui-dialog-title {
+    color: #960;
+    background-position: 0 -90px;
+}
+
+.ui-dialog.error .ui-dialog-title {
+    color: #cf2734;
+    background-position: 0 -60px;
+}
+
+.ui-dialog.confirmation .ui-dialog-title {
+    color: #093;
+    background-position: 0 -30px;
+}
+
+.ui-dialog.popupmessage .ui-dialog-titlebar {
+    padding: 8px 1em 4px 1em;
+    background: #e3e3e3;
+    background: -moz-linear-gradient(top, #e3e3e3 0%, #cfcfcf 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e3e3e3), color-stop(100%,#cfcfcf));
+    background: -o-linear-gradient(top, #e3e3e3 0%, #cfcfcf 100%);
+    background: -ms-linear-gradient(top, #e3e3e3 0%, #cfcfcf 100%);
+    background: linear-gradient(top, #e3e3e3 0%, #cfcfcf 100%);
+}
+
+.ui-dialog.popupmessage .ui-widget-content {
+    font-size: 12px;
+    background: #eee;
+    background: -moz-linear-gradient(top, #eee 0%, #dcdcdc 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eee), color-stop(100%,#dcdcdc));
+    background: -o-linear-gradient(top, #eee 0%, #dcdcdc 100%);
+    background: -ms-linear-gradient(top, #eee 0%, #dcdcdc 100%);
+    background: linear-gradient(top, #eee 0%, #dcdcdc 100%);
+}
+
+
+/*** basic page layout ***/
+
+#topline {
+    height: 18px;
+    background: url(images/linen_header.jpg) repeat #666;
+    border-bottom: 1px solid #4f4f4f;
+    padding: 2px 0 2px 10px;
+    color: #aaa;
+}
+
+#topnav {
+    height: 46px;
+    margin-bottom: 10px;
+    padding: 0 0 0 10px;
+    background: #111;
+    background: -moz-linear-gradient(top, #404040 0%, #060606 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#404040), color-stop(100%,#060606));
+    background: -o-linear-gradient(top, #404040 0%, #060606 100%);
+    background: -ms-linear-gradient(top, #404040 0%, #060606 100%);
+    background: linear-gradient(top, #404040 0%, #060606 100%);
+}
+
+#topline a,
+#topnav a {
+    color: #eee;
+    text-decoration: none;
+}
+
+#topline a:hover {
+    text-decoration: underline;
+}
+
+#toplogo {
+    padding-top: 2px;
+}
+
+.topleft {
+    float: left;
+}
+
+.topright {
+    float: right;
+}
+
+.closelink {
+    display: inline-block;
+    padding: 2px 10px 2px 20px;
+}
+
+#topline span.username {
+    padding-right: 1em;
+}
+
+#topline .topleft a {
+    display: inline-block;
+    padding: 2px 0.8em 0 0;
+    color: #aaa;
+}
+
+#topline a.button-logout {
+    display: inline-block;
+    padding: 2px 10px 2px 20px;
+    background: url(images/buttons.png) -6px -193px no-repeat;
+    color: #fff;
+}
+
+
+/*** taskbar ***/
+
+#taskbar a {
+    display: inline-block;
+    height: 34px;
+    padding: 12px 10px 0 6px;
+}
+
+#taskbar a span.button-inner {
+    display: inline-block;
+    font-size: 110%;
+    font-weight: normal;
+    text-shadow: 0px 1px 1px black;
+    padding: 5px 0 0 34px;
+    height: 19px;
+    background: url(images/buttons.png) -1000px 0 no-repeat;
+}
+
+#taskbar a.button-selected {
+    color: #3cf;
+    background-color: #2c2c2c;
+}
+
+#taskbar a.button-mail span.button-inner {
+    background-position: 0 2px;
+}
+
+#taskbar a.button-mail:hover span.button-inner,
+#taskbar a.button-mail.button-selected span.button-inner {
+    background-position: 0 -22px;
+}
+
+#taskbar a.button-addressbook span.button-inner {
+    background-position: 0 -48px;
+}
+
+#taskbar a.button-addressbook:hover span.button-inner,
+#taskbar a.button-addressbook.button-selected span.button-inner {
+    background-position: 0 -72px;
+}
+
+#taskbar a.button-settings span.button-inner {
+    background-position: 0 -96px;
+}
+
+#taskbar a.button-settings:hover span.button-inner,
+#taskbar a.button-settings.button-selected span.button-inner {
+    background-position: 0 -120px;
+}
+
+#taskbar a.button-calendar span.button-inner {
+    background-position: 0 -144px;
+}
+
+#taskbar a.button-calendar:hover span.button-inner,
+#taskbar a.button-calendar.button-selected span.button-inner {
+    background-position: 0 -168px;
+}
+
+#mainscreen {
+    position: absolute;
+    top: 88px;
+    left: 10px;
+    right: 10px;
+    bottom: 20px;
+}
+
+#mainscreen.offset {
+    top: 130px;
+}
+
+#mainscreen .offset {
+    margin-top: 42px;
+}
+
+.uibox {
+    border: 1px solid #a3a3a3;
+    border-radius: 4px;
+    overflow: hidden;
+    box-shadow: 0 0 2px #999;
+    -o-box-shadow: 0 0 2px #999;
+    -webkit-box-shadow: 0 0 2px #999;
+    -moz-box-shadow: 0 0 2px #999;
+    background: #fff;
+}
+
+.minwidth {
+    position: absolute;
+    top: 0;
+    left: 0;
+    bottom: 0;
+    width: 100%;
+    min-width: 1150px;
+}
+
+.scroller {
+    overflow: auto;
+}
+
+.readtext {
+    width: 42em;
+    padding: 12px;
+    font-size: 12px;
+}
+
+.readtext > h1,
+.readtext > h2,
+.readtext > h3 {
+    margin-top: 0;
+}
+
+.watermark {
+    background-image: url(images/watermark.jpg);
+    background-position: center;
+    background-repeat: no-repeat;
+}
+
+/*** lists ***/
+
+.listbox {
+    background: #d9ecf4;
+    overflow: hidden;
+}
+
+.listbox .scroller {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    bottom: 0;
+    overflow-x: hidden;
+    overflow-y: auto;
+}
+
+.listbox .scroller.withfooter {
+    bottom: 42px;
+}
+
+.listbox .boxtitle + .scroller {
+    top: 34px;
+}
+
+.boxtitle,
+.uibox .listing thead td {
+    font-size: 12px;
+    font-weight: bold;
+    padding: 10px 8px 3px 8px;
+    height: 20px;  /* doesn't affect table-cells in FF */
+    margin: 0;
+    text-shadow: 0px 1px 1px #fff;
+    border-bottom: 1px solid #bbd3da;
+    white-space: nowrap;
+}
+
+.uibox .listing thead td {
+    padding-bottom: 8px;
+    height: auto;
+}
+
+.uibox .boxtitle,
+.uibox .listing thead td {
+    background: #b0ccd7;
+    color: #004458;
+    border-radius: 4px 4px 0 0;
+}
+
+.listbox .listitem,
+.listbox .tablink,
+.listing tbody td,
+.listing li {
+    display: block;
+    border-top: 1px solid #fff;
+    border-bottom: 1px solid #bbd3da;
+    cursor: default;
+    font-weight: normal;
+}
+
+.listbox .listitem a,
+.listbox .tablink a,
+.listing tbody td,
+.listing li a {
+    display: block;
+    color: #376572;
+    text-shadow: 0px 1px 1px #fff;
+    text-decoration: none;
+    cursor: default;
+    padding: 6px 8px 2px 8px;
+    height: 17px; /* doesn't affect table-cells in FF */
+    white-space: nowrap;
+}
+
+.listing tbody td {
+    display: table-cell;
+    padding-bottom: 5px;
+    height: auto;
+    min-height: 14px;
+}
+
+.webkit .listing tbody td {
+    height: 14px;
+}
+
+.listbox .listitem.selected,
+.listbox .tablink.selected,
+.listbox .listitem.selected > a,
+.listbox .tablink.selected > a,
+.listing tbody tr.unfocused td,
+.listing tbody tr.selected td,
+.listing li.selected,
+.listing li.selected > a {
+    color: #004458;
+    font-weight: bold;
+    background-color: #c7e3ef;
+}
+
+ul.listing {
+    display: block;
+    list-style: none;
+    margin: 0;
+    padding: 0;
+}
+
+ul.listing li {
+    background-color: #d9ecf4;
+}
+
+ul.listing li.droptarget,
+table.listing tr.droptarget td {
+    background-color: #e8e798;
+}
+
+table.listing,
+table.layout {
+    border: 0;
+    width: 100%;
+    border-spacing: 0;
+}
+
+table.layout td {
+    vertical-align: top;
+}
+
+.listbox .boxfooter {
+    position: absolute;
+    bottom: 0;
+    left: 0;
+    width: 100%;
+    height: 42px;
+    border-top: 1px solid #ccdde4;
+    background: #d9ecf4;
+    -webkit-box-shadow: inset 0 1px 0 0 #fff;
+    -moz-box-shadow: inset 0 1px 0 0 #fff;
+    box-shadow: inset 0 1px 0 0 #fff;
+    white-space: nowrap;
+    overflow: hidden;
+}
+
+.uibox .boxfooter {
+    border-radius: 0 0 4px 4px;
+}
+
+.boxfooter .listbutton {
+    display: inline-block;
+    text-decoration: none;
+    width: 48px;
+    border-right: 1px solid #fff;
+    background: #c7e3ef;
+    padding: 3px 0;
+    margin-top: 1px;
+}
+
+.uibox .boxfooter .listbutton:first-child {
+    border-radius: 0 0 0 4px;
+}
+
+.boxfooter .listbutton .inner {
+    display: inline-block;
+    width: 48px;
+    height: 35px;
+    text-indent: -5000px;
+    background: url(images/buttons.png) -1000px 0 no-repeat;
+}
+
+.boxfooter .listbutton.add .inner {
+    background-position: 10px -1301px;
+}
+
+.boxfooter .listbutton.delete .inner {
+    background-position: 10px -1342px;
+}
+
+.boxfooter .listbutton.groupactions .inner {
+    background-position: 5px -1382px;
+}
+
+.boxfooter .listbutton.addto .inner {
+    background-position: 5px -1422px;
+}
+
+.boxfooter .listbutton.addcc .inner {
+    background-position: 5px -1462px;
+}
+
+.boxfooter .listbutton.addbcc {
+    width: 54px;
+}
+
+.boxfooter .listbutton.addbcc .inner {
+    width: 54px;
+    background-position: 2px -1502px;
+}
+
+.boxfooter .listbutton.removegroup .inner {
+    background-position: 5px -1540px;
+}
+
+.boxfooter .listbutton.disabled .inner {
+    opacity: 0.4;
+    filter: alpha(opacity=40);
+}
+
+.boxfooter .countdisplay {
+    display: inline-block;
+    position: relative;
+    top: 10px;
+    color: #69929e;
+    padding: 3px 6px;
+}
+
+.boxpagenav {
+    position: absolute;
+    top: 10px;
+    right: 6px;
+    width: auto;
+}
+
+.boxpagenav a.icon {
+    display: inline-block;
+    padding: 1px 3px;
+    height: 13px;
+    width: 14px;
+    text-indent: 1000px;
+    vertical-align: bottom;
+    overflow: hidden;
+    background: url(images/buttons.png) -4px -286px no-repeat;
+}
+
+.boxpagenav a.icon.prevpage {
+    background-position: -4px -301px;
+}
+
+.boxpagenav a.icon.nextpage {
+    background-position: -28px -301px;
+}
+
+.boxpagenav a.icon.lastpage {
+    background-position: -28px -286px;
+}
+
+.boxpagenav a.icon.disabled {
+    opacity: 0.4;
+    filter: alpha(opacity=40);
+}
+
+.centerbox {
+    width: 40em;
+    margin: 16px auto;
+}
+
+.errorbox {
+    width: 40em;
+    padding: 20px;
+}
+
+.errorbox h3 {
+    font-size: 16px;
+    margin-top: 0;
+}
+
+
+/*** Records table ***/
+
+table.records-table {
+    display: table;
+    width: 100%;
+    table-layout: fixed;
+    border-collapse: collapse;
+    border-spacing: 0;
+    border: 1px solid #bbd3da;
+}
+
+.boxlistcontent .records-table {
+    border: 0;
+}
+
+.records-table thead td {
+    color: #69939e;
+    font-size: 11px;
+    font-weight: bold;
+    background: #d6eaf3;
+    background: -moz-linear-gradient(left, #e3f2f6 0, #d6eaf3 14px, #d6eaf3 100%);
+    background: -webkit-gradient(linear, left top, right top, color-stop(0,#e3f2f6), color-stop(8%,#d6eaf3), color-stop(100%,#d6eaf3));
+    background: -o-linear-gradient(left, #e3f2f6 0, #d6eaf3 14px, #d6eaf3 100%);
+    background: -ms-linear-gradient(left, #e3f2f6 0, #d6eaf3 14px ,#d6eaf3 100%);
+    background: linear-gradient(left, #e3f2f6 0, #d6eaf3 14px, #d6eaf3 100%);
+    border-left: 1px solid #bbd3da;
+    padding: 8px 7px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+.records-table.sortheader thead td {
+    padding: 0;
+}
+
+.records-table thead td a,
+.records-table thead td span {
+    display: block;
+    padding: 7px 7px;
+    color: #69939e;
+    text-decoration: none;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+.records-table tbody td {
+    padding: 2px 7px;
+    border-bottom: 1px solid #ddd;
+    border-left: 1px dotted #bbd3da;
+    white-space: nowrap;
+    cursor: default;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    background-color: #fff;
+}
+
+.records-table thead tr td:first-child,
+.records-table tbody tr td:first-child {
+    border-left: 0;
+}
+
+.records-table tr.selected td {
+    color: #fff !important;
+    background: #019bc6;
+    background: -moz-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#019bc6), color-stop(100%,#017cb4));
+    background: -o-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+    background: -ms-linear-gradient(top, #019bc6 0%, #017cb4 100%);
+    background: linear-gradient(top, #019bc6 0%, #017cb4 100%);
+}
+
+.records-table tr.selected td a,
+.records-table tr.selected td span {
+    color: #fff !important;
+}
+
+.records-table tr.unfocused td {
+    color: #fff !important;
+    background: #4db0d2 !important;
+}
+
+.records-table tr.unfocused td a,
+.records-table tr.unfocused td span {
+    color: #fff !important;
+}
+
+.records-table tr.deleted td,
+.records-table tr.deleted td a {
+    color: #ccc !important;
+}
+
+
+/*** iFrames ***/
+
+#aboutframe {
+    width: 97%;
+    height: 100%;
+    border: 0;
+    padding: 0;
+}
+
+body.iframe {
+    background: #fff;
+    margin: 38px 0 10px 0;
+}
+
+body.iframe.floatingbuttons {
+    margin-bottom: 40px;
+}
+
+body.iframe.fullheight {
+    margin: 0;
+}
+
+.contentbox .boxtitle,
+body.iframe .boxtitle {
+    color: #777;
+    background: #eee;
+    background: -moz-linear-gradient(top, #eee 0%, #dfdfdf 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eee), color-stop(100%,#dfdfdf));
+    background: -o-linear-gradient(top, #eee 0%, #dfdfdf 100%);
+    background: -ms-linear-gradient(top, #eee 0%, #dfdfdf 100%);
+    background: linear-gradient(top, #eee 0%, #dfdfdf 100%);
+    border-bottom: 1px solid #ccc;
+}
+
+body.iframe .boxtitle {
+    position: fixed;
+    top: 0;
+    left: 0;
+    width: 100%;
+    z-index: 100;
+}
+
+body.iframe .footerleft.floating {
+    position: fixed;
+    left: 0;
+    bottom: 0;
+    width: 100%;
+    z-index: 110;
+    background: #fff;
+    padding-top: 8px;
+    padding-bottom: 12px;
+}
+
+body.iframe .footerleft.floating:before {
+    content: " ";
+    position: absolute;
+    top: -6px;
+    left: 0;
+    width: 100%;
+    height: 6px;
+    background: url(images/overflowshadow.png) top center no-repeat;
+}
+
+.boxcontent {
+    padding: 10px;
+}
+
+.contentbox .scroller {
+    position: absolute;
+    top: 34px;
+    left: 0;
+    right: 0;
+    bottom: 28px;
+    overflow: auto;
+}
+
+.iframebox {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 28px;
+}
+
+.footerleft {
+    padding: 0 12px 4px 12px;
+}
+
+.propform fieldset {
+    margin-bottom: 20px;
+    border: 0;
+    padding: 0;
+}
+
+.propform fieldset legend {
+    display: block;
+    font-size: 14px;
+    font-weight: bold;
+    padding-bottom: 10px;
+    margin-bottom: 0;
+}
+
+.propform fieldset fieldset legend {
+    color: #666;
+    font-size: 12px;
+}
+
+fieldset.floating {
+    float: left;
+    margin-right: 10px;
+    margin-bottom: 10px;
+}
+
+table.propform {
+    width: 100%;
+    border-spacing: 0;
+    border-collapse: collapse;
+}
+
+ul.proplist li,
+table.propform td {
+    width: 80%;
+    padding: 4px 10px;
+    background: #eee;
+    border-bottom: 2px solid #fff;
+}
+
+table.propform td.title {
+    width: 20%;
+    color: #333;
+    padding-right: 20px;
+    white-space: nowrap;
+}
+
+table.propform .mceLayout td {
+    padding: 0;
+    border-bottom: 0;
+}
+
+ul.proplist {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+}
+
+ul.proplist li {
+    width: auto;
+}
+
+#pluginbody {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+}
+
+
+/*** Login form ***/
+
+#login-form {
+    position: relative;
+    width: 580px;
+    margin: 20ex auto 2ex auto;
+}
+
+#login-form .box-inner {
+    width: 430px;
+    background: url(images/linen_login.jpg) top left no-repeat #5c5c5c;
+    margin: 0 50px;
+    padding: 10px 24px 24px 24px;
+    border: 1px solid #333;
+    border-radius: 5px;
+    box-shadow: inset 0 0 1px #ccc;
+    -o-box-shadow: inset 0 0 1px #ccc;
+    -webkit-box-shadow: inset 0 0 1px #ccc;
+    -moz-box-shadow: inset 0 0 1px #ccc;
+}
+
+#login-form .box-bottom {
+    background: url(images/login_shadow.png) top center no-repeat;
+    margin-top: -3px;
+    padding-top: 10px;
+}
+
+#login-form td.input {
+    width: 80%;
+    padding: 8px;
+}
+
+#login-form input[type="text"],
+#login-form input[type="password"] {
+    width: 100%;
+    border-color: #666;
+}
+
+#login-form input.button {
+    color: #444;
+    text-shadow: 0px 1px 1px #fff;
+    border-color: #f9f9f9;
+    background: #f9f9f9;
+    background: -moz-linear-gradient(top, #f9f9f9 0%, #e2e2e2 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f9f9), color-stop(100%,#e2e2e2));
+    background: -o-linear-gradient(top, #f9f9f9 0%, #e2e2e2 100%);
+    background: -ms-linear-gradient(top, #f9f9f9 0%, #e2e2e2 100%);
+    background: linear-gradient(top, #f9f9f9 0%, #e2e2e2 100%);
+    box-shadow: inset 0 1px 0 0 #fff;
+    -moz-box-shadow: inset 0 1px 0 0 #fff;
+    -webkit-box-shadow: inset 0 1px 0 0 #fff;
+    -o-box-shadow: inset 0 1px 0 0 #fff;
+}
+
+#login-form input.button:hover,
+#login-form input.button:focus {
+    box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9), inset 0 1px 0 0 #fff;
+    -moz-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9), inset 0 1px 0 0 #fff;
+    -webkit-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9), inset 0 1px 0 0 #fff;
+    -o-box-shadow: 0 0 5px 2px rgba(71,135,177, 0.9), inset 0 1px 0 0 #fff;
+}
+
+#login-form input.button:active {
+    color: #333;
+    background: -moz-linear-gradient(top, #dcdcdc 0%, #f9f9f9 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dcdcdc), color-stop(100%,#f9f9f9));
+    background: -o-linear-gradient(top, #dcdcdc 0%, #f9f9f9 100%);
+    background: -ms-linear-gradient(top, #dcdcdc 0%, #f9f9f9 100%);
+    background: linear-gradient(top, #dcdcdc 0%, #f9f9f9 100%);
+}
+
+#login-form form table {
+    width: 98%;
+}
+
+#login-form td.title {
+    width: 20%;
+    white-space: nowrap;
+    color: #cecece;
+    text-shadow: 0px 1px 1px black;
+    text-align: right;
+    padding-right: 1em;
+}
+
+#login-form p.formbuttons {
+    margin-top: 2em;
+    text-align: center;
+}
+
+#login-form #logo {
+    margin-bottom: 20px;
+}
+
+#login-form #message {
+    min-height: 40px;
+    padding: 5px 25px;
+    text-align: center;
+}
+
+#login-form #message div {
+    display: inline-block;
+    padding-right: 0;
+}
+
+#bottomline {
+    font-size: 90%;
+    text-align: center;
+    margin-top: 2em;
+}
+
+
+
+/*** quicksearch **/
+
+#quicksearchbar {
+    position: absolute;
+    right: 1px;
+    top: 0;
+    width: 240px;
+}
+
+#quicksearchbar input {
+    width: 176px;
+    margin: 0;
+    margin-top: 7px;
+    padding: 3px 30px 3px 34px;
+    height: 18px;
+    background: #f1f1f1;
+    border-color: #ababab;
+    font-weight: bold;
+    font-size: 11px;
+}
+
+#quicksearchbar #searchmenulink {
+    position: absolute;
+    top: 12px;
+    left: 6px;
+}
+
+#quicksearchbar #searchreset {
+    position: absolute;
+    top: 11px;
+    right: 1px;
+}
+
+
+/*** toolbar ***/
+
+.toolbar .spacer {
+    display: inline-block;
+    width: 24px;
+    height: 40px;
+    padding: 0;
+}
+
+.toolbar a.button {
+    text-align: center;
+    font-size: 10px;
+    color: #555;
+    min-width: 50px;
+    max-width: 75px;
+    height: 13px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    padding: 28px 2px 0 2px;
+    text-shadow: 0px 1px 1px #eee;
+    box-shadow: none;
+    -moz-box-shadow: none;
+    -webkit-box-shadow: none;
+    -o-box-shadow: none;
+    background: url(images/buttons.png) -100px 0 no-repeat transparent;
+    border: 0;
+}
+
+.toolbar a.button.disabled {
+    opacity: 0.4;
+    filter: alpha(opacity=40);
+}
+
+.dropbutton {
+    display: inline-block;
+    position: relative;
+}
+
+.dropbutton .dropbuttontip {
+    display: block;
+    position: absolute;
+    right: 0;
+    top: 0;
+    height: 42px;
+    width: 18px;
+    background: url(images/buttons.png) 0 -1255px no-repeat;
+    cursor: pointer;
+}
+
+.dropbutton .dropbuttontip:hover {
+    background-position: -26px -1255px;
+}
+
+.dropbutton a.button.disabled + .dropbuttontip {
+    opacity: 0.5;
+    filter: alpha(opacity=50);
+}
+
+.dropbutton a.button.disabled + .dropbuttontip:hover {
+    background-position: 0 -1255px;
+}
+
+.dropbutton a.button {
+    margin-left: 0;
+    padding-left: 0;
+    margin-right: 0;
+    padding-right: 0;
+}
+
+.toolbar a.button.back {
+    background-position: 0 -1216px;
+}
+
+.toolbar a.button.checkmail {
+    background-position: center -1176px;
+}
+
+.toolbar a.button.compose {
+    background-position: center -530px;
+}
+
+.toolbar a.button.reply {
+    background-position: center -570px;
+}
+
+.toolbar a.button.reply-all {
+    min-width: 64px;
+    background-position: left -610px;
+}
+
+.toolbar a.button.forward {
+    min-width: 64px;
+    background-position: left -650px;
+}
+
+.toolbar a.button.delete {
+    background-position: center -690px;
+}
+
+.toolbar a.button.archive {
+    background-position: center -730px;
+}
+
+.toolbar a.button.junk {
+    background-position: center -770px;
+}
+
+.toolbar a.button.print {
+    background-position: center -810px;
+}
+
+.toolbar a.button.markmessage {
+    background-position: center -1094px;
+}
+
+.toolbar a.button.more {
+    background-position: center -850px;
+}
+
+.toolbar a.button.attach {
+    background-position: center -890px;
+}
+
+.toolbar a.button.spellcheck {
+    min-width: 64px;
+    background-position: left -930px;
+}
+
+.toolbar a.button.spellcheck.selected {
+    background-position: left -1580px;
+    color: #1978a1;
+}
+
+.toolbar a.button.insertsig {
+    background-position: center -1135px;
+}
+
+.toolbar a.button.search {
+    background-position: center -970px;
+}
+
+.toolbar a.button.import {
+    background-position: center -1012px;
+}
+
+.toolbar a.button.export {
+    background-position: center -1054px;
+}
+
+a.menuselector {
+    display: inline-block;
+    border: 1px solid #ababab;
+    border-radius: 4px;
+    background: #f8f8f8;
+    background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd));
+    background: -o-linear-gradient(top, #f8f8f8 0%, #dddddd 100%);
+    background: -ms-linear-gradient(top, #f9f9f9 0%, #dddddd 100%);
+    background: linear-gradient(top, #f8f8f8 0%, #dddddd 100%);
+    text-decoration: none;
+    color: #333;
+    cursor: pointer;
+    white-space: nowrap;
+}
+
+a.menuselector .handle {
+    display: inline-block;
+    padding: 0 32px 0 6px;
+    height: 20px;
+    line-height: 19px;
+    text-shadow: 0px 1px 1px #fff;
+    background: url(images/selector.png) right center no-repeat;
+    border-radius: 4px;
+}
+
+a.menuselector:active {
+    background: #dddddd;
+    background: -moz-linear-gradient(top, #dddddd 0%, #f8f8f8 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dddddd), color-stop(100%,#f8f8f8));
+    background: -o-linear-gradient(top, #dddddd 0%, #f8f8f8 100%);
+    background: -ms-linear-gradient(top, #dddddd 0%, #f8f8f8 100%);
+    background: linear-gradient(top, #dddddd 0%, #f8f8f8 100%);
+    text-decoration: none;
+}
+
+select.decorated {
+    position: relative;
+    z-index: 10;
+    opacity: 0;
+    height: 22px;
+    cursor: pointer;
+    filter: alpha(opacity=0);
+    -khtml-appearance: none;
+    -webkit-appearance: none;
+}
+
+html.opera select.decorated {
+    opacity: 1;
+}
+
+select.decorated option {
+    color: #fff;
+    background: #444;
+    border: 0;
+    border-top: 1px solid #5a5a5a;
+    border-bottom: 1px solid #333;
+    text-shadow: 0px 1px 1px #333;
+    padding: 4px 6px;
+    outline: none;
+}
+
+
+/*** quota indicator ***/
+
+#quotadisplay {
+    left: 6px;
+    font-size: 12px;
+    font-weight: bold;
+    text-shadow: 0px 1px 1px #fff;
+    padding-left: 30px;
+    height: 18px;
+    background: url(images/quota.png) -100px 0 no-repeat;
+}
+
+/*** popup menus ***/
+
+.popupmenu,
+#rcmKSearchpane {
+    display: none;
+    position: absolute;
+    top: 32px;
+    left: 90px;
+    width: auto;
+    background: #444;
+    border: 1px solid #999;
+    z-index: 240;
+    border-radius: 4px;
+    box-shadow: 0 2px 6px 0 #333;
+    -moz-box-shadow: 0 2px 6px 0 #333;
+    -webkit-box-shadow: 0 2px 6px 0 #333;
+    -o-box-shadow: 0 2px 6px 0 #333;
+}
+
+.popupmenu.dropdown {
+    border-radius: 0 0 4px 4px;
+    border-top: 0;
+}
+
+ul.toolbarmenu,
+#rcmKSearchpane ul {
+    margin: 0;
+    padding: 0;
+    list-style: none;
+}
+
+.googie_list td,
+ul.toolbarmenu li,
+#rcmKSearchpane ul li {
+    color: #fff;
+    white-space: nowrap;
+    min-width: 130px;
+    margin: 0;
+    border-top: 1px solid #5a5a5a;
+    border-bottom: 1px solid #333;
+}
+
+.googie_list tr:first-child td,
+ul.toolbarmenu li:first-child,
+select.decorated option:first-child {
+    border-top: 0;
+}
+
+.googie_list tr:last-child td,
+ul.toolbarmenu li:last-child,
+select.decorated option:last-child {
+    border-bottom: 0;
+}
+
+.googie_list td span,
+ul.toolbarmenu li a {
+    display: block;
+    color: #666;
+    text-shadow: 0px 1px 1px #333;
+    text-decoration: none;
+    min-height: 14px;
+    padding: 6px 10px 6px 10px;
+}
+
+.googie_list td span {
+    padding: 3px 10px;
+}
+
+.googie_list td span,
+ul.toolbarmenu li a.active {
+    color: #fff;
+    cursor: default;
+}
+
+.googie_list td.googie_list_onhover,
+ul.toolbarmenu li a.active:hover,
+#rcmKSearchpane ul li.selected,
+select.decorated option:hover,
+select.decorated option[selected='selected'] {
+    background-color: #00aad6;
+    background: -moz-linear-gradient(top, #00aad6 0%, #008fc9 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#00aad6), color-stop(100%,#008fc9));
+    background: -o-linear-gradient(top, #00aad6 0%, #008fc9 100%);
+    background: -ms-linear-gradient(top, #00aad6 0%, #008fc9 100%);
+    background: linear-gradient(top, #00aad6 0%, #008fc9 100%);
+}
+
+ul.toolbarmenu.iconized li a,
+ul.toolbarmenu.selectable li a {
+    padding-left: 30px;
+}
+
+ul.toolbarmenu.selectable li a.selected {
+    background: url(images/messages.png) 4px -27px no-repeat;
+}
+
+ul.toolbarmenu li label {
+    display: block;
+    color: #fff;
+    padding: 4px 8px;
+    text-shadow: 0px 1px 1px #333;
+}
+
+ul.toolbarmenu li a.icon {
+    color: #eee;
+    padding: 2px 6px;
+}
+
+ul.toolbarmenu li span.icon {
+    display: block;
+    min-height: 14px;
+    padding: 4px 4px 1px 24px;
+    height: 17px;
+    background-image: url(images/listicons.png);
+    background-position: -100px 0;
+    background-repeat: no-repeat;
+    opacity: 0.2;
+    filter: alpha(opacity=20);
+}
+
+ul.toolbarmenu li a.active span.icon {
+    opacity: 0.99;
+    filter: alpha(opacity=100);
+}
+
+ul.toolbarmenu li span.read {
+    background-position: 0 -1220px;
+}
+
+ul.toolbarmenu li span.unread {
+    background-position: 0 -1196px;
+}
+
+ul.toolbarmenu li span.flagged {
+    background-position: 0 -1244px;
+}
+
+ul.toolbarmenu li span.unflagged {
+    background-position: 0 -1268px;
+}
+
+ul.toolbarmenu li span.mail {
+    background-position: 0 -1293px;
+}
+
+ul.toolbarmenu li span.list {
+    background-position: 0 -1317px;
+}
+
+ul.toolbarmenu li span.invert {
+    background-position: 0 -1340px;
+}
+
+ul.toolbarmenu li span.cross {
+    background-position: 0 -1365px;
+}
+
+ul.toolbarmenu li span.print {
+    background-position: 0 -1436px;
+}
+
+ul.toolbarmenu li span.download {
+    background-position: 0 -1412px;
+}
+
+ul.toolbarmenu li span.edit {
+    background-position: 0 -1388px;
+}
+
+ul.toolbarmenu li span.viewsource {
+    background-position: 0 -1460px;
+}
+
+ul.toolbarmenu li span.extwin {
+    background-position: 0 -1484px;
+}
+
+ul.toolbarmenu li span.conversation {
+    background-position: 0 -1532px;
+}
+
+#rcmKSearchpane {
+    border-radius: 0 0 4px 4px;
+    border-top: 0;
+}
+
+#rcmKSearchpane ul li {
+    text-shadow: 0px 1px 1px #333;
+    text-decoration: none;
+    min-height: 14px;
+    padding: 6px 10px 6px 10px;
+    border: 0;
+    cursor: default;
+}
+
+.popupdialog {
+    display: none;
+    padding: 10px;
+}
+
+.popupdialog .formbuttons {
+    margin: 20px 0 4px 0;
+}
+
+.ui-dialog .prompt input {
+    display: block;
+    margin: 8px 0;
+}
+
+.hint {
+    margin: 4px 0;
+    color: #999;
+    text-shadow: 0px 1px 1px #fff;
+}
+
+.splitter {
+    user-select: none;
+    -moz-user-select: none;
+    -khtml-user-select: none;
+    position: absolute;
+    background: url(images/splitter.png) center no-repeat;
+}
+
+.splitter-h {
+    height: 10px;
+    width: 100%;
+    cursor: n-resize;
+    cursor: row-resize;
+    background-position: center 0;
+}
+
+.splitter-v {
+    width: 10px;
+    height: 100%;
+    cursor: e-resize;
+    cursor: col-resize;
+    background-position: 0 center;
+}
+
+#rcmdraglayer {
+    min-width: 260px;
+    width: auto !important;
+    width: 260px;
+    padding: 6px 8px;
+    background: #444;
+    border: 1px solid #555;
+    border-radius: 4px;
+    box-shadow: 0 2px 6px 0 #333;
+    -moz-box-shadow: 0 2px 6px 0 #333;
+    -webkit-box-shadow: 0 2px 6px 0 #333;
+    -o-box-shadow: 0 2px 6px 0 #333;
+    z-index: 250;
+    color: #ccc;
+    white-space: nowrap;
+    opacity: 0.92;
+    filter: alpha(opacity=92);
+    text-shadow: 0px 1px 1px #333;
+}
+
+#rcmdraglayer:after {
+    content: "";
+    position: absolute;
+    top: 6px;
+    left: -6px;
+    border-style: solid;
+    border-width: 6px 6px 6px 0;
+    border-color: transparent #444;
+    /* reduce the damage in FF3.0 */
+    display: block; 
+    width: 0;
+    z-index: 251;
+}
+
+.draglayercopy:before {
+    position: absolute;
+    bottom: -6px;
+    left: -6px;
+    content: " ";
+    width: 16px;
+    height: 16px;
+    background: url(images/buttons.png) -7px -358px no-repeat;
+    z-index: 255;
+}
+
+
+/*** attachment list ***/
+
+.attachmentslist {
+    list-style: none;
+    margin: 0;
+    padding: 0;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+.attachmentslist li {
+    display: block;
+    position: relative;
+    background: url(images/filetypes.png) 0 0 no-repeat;
+    margin-bottom: 1px;
+}
+
+.attachmentslist li.pdf {
+    background-position: 0 -26px;
+}
+
+.attachmentslist li.doc,
+.attachmentslist li.docx,
+.attachmentslist li.msword {
+    background-position: 0 -52px;
+}
+
+.attachmentslist li.odt {
+    background-position: 0 -78px;
+}
+
+.attachmentslist li.xls,
+.attachmentslist li.xlsx,
+.attachmentslist li.msexcel {
+    background-position: 0 -104px;
+}
+
+.attachmentslist li.ods {
+    background-position: 0 -130px;
+}
+
+.attachmentslist li.zip,
+.attachmentslist li.gz {
+    background-position: 0 -156px;
+}
+
+.attachmentslist li.rar {
+    background-position: 0 -182px;
+}
+
+.attachmentslist li.image {
+    background-position: 0 -208px;
+}
+
+.attachmentslist li.jpg,
+.attachmentslist li.jpeg {
+    background-position: 0 -234px;
+}
+
+.attachmentslist li.png {
+    background-position: 0 -260px;
+}
+
+.attachmentslist li.m4p {
+    background-position: 0 -286px;
+}
+
+.attachmentslist li.mp3,
+.attachmentslist li.audio {
+    background-position: 0 -312px;
+}
+
+.attachmentslist li.video {
+    background-position: 0 -338px;
+}
+
+.attachmentslist li.txt,
+.attachmentslist li.text {
+    background-position: 0 -416px;
+}
+
+.attachmentslist li.ics,
+.attachmentslist li.calendar {
+    background-position: 0 -364px;
+}
+
+.attachmentslist li.vcard {
+    background-position: 0 -390px;
+}
+
+.attachmentslist li.html {
+    background-position: 0 -442px;
+}
+
+.attachmentslist li a,
+#compose-attachments ul li {
+    display: block;
+    color: #333;
+    font-weight: bold;
+    padding: 8px 4px 3px 30px;
+    text-shadow: 0px 1px 1px #fff;
+    text-decoration: none;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+#compose-attachments ul li {
+    padding-right: 28px;
+}
+
+.attachmentslist li a:hover {
+    text-decoration: underline;
+}
+
+.attachmentslist li.uploading {
+    background: url(images/ajaxloader.gif) 2px 6px no-repeat;
+}
+
+.attachmentslist li a.delete,
+.attachmentslist li a.cancelupload {
+    position: absolute;
+    top: 6px;
+    right: 0;
+    width: 24px;
+    height: 18px;
+    padding: 0;
+    text-decoration: none;
+    text-indent: -5000px;
+    background: url(images/buttons.png) -7px -337px no-repeat;
+}
+
+.attachmentslist li a.cancelupload {
+    background-position: -7px -377px;
+}
+
+
+/*** fieldset tabs ***/
+
+.tabsbar {
+    margin-bottom: 12px;
+    padding-top: 15px;
+    height: 27px;
+    white-space: nowrap;
+}
+
+.tabsbar .tablink {
+    padding: 15px 1px 15px 0;
+    background: #f8f8f8;
+    background: -moz-linear-gradient(top, #f8f8f8 0%, #d3d3d3 50%, #f8f8f8 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(50%,#d3d3d3), color-stop(100%,#f8f8f8));
+    background: -webkit-linear-gradient(top, #f8f8f8 0%, #d3d3d3 50%, #f8f8f8 100%);
+    background: -o-linear-gradient(top, #f8f8f8 0%, #d3d3d3 50%, #f8f8f8 100%);
+    background: -ms-linear-gradient(top, #f8f8f8 0%, #d3d3d3 50%, #f8f8f8 100%);
+    background: linear-gradient(top, #f8f8f8 0%, #d3d3d3 50%, #f8f8f8 100%);
+}
+
+.tabsbar .tablink:last-child {
+    background: none;
+}
+
+.tabsbar .tablink:last-child a {
+    border-right: 0;
+}
+
+.tabsbar .tablink a {
+    padding: 15px;
+    color: #999;
+    font-size: 12px;
+    font-weight: bold;
+    text-decoration: none;
+    background: #fff;
+    border-right: 1px solid #fafafa;
+}
+
+.tabsbar .tablink.selected a {
+    color: #004458;
+    background: #f6f6f6;
+    background: -moz-linear-gradient(top, #fff 40%, #efefef 100%);
+    background: -webkit-gradient(linear, left top, left bottom, color-stop(40%,#fff), color-stop(100%,#efefef));
+    background: -o-linear-gradient(top, #fff 40%, #efefef 100%);
+    background: -ms-linear-gradient(top, #fff 40%, #efefef 100%);
+    background: linear-gradient(top, #fff 40%, #efefef 100%);
+}
+
+fieldset.tab {
+    border: 0;
+    padding: 0;
+    margin-left: 0;
+>>>>>>> refactoring theme 1 - login page
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org